sb/intel/bd82x6x: assign PCH SMBus controller ops in chipset devicetree

Since the SMBus controller in the PCH is always on the same device
function, the device operations can be statically assigned in the
devicetree and there's no need to bind the SMBus device operations to
the PCI device during runtime via a list of PCI IDs.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I3d3745ba5aefa30efbe705155d216aa7eadd26a7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79168
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held 2023-11-18 17:48:40 +01:00
parent e8f62d1355
commit 1bb327f216
2 changed files with 2 additions and 10 deletions

View File

@ -39,7 +39,7 @@ chip northbridge/intel/sandybridge
device pci 1e.0 alias pci_bridge off end # PCI bridge device pci 1e.0 alias pci_bridge off end # PCI bridge
device pci 1f.0 alias lpc on ops bd82x6x_lpc_bridge_ops end device pci 1f.0 alias lpc on ops bd82x6x_lpc_bridge_ops end
device pci 1f.2 alias sata1 off end # SATA Controller 1 device pci 1f.2 alias sata1 off end # SATA Controller 1
device pci 1f.3 alias smbus on end # SMBus device pci 1f.3 alias smbus on ops bd82x6x_smbus_ops end
device pci 1f.5 alias sata2 off end # SATA Controller 2 device pci 1f.5 alias sata2 off end # SATA Controller 2
device pci 1f.6 alias thermal off end # Thermal device pci 1f.6 alias thermal off end # Thermal
end end

View File

@ -28,7 +28,7 @@ static const char *smbus_acpi_name(const struct device *dev)
return "SBUS"; return "SBUS";
} }
static struct device_operations smbus_ops = { struct device_operations bd82x6x_smbus_ops = {
.read_resources = smbus_read_resources, .read_resources = smbus_read_resources,
.set_resources = pci_dev_set_resources, .set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources, .enable_resources = pci_dev_enable_resources,
@ -38,11 +38,3 @@ static struct device_operations smbus_ops = {
.ops_pci = &pci_dev_ops_pci, .ops_pci = &pci_dev_ops_pci,
.acpi_name = smbus_acpi_name, .acpi_name = smbus_acpi_name,
}; };
static const unsigned short pci_device_ids[] = { 0x1c22, 0x1e22, 0 };
static const struct pci_driver pch_smbus __pci_driver = {
.ops = &smbus_ops,
.vendor = PCI_VID_INTEL,
.devices = pci_device_ids,
};