Fix bug from r5476 re CS5536 device search during GeodeLX PCI domain enable

cs5536.c:chipsetinit() is called during northbridge pci_domain_enable()
which happens before scan_bus() so the device tree does not have PCI
vendor/device ids yet. Let's use dev_find_slot() for now. This works
only as long as the CS5536 has PCI device id 0xf in all mainboards,
and a better solution is needed in case that ever changes!

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Nathan Williams <nathan@traverse.com.au>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5581 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Peter Stuge 2010-05-23 04:50:41 +00:00
parent 78c733c2b7
commit ae3f4b5725
1 changed files with 1 additions and 2 deletions

View File

@ -530,8 +530,7 @@ void chipsetinit(void)
struct southbridge_amd_cs5536_config *sb; struct southbridge_amd_cs5536_config *sb;
struct msrinit *csi; struct msrinit *csi;
dev = dev_find_device(PCI_VENDOR_ID_AMD, dev = dev_find_slot(0, PCI_DEVFN(0xf, 0));
PCI_DEVICE_ID_AMD_CS5536_ISA, 0);
if (!dev) { if (!dev) {
printk(BIOS_ERR, "CS5536 not found.\n"); printk(BIOS_ERR, "CS5536 not found.\n");