[PATCH] Use driver_for_each_device() in drivers/pnp/driver.c instead of manually...
authormochel@digitalimplant.org <mochel@digitalimplant.org>
Mon, 21 Mar 2005 19:07:54 +0000 (11:07 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Jun 2005 22:15:13 +0000 (15:15 -0700)
Signed-off-by: Patrick Mochel <mochel@digitalimplant.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
diff -Nru a/drivers/pnp/driver.c b/drivers/pnp/driver.c

drivers/pnp/driver.c

index d64c1ca4fa76db7f77902f94b0baf840c78dc020..1d037c2a82acb0a5bfbd8002ae0274128fb01ee3 100644 (file)
@@ -160,10 +160,16 @@ struct bus_type pnp_bus_type = {
 };
 
 
+static int count_devices(struct device * dev, void * c)
+{
+       int * count = c;
+       (*count)++;
+       return 0;
+}
+
 int pnp_register_driver(struct pnp_driver *drv)
 {
        int count;
-       struct list_head *pos;
 
        pnp_dbg("the driver '%s' has been registered", drv->name);
 
@@ -177,9 +183,7 @@ int pnp_register_driver(struct pnp_driver *drv)
        /* get the number of initial matches */
        if (count >= 0){
                count = 0;
-               list_for_each(pos,&drv->driver.devices){
-                       count++;
-               }
+               driver_for_each_device(&drv->driver, NULL, &count, count_devices);
        }
        return count;
 }