[PATCH] PCI Hotplug: remove pci_visit_dev

If my CPCI hotplug update patch is applied, then there are no longer any
in tree users of the pci_visit_dev API, and it and its related code can be
removed.

Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

Scott Murray and committed by
Greg KH
c22610da 43b7d7cf

-136
-109
drivers/pci/hotplug.c
··· 56 56 57 57 return 0; 58 58 } 59 - 60 - static int pci_visit_bus (struct pci_visit * fn, struct pci_bus_wrapped *wrapped_bus, struct pci_dev_wrapped *wrapped_parent) 61 - { 62 - struct list_head *ln; 63 - struct pci_dev *dev; 64 - struct pci_dev_wrapped wrapped_dev; 65 - int result = 0; 66 - 67 - pr_debug("PCI: Scanning bus %04x:%02x\n", pci_domain_nr(wrapped_bus->bus), 68 - wrapped_bus->bus->number); 69 - 70 - if (fn->pre_visit_pci_bus) { 71 - result = fn->pre_visit_pci_bus(wrapped_bus, wrapped_parent); 72 - if (result) 73 - return result; 74 - } 75 - 76 - ln = wrapped_bus->bus->devices.next; 77 - while (ln != &wrapped_bus->bus->devices) { 78 - dev = pci_dev_b(ln); 79 - ln = ln->next; 80 - 81 - memset(&wrapped_dev, 0, sizeof(struct pci_dev_wrapped)); 82 - wrapped_dev.dev = dev; 83 - 84 - result = pci_visit_dev(fn, &wrapped_dev, wrapped_bus); 85 - if (result) 86 - return result; 87 - } 88 - 89 - if (fn->post_visit_pci_bus) 90 - result = fn->post_visit_pci_bus(wrapped_bus, wrapped_parent); 91 - 92 - return result; 93 - } 94 - 95 - static int pci_visit_bridge (struct pci_visit * fn, 96 - struct pci_dev_wrapped *wrapped_dev, 97 - struct pci_bus_wrapped *wrapped_parent) 98 - { 99 - struct pci_bus *bus; 100 - struct pci_bus_wrapped wrapped_bus; 101 - int result = 0; 102 - 103 - pr_debug("PCI: Scanning bridge %s\n", pci_name(wrapped_dev->dev)); 104 - 105 - if (fn->visit_pci_dev) { 106 - result = fn->visit_pci_dev(wrapped_dev, wrapped_parent); 107 - if (result) 108 - return result; 109 - } 110 - 111 - bus = wrapped_dev->dev->subordinate; 112 - if (bus) { 113 - memset(&wrapped_bus, 0, sizeof(struct pci_bus_wrapped)); 114 - wrapped_bus.bus = bus; 115 - 116 - result = pci_visit_bus(fn, &wrapped_bus, wrapped_dev); 117 - } 118 - return result; 119 - } 120 - 121 - /** 122 - * pci_visit_dev - scans the pci buses. 123 - * @fn: callback functions that are called while visiting 124 - * @wrapped_dev: the device to scan 125 - * @wrapped_parent: the bus where @wrapped_dev is connected to 126 - * 127 - * Every bus and every function is presented to a custom 128 - * function that can act upon it. 129 - */ 130 - int pci_visit_dev(struct pci_visit *fn, struct pci_dev_wrapped *wrapped_dev, 131 - struct pci_bus_wrapped *wrapped_parent) 132 - { 133 - struct pci_dev* dev = wrapped_dev ? wrapped_dev->dev : NULL; 134 - int result = 0; 135 - 136 - if (!dev) 137 - return 0; 138 - 139 - if (fn->pre_visit_pci_dev) { 140 - result = fn->pre_visit_pci_dev(wrapped_dev, wrapped_parent); 141 - if (result) 142 - return result; 143 - } 144 - 145 - switch (dev->class >> 8) { 146 - case PCI_CLASS_BRIDGE_PCI: 147 - result = pci_visit_bridge(fn, wrapped_dev, 148 - wrapped_parent); 149 - if (result) 150 - return result; 151 - break; 152 - default: 153 - pr_debug("PCI: Scanning device %s\n", pci_name(dev)); 154 - if (fn->visit_pci_dev) { 155 - result = fn->visit_pci_dev (wrapped_dev, 156 - wrapped_parent); 157 - if (result) 158 - return result; 159 - } 160 - } 161 - 162 - if (fn->post_visit_pci_dev) 163 - result = fn->post_visit_pci_dev(wrapped_dev, wrapped_parent); 164 - 165 - return result; 166 - } 167 - EXPORT_SYMBOL(pci_visit_dev);
-27
drivers/pci/pci.h
··· 32 32 extern unsigned char pci_bus_max_busnr(struct pci_bus *bus); 33 33 extern int pci_bus_find_capability (struct pci_bus *bus, unsigned int devfn, int cap); 34 34 35 - struct pci_dev_wrapped { 36 - struct pci_dev *dev; 37 - void *data; 38 - }; 39 - 40 - struct pci_bus_wrapped { 41 - struct pci_bus *bus; 42 - void *data; 43 - }; 44 - 45 - struct pci_visit { 46 - int (* pre_visit_pci_bus) (struct pci_bus_wrapped *, 47 - struct pci_dev_wrapped *); 48 - int (* post_visit_pci_bus) (struct pci_bus_wrapped *, 49 - struct pci_dev_wrapped *); 50 - 51 - int (* pre_visit_pci_dev) (struct pci_dev_wrapped *, 52 - struct pci_bus_wrapped *); 53 - int (* visit_pci_dev) (struct pci_dev_wrapped *, 54 - struct pci_bus_wrapped *); 55 - int (* post_visit_pci_dev) (struct pci_dev_wrapped *, 56 - struct pci_bus_wrapped *); 57 - }; 58 - 59 - extern int pci_visit_dev(struct pci_visit *fn, 60 - struct pci_dev_wrapped *wrapped_dev, 61 - struct pci_bus_wrapped *wrapped_parent); 62 35 extern void pci_remove_legacy_files(struct pci_bus *bus); 63 36 64 37 /* Lock for read/write access to pci device and bus lists */