It should config.g bug, there is some un consistent.
For dev33 and it sibling
should be .bus = &_dev4.link[2],
instead of
.bus = &_dev4.link[0],
struct device _dev4 = {
.ops = 0,
.bus = &_dev3.link[0],
.path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn =
PCI_DEVFN(0x18,0)}}},
.enabled = 1,
.link = {
[0] = {
.link = 0,
.dev = &_dev4,
.children = &_dev6,
},
[1] = {
.link = 1,
.dev = &_dev4,
},
[2] = {
.link = 2,
.dev = &_dev4,
.children = &_dev33,
},
},
.links = 3,
.sibling = &_dev37,
.chip_ops = &northbridge_amd_amdk8_ops,
.chip_info = &northbridge_amd_amdk8_info_2,
.next=&_dev6
};
struct device _dev33 = {
.ops = 0,
.bus = &_dev4.link[0],
.path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn =
PCI_DEVFN(0x0,0)}}},
.enabled = 1,
.link = {
},
.links = 0,
.sibling = &_dev34,
.next=&_dev34
};
struct device _dev34 = {
.ops = 0,
.bus = &_dev4.link[0],
.path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn =
PCI_DEVFN(0x0,1)}}},
.enabled = 1,
.link = {
},
.links = 0,
.sibling = &_dev35,
.next=&_dev35
};
struct device _dev35 = {
.ops = 0,
.bus = &_dev4.link[0],
.path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn =
PCI_DEVFN(0x1,0)}}},
.enabled = 1,
.link = {
},
.links = 0,
.sibling = &_dev36,
.next=&_dev36
};
struct device _dev36 = {
.ops = 0,
.bus = &_dev4.link[0],
.path = {.type=DEVICE_PATH_PCI,.u={.pci={ .devfn =
PCI_DEVFN(0x1,1)}}},
.enabled = 1,
.link = {
},
.links = 0,
.next=&_dev37
};
-----Original Message-----
From: Ronald G. Minnich [mailto:rminnich@lanl.gov]
Sent: Monday, October 18, 2004 1:36 PM
To: Li-Ta Lo
Cc: Eric W. Biederman; YhLu; 'LinuxBIOS'
Subject: Re: FYI: Merge in progress...
On Mon, 18 Oct 2004, Li-Ta Lo wrote:
> This is exactly why I was proposing this change. We also got rid of
> a lot of static -> dynamice code.
>
even cooler: there is no static code structure any more. What the config
tool creates is a statically allocated set of device structs. The
enumeration of static to dynamic is gone.
And so on, and so on, it's a huge improvement.
ron