Loading drivers/pci/search.c +18 −37 Original line number Diff line number Diff line Loading @@ -243,30 +243,14 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, unsigned int ss_vendor, unsigned int ss_device, struct pci_dev *from) { struct pci_dev *pdev; struct pci_device_id *id; /* * pci_find_subsys() can be called on the ide_setup() path, * super-early in boot. But the down_read() will enable local * interrupts, which can cause some machines to crash. So here we * detect and flag that situation and bail out early. */ if (unlikely(no_pci_devices())) return NULL; id = kzalloc(sizeof(*id), GFP_KERNEL); if (!id) return NULL; id->vendor = vendor; id->device = device; id->subvendor = ss_vendor; id->subdevice = ss_device; pdev = pci_get_dev_by_id(id, from); kfree(id); return pdev; struct pci_device_id id = { .vendor = vendor, .device = device, .subvendor = ss_vendor, .subdevice = ss_device, }; return pci_get_dev_by_id(&id, from); } /** Loading Loading @@ -305,19 +289,16 @@ pci_get_device(unsigned int vendor, unsigned int device, struct pci_dev *from) */ struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from) { struct pci_dev *dev; struct pci_device_id *id; id = kzalloc(sizeof(*id), GFP_KERNEL); if (!id) return NULL; id->vendor = id->device = id->subvendor = id->subdevice = PCI_ANY_ID; id->class_mask = PCI_ANY_ID; id->class = class; dev = pci_get_dev_by_id(id, from); kfree(id); return dev; struct pci_device_id id = { .vendor = PCI_ANY_ID, .device = PCI_ANY_ID, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, .class_mask = PCI_ANY_ID, .class = class, }; return pci_get_dev_by_id(&id, from); } /** Loading Loading
drivers/pci/search.c +18 −37 Original line number Diff line number Diff line Loading @@ -243,30 +243,14 @@ struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device, unsigned int ss_vendor, unsigned int ss_device, struct pci_dev *from) { struct pci_dev *pdev; struct pci_device_id *id; /* * pci_find_subsys() can be called on the ide_setup() path, * super-early in boot. But the down_read() will enable local * interrupts, which can cause some machines to crash. So here we * detect and flag that situation and bail out early. */ if (unlikely(no_pci_devices())) return NULL; id = kzalloc(sizeof(*id), GFP_KERNEL); if (!id) return NULL; id->vendor = vendor; id->device = device; id->subvendor = ss_vendor; id->subdevice = ss_device; pdev = pci_get_dev_by_id(id, from); kfree(id); return pdev; struct pci_device_id id = { .vendor = vendor, .device = device, .subvendor = ss_vendor, .subdevice = ss_device, }; return pci_get_dev_by_id(&id, from); } /** Loading Loading @@ -305,19 +289,16 @@ pci_get_device(unsigned int vendor, unsigned int device, struct pci_dev *from) */ struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from) { struct pci_dev *dev; struct pci_device_id *id; id = kzalloc(sizeof(*id), GFP_KERNEL); if (!id) return NULL; id->vendor = id->device = id->subvendor = id->subdevice = PCI_ANY_ID; id->class_mask = PCI_ANY_ID; id->class = class; dev = pci_get_dev_by_id(id, from); kfree(id); return dev; struct pci_device_id id = { .vendor = PCI_ANY_ID, .device = PCI_ANY_ID, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, .class_mask = PCI_ANY_ID, .class = class, }; return pci_get_dev_by_id(&id, from); } /** Loading