From: Bjorn Helgaas <[EMAIL PROTECTED]>

acpi_bus_register_driver() should not return the number of devices claimed. 
We're not asking to find devices, we're making a driver available to devices,
including hot-pluggable devices that may appear in the future.

I audited all callers of acpi_bus_register_driver(), and except asus_acpi.c
and sonypi.c (fixed in previous patches), all either ignore the return value
or test only for failure (<0).

Signed-off-by: Bjorn Helgaas <[EMAIL PROTECTED]>
Cc: "Brown, Len" <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/acpi/scan.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

diff -puN 
drivers/acpi/scan.c~acpi-make-acpi_bus_register_driver-return-success-failure-not-device-count
 drivers/acpi/scan.c
--- 
devel/drivers/acpi/scan.c~acpi-make-acpi_bus_register_driver-return-success-failure-not-device-count
        2006-03-21 22:30:05.000000000 -0800
+++ devel-akpm/drivers/acpi/scan.c      2006-03-21 22:30:05.000000000 -0800
@@ -549,10 +549,9 @@ static int acpi_start_single_object(stru
        return_VALUE(result);
 }
 
-static int acpi_driver_attach(struct acpi_driver *drv)
+static void acpi_driver_attach(struct acpi_driver *drv)
 {
        struct list_head *node, *next;
-       int count = 0;
 
        ACPI_FUNCTION_TRACE("acpi_driver_attach");
 
@@ -569,7 +568,6 @@ static int acpi_driver_attach(struct acp
                        if (!acpi_bus_driver_init(dev, drv)) {
                                acpi_start_single_object(dev);
                                atomic_inc(&drv->references);
-                               count++;
                                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                                                  "Found driver [%s] for device 
[%s]\n",
                                                  drv->name, dev->pnp.bus_id));
@@ -578,7 +576,6 @@ static int acpi_driver_attach(struct acp
                spin_lock(&acpi_device_lock);
        }
        spin_unlock(&acpi_device_lock);
-       return_VALUE(count);
 }
 
 static int acpi_driver_detach(struct acpi_driver *drv)
@@ -611,14 +608,11 @@ static int acpi_driver_detach(struct acp
  * @driver: driver being registered
  *
  * Registers a driver with the ACPI bus.  Searches the namespace for all
- * devices that match the driver's criteria and binds.  Returns the
- * number of devices that were claimed by the driver, or a negative
- * error status for failure.
+ * devices that match the driver's criteria and binds.  Returns zero for
+ * success or a negative error status for failure.
  */
 int acpi_bus_register_driver(struct acpi_driver *driver)
 {
-       int count;
-
        ACPI_FUNCTION_TRACE("acpi_bus_register_driver");
 
        if (acpi_disabled)
@@ -630,9 +624,9 @@ int acpi_bus_register_driver(struct acpi
        spin_lock(&acpi_device_lock);
        list_add_tail(&driver->node, &acpi_bus_drivers);
        spin_unlock(&acpi_device_lock);
-       count = acpi_driver_attach(driver);
+       acpi_driver_attach(driver);
 
-       return_VALUE(count);
+       return_VALUE(0);
 }
 
 EXPORT_SYMBOL(acpi_bus_register_driver);
_
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to