Notification Handling
-------------------------------------------------------------------------- */
-static int acpi_bus_check_device(struct acpi_device *device)
+static void acpi_bus_check_device(struct acpi_device *device)
{
- acpi_status status = 0;
+ acpi_status status;
struct acpi_device_status old_status;
-
if (!device)
- return -EINVAL;
+ return;
old_status = device->status;
*/
if (device->parent && !device->parent->status.present) {
device->status = device->parent->status;
- return 0;
+ return;
}
status = acpi_bus_get_status(device);
if (ACPI_FAILURE(status))
- return -ENODEV;
+ return;
if (STRUCT_TO_INT(old_status) == STRUCT_TO_INT(device->status))
- return 0;
+ return;
/*
* Device Insertion/Removal
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device removal detected\n"));
/* TBD: Handle device removal */
}
-
- return 0;
}
-static int acpi_bus_check_scope(struct acpi_device *device)
+static void acpi_bus_check_scope(struct acpi_device *device)
{
- int result = 0;
-
if (!device)
- return -EINVAL;
+ return;
/* Status Change? */
- result = acpi_bus_check_device(device);
- if (result)
- return result;
+ acpi_bus_check_device(device);
/*
* TBD: Enumerate child devices within this device's scope and
* run acpi_bus_check_device()'s on them.
*/
-
- return 0;
}
static BLOCKING_NOTIFIER_HEAD(acpi_bus_notify_list);
*/
static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
{
- int result = 0;
struct acpi_device *device = NULL;
struct acpi_driver *driver;
switch (type) {
case ACPI_NOTIFY_BUS_CHECK:
- result = acpi_bus_check_scope(device);
+ acpi_bus_check_scope(device);
/*
* TBD: We'll need to outsource certain events to non-ACPI
* drivers via the device manager (device.c).
break;
case ACPI_NOTIFY_DEVICE_CHECK:
- result = acpi_bus_check_device(device);
+ acpi_bus_check_device(device);
/*
* TBD: We'll need to outsource certain events to non-ACPI
* drivers via the device manager (device.c).