summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-25 13:05:46 +0300
committerPatrick Georgi <pgeorgi@google.com>2019-10-04 16:29:31 +0000
commit08c76e1f7d08ec9ef6481c725dc26fba4441e766 (patch)
tree6d131fe8469bc260fb7538279d8d944c8f6294dc
parentf2e1d0ae9a5f0a96c0a9029c9fd93020216bfe66 (diff)
devicetree: Fix improper use of chip_operations
Auto-discoverable PCI devices do not require field .enable_dev of chip_operations to be set. They are matched with PCI drivers by the use of PCI vendor and device ID fields. The name given for the chip_operations struct must match the pathname the way it is present in the devicetree.cb files. If there was no match, util/sconfig would currently choose to use the empty weak declaration it creates in static.c file. Change-Id: I684a087a1f8ee4e1a5fd83450cd371fcfdbb6847 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/35096 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
-rw-r--r--src/drivers/generic/bayhub/bh720.c8
-rw-r--r--src/drivers/ricoh/rce822/rce822.c4
-rw-r--r--src/soc/cavium/common/pci/uart.c4
-rw-r--r--src/southbridge/intel/i82870/pcibridge.c4
-rw-r--r--src/southbridge/ti/pci7420/cardbus.c6
-rw-r--r--src/southbridge/ti/pci7420/firewire.c10
6 files changed, 13 insertions, 23 deletions
diff --git a/src/drivers/generic/bayhub/bh720.c b/src/drivers/generic/bayhub/bh720.c
index 09fa578e86..b365132f06 100644
--- a/src/drivers/generic/bayhub/bh720.c
+++ b/src/drivers/generic/bayhub/bh720.c
@@ -82,12 +82,6 @@ static const struct pci_driver bayhub_bh720 __pci_driver = {
.devices = pci_device_ids,
};
-static void bh720_enable(struct device *dev)
-{
- dev->ops = &bh720_ops;
-}
-
-struct chip_operations bayhub_bh720_ops = {
+struct chip_operations drivers_generic_bayhub_ops = {
CHIP_NAME("BayHub Technology BH720 PCI to eMMC 5.0 HS200 bridge")
- .enable_dev = bh720_enable,
};
diff --git a/src/drivers/ricoh/rce822/rce822.c b/src/drivers/ricoh/rce822/rce822.c
index 72862f5174..485bdd05b9 100644
--- a/src/drivers/ricoh/rce822/rce822.c
+++ b/src/drivers/ricoh/rce822/rce822.c
@@ -71,3 +71,7 @@ static const struct pci_driver rce822 __pci_driver = {
.vendor = PCI_VENDOR_ID_RICOH,
.devices = pci_device_ids,
};
+
+struct chip_operations drivers_ricoh_rce822_ops = {
+ CHIP_NAME("RICOH RCE822")
+};
diff --git a/src/soc/cavium/common/pci/uart.c b/src/soc/cavium/common/pci/uart.c
index 6e41e1d3d6..ff002ea5ec 100644
--- a/src/soc/cavium/common/pci/uart.c
+++ b/src/soc/cavium/common/pci/uart.c
@@ -38,3 +38,7 @@ static const struct pci_driver soc_cavium_uart __pci_driver = {
.vendor = PCI_VENDOR_CAVIUM,
.device = PCI_DEVICE_ID_CAVIUM_THUNDERX_UART,
};
+
+struct chip_operations soc_cavium_common_pci_ops = {
+ CHIP_NAME("Cavium ThunderX UART")
+};
diff --git a/src/southbridge/intel/i82870/pcibridge.c b/src/southbridge/intel/i82870/pcibridge.c
index a375568b71..cb6ace8dab 100644
--- a/src/southbridge/intel/i82870/pcibridge.c
+++ b/src/southbridge/intel/i82870/pcibridge.c
@@ -47,3 +47,7 @@ static const struct pci_driver pcix_driver __pci_driver = {
.vendor = PCI_VENDOR_ID_INTEL,
.device = PCI_DEVICE_ID_INTEL_82870_1F0,
};
+
+struct chip_operations southbridge_intel_i82870_ops = {
+ CHIP_NAME("Intel 82870")
+};
diff --git a/src/southbridge/ti/pci7420/cardbus.c b/src/southbridge/ti/pci7420/cardbus.c
index 2c5679b931..44a38ea05c 100644
--- a/src/southbridge/ti/pci7420/cardbus.c
+++ b/src/southbridge/ti/pci7420/cardbus.c
@@ -111,12 +111,6 @@ static const struct pci_driver ti_pci7620_driver __pci_driver = {
.device = 0xac8d,
};
-static void ti_pci7420_enable_dev(struct device *dev)
-{
- /* Nothing here yet */
-}
-
struct chip_operations southbridge_ti_pci7420_ops = {
CHIP_NAME("Texas Instruments PCI7420/7620 Cardbus Controller")
- .enable_dev = ti_pci7420_enable_dev,
};
diff --git a/src/southbridge/ti/pci7420/firewire.c b/src/southbridge/ti/pci7420/firewire.c
index 4058540959..dac273a9e0 100644
--- a/src/southbridge/ti/pci7420/firewire.c
+++ b/src/southbridge/ti/pci7420/firewire.c
@@ -48,13 +48,3 @@ static const struct pci_driver ti_pci7420_driver __pci_driver = {
.vendor = 0x104c,
.device = 0x802e,
};
-
-static void ti_pci7420_firewire_enable_dev(struct device *dev)
-{
- /* Nothing here yet */
-}
-
-struct chip_operations southbridge_ti_pci7420_firewire_ops = {
- CHIP_NAME("Texas Instruments PCI7420/7620 FireWire (IEEE 1394)")
- .enable_dev = ti_pci7420_firewire_enable_dev,
-};