diff options
author | Myles Watson <mylesgw@gmail.com> | 2010-06-17 16:16:56 +0000 |
---|---|---|
committer | Myles Watson <mylesgw@gmail.com> | 2010-06-17 16:16:56 +0000 |
commit | 7eac4450b32f6961d5abd8dae32c5eefc1a07c11 (patch) | |
tree | 455e0181fea42d7c6bab09878ef35dc666789977 /src/northbridge | |
parent | e10757ed525cdd1a5263b9d79e284310c999c0f7 (diff) |
Always enable parent resources before child resources.
Always initialize parents before children.
Move s2881 code into a driver.
Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5633 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/northbridge')
24 files changed, 45 insertions, 69 deletions
diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c index 253a209965..d8d1aa234f 100644 --- a/src/northbridge/amd/amdfam10/northbridge.c +++ b/src/northbridge/amd/amdfam10/northbridge.c @@ -604,12 +604,6 @@ static void amdfam10_set_resources(device_t dev) } } -static void amdfam10_enable_resources(device_t dev) -{ - pci_dev_enable_resources(dev); - enable_childrens_resources(dev); -} - static void mcf0_control_init(struct device *dev) { } @@ -617,7 +611,7 @@ static void mcf0_control_init(struct device *dev) static struct device_operations northbridge_operations = { .read_resources = amdfam10_read_resources, .set_resources = amdfam10_set_resources, - .enable_resources = amdfam10_enable_resources, + .enable_resources = pci_dev_enable_resources, .init = mcf0_control_init, .scan_bus = amdfam10_scan_chains, .enable = 0, @@ -1145,8 +1139,8 @@ static u32 amdfam10_domain_scan_bus(device_t dev, u32 max) static struct device_operations pci_domain_ops = { .read_resources = amdfam10_domain_read_resources, .set_resources = amdfam10_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = amdfam10_domain_scan_bus, #if CONFIG_MMCONF_SUPPORT_DEFAULT .ops_pci_bus = &pci_ops_mmconf, diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c index 227a02edf0..9047d6084d 100644 --- a/src/northbridge/amd/amdk8/northbridge.c +++ b/src/northbridge/amd/amdk8/northbridge.c @@ -574,12 +574,6 @@ static void amdk8_set_resources(device_t dev) } } -static void amdk8_enable_resources(device_t dev) -{ - pci_dev_enable_resources(dev); - enable_childrens_resources(dev); -} - static void mcf0_control_init(struct device *dev) { #if 0 @@ -593,7 +587,7 @@ static void mcf0_control_init(struct device *dev) static struct device_operations northbridge_operations = { .read_resources = amdk8_read_resources, .set_resources = amdk8_set_resources, - .enable_resources = amdk8_enable_resources, + .enable_resources = pci_dev_enable_resources, .init = mcf0_control_init, .scan_bus = amdk8_scan_chains, .enable = 0, @@ -1119,8 +1113,8 @@ static u32 amdk8_domain_scan_bus(device_t dev, u32 max) static struct device_operations pci_domain_ops = { .read_resources = amdk8_domain_read_resources, .set_resources = amdk8_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = amdk8_domain_scan_bus, .ops_pci_bus = &pci_cf8_conf1, }; diff --git a/src/northbridge/amd/gx1/northbridge.c b/src/northbridge/amd/gx1/northbridge.c index 8b60345b0d..99695521a3 100644 --- a/src/northbridge/amd/gx1/northbridge.c +++ b/src/northbridge/amd/gx1/northbridge.c @@ -169,8 +169,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/amd/gx2/northbridge.c b/src/northbridge/amd/gx2/northbridge.c index 4846ac328f..3ca24a6390 100644 --- a/src/northbridge/amd/gx2/northbridge.c +++ b/src/northbridge/amd/gx2/northbridge.c @@ -448,8 +448,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/amd/lx/northbridge.c b/src/northbridge/amd/lx/northbridge.c index 5202de21e8..6eedfddbe4 100644 --- a/src/northbridge/amd/lx/northbridge.c +++ b/src/northbridge/amd/lx/northbridge.c @@ -441,7 +441,7 @@ static void pci_domain_enable(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, + .enable_resources = NULL, .scan_bus = pci_domain_scan_bus, .enable = pci_domain_enable, }; diff --git a/src/northbridge/intel/e7501/northbridge.c b/src/northbridge/intel/e7501/northbridge.c index 5db56dc482..545ceba1dc 100644 --- a/src/northbridge/intel/e7501/northbridge.c +++ b/src/northbridge/intel/e7501/northbridge.c @@ -141,8 +141,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, .ops_pci_bus = &pci_cf8_conf1, }; diff --git a/src/northbridge/intel/e7520/northbridge.c b/src/northbridge/intel/e7520/northbridge.c index c0580bbe3e..a35f7f1ad0 100644 --- a/src/northbridge/intel/e7520/northbridge.c +++ b/src/northbridge/intel/e7520/northbridge.c @@ -163,8 +163,8 @@ static u32 e7520_domain_scan_bus(device_t dev, u32 max) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = e7520_domain_scan_bus, .ops_pci_bus = &pci_cf8_conf1, /* Do we want to use the memory mapped space here? */ }; diff --git a/src/northbridge/intel/e7525/northbridge.c b/src/northbridge/intel/e7525/northbridge.c index 2af6c25ae8..bccd023b8b 100644 --- a/src/northbridge/intel/e7525/northbridge.c +++ b/src/northbridge/intel/e7525/northbridge.c @@ -163,8 +163,8 @@ static u32 e7525_domain_scan_bus(device_t dev, u32 max) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = e7525_domain_scan_bus, .ops_pci_bus = &pci_cf8_conf1, /* Do we want to use the memory mapped space here? */ }; diff --git a/src/northbridge/intel/i3100/northbridge.c b/src/northbridge/intel/i3100/northbridge.c index 482e6006a5..154b124cd6 100644 --- a/src/northbridge/intel/i3100/northbridge.c +++ b/src/northbridge/intel/i3100/northbridge.c @@ -184,8 +184,8 @@ static u32 i3100_domain_scan_bus(device_t dev, u32 max) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = i3100_domain_scan_bus, .ops_pci_bus = &pci_cf8_conf1, /* Do we want to use the memory mapped space here? */ }; diff --git a/src/northbridge/intel/i3100/pciexp_porta_ep80579.c b/src/northbridge/intel/i3100/pciexp_porta_ep80579.c index a17cb0b3f2..3f84d8f147 100644 --- a/src/northbridge/intel/i3100/pciexp_porta_ep80579.c +++ b/src/northbridge/intel/i3100/pciexp_porta_ep80579.c @@ -64,7 +64,6 @@ static void pcie_bus_enable_resources(struct device *dev) dev->command |= PCI_COMMAND_MEMORY; } pci_dev_enable_resources(dev); - enable_childrens_resources(dev); } diff --git a/src/northbridge/intel/i440bx/northbridge.c b/src/northbridge/intel/i440bx/northbridge.c index c5f09344bc..55b606ee10 100644 --- a/src/northbridge/intel/i440bx/northbridge.c +++ b/src/northbridge/intel/i440bx/northbridge.c @@ -124,8 +124,8 @@ static void i440bx_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = i440bx_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/intel/i440lx/northbridge.c b/src/northbridge/intel/i440lx/northbridge.c index 7c41e59c19..8342778bab 100644 --- a/src/northbridge/intel/i440lx/northbridge.c +++ b/src/northbridge/intel/i440lx/northbridge.c @@ -152,8 +152,8 @@ static void i440lx_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = i440lx_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/intel/i82810/northbridge.c b/src/northbridge/intel/i82810/northbridge.c index 612d6c0907..4961366731 100644 --- a/src/northbridge/intel/i82810/northbridge.c +++ b/src/northbridge/intel/i82810/northbridge.c @@ -184,8 +184,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/intel/i82830/northbridge.c b/src/northbridge/intel/i82830/northbridge.c index a1a389388d..572c6e88a8 100644 --- a/src/northbridge/intel/i82830/northbridge.c +++ b/src/northbridge/intel/i82830/northbridge.c @@ -164,8 +164,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/intel/i855/northbridge.c b/src/northbridge/intel/i855/northbridge.c index 0438d09d93..77d1564672 100644 --- a/src/northbridge/intel/i855/northbridge.c +++ b/src/northbridge/intel/i855/northbridge.c @@ -140,8 +140,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/intel/i945/northbridge.c b/src/northbridge/intel/i945/northbridge.c index 81b61bda59..0f5a502b69 100644 --- a/src/northbridge/intel/i945/northbridge.c +++ b/src/northbridge/intel/i945/northbridge.c @@ -224,8 +224,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, #if CONFIG_MMCONF_SUPPORT_DEFAULT .ops_pci_bus = &pci_ops_mmconf, diff --git a/src/northbridge/via/cn400/northbridge.c b/src/northbridge/via/cn400/northbridge.c index 2974d23da7..2fc67c925f 100644 --- a/src/northbridge/via/cn400/northbridge.c +++ b/src/northbridge/via/cn400/northbridge.c @@ -283,8 +283,8 @@ static unsigned int cn400_domain_scan_bus(device_t dev, unsigned int max) static struct device_operations pci_domain_ops = { .read_resources = cn400_domain_read_resources, .set_resources = cn400_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = cn400_domain_scan_bus, }; diff --git a/src/northbridge/via/cn700/northbridge.c b/src/northbridge/via/cn700/northbridge.c index b122a5e2fe..6afd760f83 100644 --- a/src/northbridge/via/cn700/northbridge.c +++ b/src/northbridge/via/cn700/northbridge.c @@ -205,8 +205,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/via/cx700/cx700_lpc.c b/src/northbridge/via/cx700/cx700_lpc.c index 02beb86283..f0fc86cd82 100644 --- a/src/northbridge/via/cx700/cx700_lpc.c +++ b/src/northbridge/via/cx700/cx700_lpc.c @@ -270,7 +270,6 @@ static void cx700_enable_resources(device_t dev) { /* Enable SuperIO decoding */ pci_dev_enable_resources(dev); - enable_childrens_resources(dev); } static void cx700_lpc_init(struct device *dev) diff --git a/src/northbridge/via/cx700/northbridge.c b/src/northbridge/via/cx700/northbridge.c index 3f5ed28120..1c2c04cf23 100644 --- a/src/northbridge/via/cx700/northbridge.c +++ b/src/northbridge/via/cx700/northbridge.c @@ -134,8 +134,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/via/vt8601/northbridge.c b/src/northbridge/via/vt8601/northbridge.c index 1f15b7026e..834a57df25 100644 --- a/src/northbridge/via/vt8601/northbridge.c +++ b/src/northbridge/via/vt8601/northbridge.c @@ -146,8 +146,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/via/vt8623/northbridge.c b/src/northbridge/via/vt8623/northbridge.c index d7fff335fe..86999cff6c 100644 --- a/src/northbridge/via/vt8623/northbridge.c +++ b/src/northbridge/via/vt8623/northbridge.c @@ -207,8 +207,8 @@ static void pci_domain_set_resources(device_t dev) static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/via/vx800/northbridge.c b/src/northbridge/via/vx800/northbridge.c index ec978e878b..93fa1f2160 100644 --- a/src/northbridge/via/vx800/northbridge.c +++ b/src/northbridge/via/vx800/northbridge.c @@ -181,8 +181,8 @@ if register with invalid value we set frame buffer size to 32M for default, but static struct device_operations pci_domain_ops = { .read_resources = pci_domain_read_resources, .set_resources = pci_domain_set_resources, - .enable_resources = enable_childrens_resources, - .init = 0, + .enable_resources = NULL, + .init = NULL, .scan_bus = pci_domain_scan_bus, }; diff --git a/src/northbridge/via/vx800/vx800_lpc.c b/src/northbridge/via/vx800/vx800_lpc.c index 4996e57c68..b9941d1270 100644 --- a/src/northbridge/via/vx800/vx800_lpc.c +++ b/src/northbridge/via/vx800/vx800_lpc.c @@ -322,16 +322,6 @@ static void vx800_set_resources(device_t dev) pci_dev_set_resources(dev); } -static void vx800_enable_resources(device_t dev) -{ - /* vx800 is not a pci bridge and has no resources of its own (other than - standard PC i/o addresses). however it does control the isa bus and so - we need to manually call enable childrens resources on that bus */ - /* TODO: do we even care about ISA? If so, for what? SuperIO on LPC bus */ - pci_dev_enable_resources(dev); - enable_childrens_resources(dev); -} - static void southbridge_init(struct device *dev) { printk(BIOS_DEBUG, "vx800 sb init\n"); @@ -375,8 +365,8 @@ static void southbridge_init(struct device *dev) static struct device_operations vx800_lpc_ops = { .read_resources = vx800_read_resources, .set_resources = vx800_set_resources, - .enable_resources = vx800_enable_resources, - .init = &southbridge_init, + .enable_resources = pci_dev_enable_resources, + .init = southbridge_init, .scan_bus = scan_static_bus, }; |