Commit c22610dadc0452b1273494f2b5157123c6cd60e1
Committed by
Greg KH
1 parent
43b7d7cfb1
Exists in
master
and in
7 other branches
[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>
Showing 2 changed files with 0 additions and 136 deletions Side-by-side Diff
drivers/pci/hotplug.c
... | ... | @@ -56,113 +56,4 @@ |
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); |
drivers/pci/pci.h
... | ... | @@ -32,33 +32,6 @@ |
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 */ |