On Mon, Aug 11, 2008 at 6:36 PM, Carl-Daniel Hailfinger > We have a generic subsystem ID infrastructure in v3. Look at > pci_dev_enable_resources().
True. I left it there by mistake :-) > >> propagation of subsystem stuff can be done by the dtc, AFAICS. We do >> this: >> 1. add subsystem info to dts and device struct >> > > We only have per-mainboard subsystem info in the dts. We need to add > per-device subsystem info to the dts. it's easy. Add two properties, and if they are set, then put then in the device, and if they are not, leave them 0. > >> 2. allow users to specify subsystem to any node in the dts. All nodes >> under that >> node will inherit that id unless they similarly set it. >> > > Not yet done. good point. > >> 3. at the root, we set subsystem to (I assume) mainboard VID and DID >> > > We set a special variable mainboard_subsystem_vendor and ..._id as part > of the mainboard struct. yep, I'm counting on that. See, most fo the work is already done :-) > >> 4. at flatten tree time, we walk the tree and propagate subsystem VID >> and DID to >> children. This ensures that all devices have it at compile time >> > > Not yet. but we could, right? Then we'd have it at compile time and when we visualize the tree. That would be cool! > We do that in pci_dev_enable_resources(). good point. I would much rather do this in dtc, but I'm not that worried about it, but how about we drop the pci_ops and just put the setting of subsystem ops into the generic device. It's too much messing around to all this pci_ops stuff for one simple operation. ron -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

