On 11.08.2008 18:03, ron minnich wrote:
On Mon, Aug 11, 2008 at 3:20 AM, Carl-Daniel Hailfinger
Maybe move the hunk above into an extra function so we can use the generic subsystem ID infrastructure?
It's gone. There is not one on v3 and I see no need to add it. The
We have a generic subsystem ID infrastructure in v3. Look at pci_dev_enable_resources().
propagation of subsystem stuff can be done by the dtc, AFAICS. We do this:
- 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.
- 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.
- 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.
- 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.
- In a final pass at runtime (probably phase6) we walk the tree and,
for devices that set 'support subsystem VID/DID', we set it into the hardware.
We do that in pci_dev_enable_resources().
Done. Run time mess becomes compile time mess. Unless I'm missing something.
If I am, let me know.
See above.
A few seconds ago, I posted a patch to move the mcp55 subsystem ID code to the existing v3 infrastructure.
Regards, Carl-Daniel