diff options
Diffstat (limited to 'drivers/pnp/driver.c')
-rw-r--r-- | drivers/pnp/driver.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/pnp/driver.c b/drivers/pnp/driver.c index d64c1ca4fa76..1d037c2a82ac 100644 --- a/drivers/pnp/driver.c +++ b/drivers/pnp/driver.c | |||
@@ -160,10 +160,16 @@ struct bus_type pnp_bus_type = { | |||
160 | }; | 160 | }; |
161 | 161 | ||
162 | 162 | ||
163 | static int count_devices(struct device * dev, void * c) | ||
164 | { | ||
165 | int * count = c; | ||
166 | (*count)++; | ||
167 | return 0; | ||
168 | } | ||
169 | |||
163 | int pnp_register_driver(struct pnp_driver *drv) | 170 | int pnp_register_driver(struct pnp_driver *drv) |
164 | { | 171 | { |
165 | int count; | 172 | int count; |
166 | struct list_head *pos; | ||
167 | 173 | ||
168 | pnp_dbg("the driver '%s' has been registered", drv->name); | 174 | pnp_dbg("the driver '%s' has been registered", drv->name); |
169 | 175 | ||
@@ -177,9 +183,7 @@ int pnp_register_driver(struct pnp_driver *drv) | |||
177 | /* get the number of initial matches */ | 183 | /* get the number of initial matches */ |
178 | if (count >= 0){ | 184 | if (count >= 0){ |
179 | count = 0; | 185 | count = 0; |
180 | list_for_each(pos,&drv->driver.devices){ | 186 | driver_for_each_device(&drv->driver, NULL, &count, count_devices); |
181 | count++; | ||
182 | } | ||
183 | } | 187 | } |
184 | return count; | 188 | return count; |
185 | } | 189 | } |