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 | } |
