Prepare for per-device subsystem IDs. Fix the bus location for Qemu IDE.
This patch only provides the needed infrastructure for per-device subsystem IDs, it does not hook them up to the PCI core yet, so this patch is a no-op. By the way, the on_mainboard property is activating lots of completely untested code paths in v3, so someone might want to audit them.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts =================================================================== --- corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts (Revision 842) +++ corebootv3-subsystem_id_per_device/mainboard/emulation/qemu-x86/dts (Arbeitskopie) @@ -30,8 +30,11 @@ bus@0 { pci@0,0 { }; - pci@1,0 { + pci@1,1 { /config/("southbridge/intel/i82371eb/ide"); + subsystem_vendor = "0x15ad"; + subsystem_device = "0x1976"; + on_mainboard; }; }; }; Index: corebootv3-subsystem_id_per_device/util/dtc/flattree.c =================================================================== --- corebootv3-subsystem_id_per_device/util/dtc/flattree.c (Revision 842) +++ corebootv3-subsystem_id_per_device/util/dtc/flattree.c (Arbeitskopie) @@ -622,6 +622,12 @@ if (streq(prop->name, "on_mainboard")){ fprintf(f, "\t.on_mainboard = 1,\n"); } + if (streq(prop->name, "subsystem_vendor")){ + fprintf(f, "\t.subsystem_vendor = %s,\n", prop->val.val); + } + if (streq(prop->name, "subsystem_device")){ + fprintf(f, "\t.subsystem_device = %s,\n", prop->val.val); + } if (streq(prop->name, "enabled")){ enabled = 1; }