struct sys_dev *find_intel_devices(void) { struct sys_dev *ahci, *isci; isci = find_driver_devices("pci", "isci"); ahci = find_driver_devices("pci", "ahci"); if (!ahci) { ahci = isci; } else { struct sys_dev *elem = ahci; while (elem->next) elem = elem->next; elem->next = isci; } return ahci; }
static int platform_has_intel_ahci(void) { struct sys_dev *devices = find_driver_devices("pci", "ahci"); struct sys_dev *dev; int ret = 0; for (dev = devices; dev; dev = dev->next) if (devpath_to_vendor(dev->path) == 0x8086) { ret = 1; break; } free_sys_dev(&devices); return ret; }