device: Use scan_static_bus() over scan_lpc_bus()
Devices behind LPC can expose more buses (e.g. I2C on a super-i/o). So we should scan buses on LPC devices, too. Change-Id: I0eb005e41b9168fffc344ee8e666d43b605a30ba Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/29474 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
		| @@ -56,15 +56,6 @@ void enable_static_devices(struct device *bus) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void scan_lpc_bus(struct device *bus) | ||||
| { | ||||
| 	printk(BIOS_SPEW, "%s for %s\n", __func__, dev_path(bus)); | ||||
|  | ||||
| 	enable_static_devices(bus); | ||||
|  | ||||
| 	printk(BIOS_SPEW, "%s for %s done\n", __func__, dev_path(bus)); | ||||
| } | ||||
|  | ||||
| void scan_generic_bus(struct device *bus) | ||||
| { | ||||
| 	struct device *child; | ||||
|   | ||||
| @@ -330,7 +330,6 @@ static inline DEVTREE_CONST void *config_of_soc(void) | ||||
| void enable_static_devices(struct device *bus); | ||||
| void scan_smbus(struct device *bus); | ||||
| void scan_generic_bus(struct device *bus); | ||||
| void scan_lpc_bus(struct device *bus); | ||||
| void scan_static_bus(struct device *bus); | ||||
|  | ||||
| #endif /* !defined(__ROMCC__) */ | ||||
|   | ||||
| @@ -235,7 +235,7 @@ static struct device_operations vx900_lpc_ops = { | ||||
| 	.set_resources = vx900_lpc_set_resources, | ||||
| 	.enable_resources = pci_dev_enable_resources, | ||||
| 	.init = vx900_lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| }; | ||||
|  | ||||
| static const struct pci_driver lpc_driver __pci_driver = { | ||||
|   | ||||
| @@ -132,7 +132,7 @@ static struct device_operations traf_ctrl_ops = { | ||||
| 	.init = vx900_traf_ctr_init, | ||||
| 	/* Need this here, or the IOAPIC driver won't be called. | ||||
| 	 * FIXME: Technically not a LPC bus. */ | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| }; | ||||
|  | ||||
| static const struct pci_driver traf_ctrl_driver __pci_driver = { | ||||
|   | ||||
| @@ -330,7 +330,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.acpi_inject_dsdt_generator = southbridge_inject_dsdt, | ||||
| 	.write_acpi_tables = southbridge_write_acpi_tables, | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -530,7 +530,7 @@ static struct device_operations device_ops = { | ||||
| 	.enable_resources	= NULL, | ||||
| 	.init			= sc_init, | ||||
| 	.enable			= southcluster_enable_dev, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &soc_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -598,7 +598,7 @@ static struct device_operations device_ops = { | ||||
| 	.write_acpi_tables	= southcluster_write_acpi_tables, | ||||
| 	.init			= sc_init, | ||||
| 	.enable			= southcluster_enable_dev, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &soc_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -634,7 +634,7 @@ static struct device_operations device_ops = { | ||||
| 	.acpi_inject_dsdt_generator = southcluster_inject_dsdt, | ||||
| 	.write_acpi_tables      = broadwell_write_acpi_tables, | ||||
| 	.init			= &lpc_init, | ||||
| 	.scan_bus		= &scan_lpc_bus, | ||||
| 	.scan_bus		= &scan_static_bus, | ||||
| 	.ops_pci		= &broadwell_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -115,7 +115,7 @@ static struct device_operations device_ops = { | ||||
| 	.write_acpi_tables		= southbridge_write_acpi_tables, | ||||
| 	.acpi_inject_dsdt_generator	= southbridge_inject_dsdt, | ||||
| 	.init				= lpc_soc_init, | ||||
| 	.scan_bus			= scan_lpc_bus, | ||||
| 	.scan_bus			= scan_static_bus, | ||||
| 	.ops_pci			= &pci_dev_ops_pci, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -119,7 +119,7 @@ static struct device_operations device_ops = { | ||||
| 	.enable_resources	= pci_dev_enable_resources, | ||||
| 	.init			= pmc_soc_init, | ||||
| 	.ops_pci		= &pci_dev_ops_pci, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| }; | ||||
|  | ||||
| static const unsigned short pci_device_ids[] = { | ||||
|   | ||||
| @@ -317,7 +317,7 @@ static struct device_operations device_ops = { | ||||
| 	.enable_resources = lpc_enable_resources, | ||||
| 	.init = lpc_init, | ||||
| 	.enable = southcluster_enable_dev, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &soc_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -605,7 +605,7 @@ static struct device_operations device_ops = { | ||||
| 	.enable_resources	= NULL, | ||||
| 	.init			= sc_init, | ||||
| 	.enable			= southcluster_enable_dev, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &soc_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -294,7 +294,7 @@ static struct device_operations device_ops = { | ||||
| 	.write_acpi_tables = southcluster_write_acpi_tables, | ||||
| 	.init             = sc_init, | ||||
| 	.enable           = southcluster_enable_dev, | ||||
| 	.scan_bus         = scan_lpc_bus, | ||||
| 	.scan_bus         = scan_static_bus, | ||||
| 	.ops_pci          = &soc_pci_ops, | ||||
| #if CONFIG(HAVE_ACPI_TABLES) | ||||
| 	.acpi_name        = lpc_acpi_name, | ||||
|   | ||||
| @@ -53,7 +53,7 @@ static struct device_operations device_ops = { | ||||
| 	.read_resources		= pmc_read_resources, | ||||
| 	.set_resources		= pci_dev_set_resources, | ||||
| 	.enable_resources	= pci_dev_enable_resources, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| }; | ||||
|  | ||||
| static const struct pci_driver pmc __pci_driver = { | ||||
|   | ||||
| @@ -347,7 +347,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| 	.acpi_name = lpc_acpi_name, | ||||
| }; | ||||
|   | ||||
| @@ -164,7 +164,7 @@ static struct device_operations lpc_ops  = { | ||||
| 	.write_acpi_tables      = acpi_write_hpet, | ||||
| 	.acpi_fill_ssdt_generator = southbridge_acpi_fill_ssdt_generator, | ||||
| #endif | ||||
| 	.scan_bus         = scan_lpc_bus, | ||||
| 	.scan_bus         = scan_static_bus, | ||||
| 	.enable           = amd8111_enable, | ||||
| 	.ops_pci          = &lops_pci, | ||||
| }; | ||||
|   | ||||
| @@ -167,7 +167,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| 	.acpi_name = lpc_acpi_name, | ||||
| }; | ||||
|   | ||||
| @@ -116,7 +116,7 @@ static struct device_operations lpc_ops = { | ||||
| #if CONFIG(HAVE_ACPI_TABLES) | ||||
| 	.write_acpi_tables = acpi_write_hpet, | ||||
| #endif | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -363,7 +363,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| 	.acpi_name = lpc_acpi_name, | ||||
| }; | ||||
|   | ||||
| @@ -282,7 +282,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.acpi_fill_ssdt_generator = southbridge_acpi_fill_ssdt_generator, | ||||
| #endif | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| }; | ||||
| static const struct pci_driver lpc_driver __pci_driver = { | ||||
|   | ||||
| @@ -251,7 +251,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables      = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init = lpc_init, | ||||
| 	.scan_bus = scan_lpc_bus, | ||||
| 	.scan_bus = scan_static_bus, | ||||
| 	.ops_pci = &lops_pci, | ||||
| }; | ||||
| static const struct pci_driver lpc_driver __pci_driver = { | ||||
|   | ||||
| @@ -124,7 +124,7 @@ static struct device_operations lpc_ops  = { | ||||
| 	.set_resources    = pci_dev_set_resources, | ||||
| 	.enable_resources = bcm5785_lpc_enable_resources, | ||||
| 	.init             = lpc_init, | ||||
| 	.scan_bus         = scan_lpc_bus, | ||||
| 	.scan_bus         = scan_static_bus, | ||||
| //	.enable           = bcm5785_enable, | ||||
| 	.ops_pci          = &lops_pci, | ||||
| }; | ||||
|   | ||||
| @@ -918,7 +918,7 @@ static struct device_operations device_ops = { | ||||
| 	.init			= lpc_init, | ||||
| 	.final			= lpc_final, | ||||
| 	.enable			= pch_lpc_enable, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -446,7 +446,7 @@ static struct device_operations device_ops = { | ||||
| 	.write_acpi_tables      = acpi_write_hpet, | ||||
| 	.acpi_inject_dsdt_generator = southbridge_inject_dsdt, | ||||
| 	.enable			= soc_lpc_enable, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -142,7 +142,7 @@ static const struct device_operations isa_ops = { | ||||
| 	.acpi_fill_ssdt_generator = southbridge_acpi_fill_ssdt_generator, | ||||
| #endif | ||||
| 	.init			= isa_init, | ||||
| 	.scan_bus		= scan_lpc_bus,	/* TODO: Needed? */ | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.enable			= 0, | ||||
| 	.ops_pci		= 0, /* No subsystem IDs on 82371EB! */ | ||||
| }; | ||||
|   | ||||
| @@ -339,7 +339,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.set_resources		= pci_dev_set_resources, | ||||
| 	.enable_resources	= pci_dev_enable_resources, | ||||
| 	.init			= lpc_init, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.enable			= i82801dx_enable, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -695,7 +695,7 @@ static struct device_operations device_ops = { | ||||
| 	.acpi_fill_ssdt_generator = southbridge_fill_ssdt, | ||||
| 	.acpi_name		= lpc_acpi_name, | ||||
| 	.init			= lpc_init, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.enable			= i82801gx_enable, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| 	.final			= lpc_final, | ||||
|   | ||||
| @@ -543,7 +543,7 @@ static struct device_operations device_ops = { | ||||
| 	.acpi_fill_ssdt_generator = southbridge_fill_ssdt, | ||||
| 	.acpi_name		= lpc_acpi_name, | ||||
| 	.init			= lpc_init, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -701,7 +701,7 @@ static struct device_operations device_ops = { | ||||
| 	.acpi_fill_ssdt_generator = southbridge_fill_ssdt, | ||||
| 	.acpi_name		= lpc_acpi_name, | ||||
| 	.init			= lpc_init, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -784,7 +784,7 @@ static struct device_operations device_ops = { | ||||
| 	.init			= lpc_init, | ||||
| 	.final			= lpc_final, | ||||
| 	.enable			= pch_lpc_enable, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -981,7 +981,7 @@ static struct device_operations device_ops = { | ||||
| 	.init			= lpc_init, | ||||
| 	.final			= lpc_final, | ||||
| 	.enable			= pch_lpc_enable, | ||||
| 	.scan_bus		= scan_lpc_bus, | ||||
| 	.scan_bus		= scan_static_bus, | ||||
| 	.ops_pci		= &pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -314,7 +314,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables      = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init             = lpc_init, | ||||
| 	.scan_bus         = scan_lpc_bus, | ||||
| 	.scan_bus         = scan_static_bus, | ||||
| 	.ops_pci          = &ck804_pci_ops, | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -247,7 +247,7 @@ static struct device_operations lpc_ops = { | ||||
| 	.write_acpi_tables = acpi_write_hpet, | ||||
| #endif | ||||
| 	.init             = lpc_init, | ||||
| 	.scan_bus         = scan_lpc_bus, | ||||
| 	.scan_bus         = scan_static_bus, | ||||
| 	.ops_pci          = &mcp55_pci_ops, | ||||
| }; | ||||
| static const unsigned short lpc_ids[] = { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user