Pull novell-bugzilla-156426 into release branch
[pandora-kernel.git] / drivers / acpi / bus.c
index d77c230..b77f03d 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/list.h>
 #include <linux/sched.h>
 #include <linux/pm.h>
+#include <linux/pm_legacy.h>
 #include <linux/device.h>
 #include <linux/proc_fs.h>
 #ifdef CONFIG_X86
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_drivers.h>
 
-
 #define _COMPONENT             ACPI_BUS_COMPONENT
-ACPI_MODULE_NAME               ("acpi_bus")
-
+ACPI_MODULE_NAME("acpi_bus")
 #ifdef CONFIG_X86
 extern void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger);
 #endif
 
-FADT_DESCRIPTOR                        acpi_fadt;
+struct fadt_descriptor acpi_fadt;
 EXPORT_SYMBOL(acpi_fadt);
 
-struct acpi_device             *acpi_root;
-struct proc_dir_entry          *acpi_root_dir;
+struct acpi_device *acpi_root;
+struct proc_dir_entry *acpi_root_dir;
 EXPORT_SYMBOL(acpi_root_dir);
 
 #define STRUCT_TO_INT(s)       (*((int*)&s))
@@ -57,12 +56,9 @@ EXPORT_SYMBOL(acpi_root_dir);
                                 Device Management
    -------------------------------------------------------------------------- */
 
-int
-acpi_bus_get_device (
-       acpi_handle             handle,
-       struct acpi_device      **device)
+int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device)
 {
-       acpi_status             status = AE_OK;
+       acpi_status status = AE_OK;
 
        ACPI_FUNCTION_TRACE("acpi_bus_get_device");
 
@@ -71,24 +67,23 @@ acpi_bus_get_device (
 
        /* TBD: Support fixed-feature devices */
 
-       status = acpi_get_data(handle, acpi_bus_data_handler, (void**) device);
+       status = acpi_get_data(handle, acpi_bus_data_handler, (void **)device);
        if (ACPI_FAILURE(status) || !*device) {
                ACPI_DEBUG_PRINT((ACPI_DB_WARN, "No context for object [%p]\n",
-                       handle));
+                                 handle));
                return_VALUE(-ENODEV);
        }
 
        return_VALUE(0);
 }
+
 EXPORT_SYMBOL(acpi_bus_get_device);
 
-int
-acpi_bus_get_status (
-       struct acpi_device      *device)
+int acpi_bus_get_status(struct acpi_device *device)
 {
-       acpi_status             status = AE_OK;
-       unsigned long           sta = 0;
-       
+       acpi_status status = AE_OK;
+       unsigned long sta = 0;
+
        ACPI_FUNCTION_TRACE("acpi_bus_get_status");
 
        if (!device)
@@ -98,10 +93,11 @@ acpi_bus_get_status (
         * Evaluate _STA if present.
         */
        if (device->flags.dynamic_status) {
-               status = acpi_evaluate_integer(device->handle, "_STA", NULL, &sta);
+               status =
+                   acpi_evaluate_integer(device->handle, "_STA", NULL, &sta);
                if (ACPI_FAILURE(status))
                        return_VALUE(-ENODEV);
-               STRUCT_TO_INT(device->status) = (int) sta;
+               STRUCT_TO_INT(device->status) = (int)sta;
        }
 
        /*
@@ -115,33 +111,30 @@ acpi_bus_get_status (
 
        if (device->status.functional && !device->status.present) {
                printk(KERN_WARNING PREFIX "Device [%s] status [%08x]: "
-                       "functional but not present; setting present\n",
-                       device->pnp.bus_id,
-                       (u32) STRUCT_TO_INT(device->status));
+                      "functional but not present; setting present\n",
+                      device->pnp.bus_id, (u32) STRUCT_TO_INT(device->status));
                device->status.present = 1;
        }
 
-       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]\n", 
-               device->pnp.bus_id, (u32) STRUCT_TO_INT(device->status)));
+       ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]\n",
+                         device->pnp.bus_id,
+                         (u32) STRUCT_TO_INT(device->status)));
 
        return_VALUE(0);
 }
-EXPORT_SYMBOL(acpi_bus_get_status);
 
+EXPORT_SYMBOL(acpi_bus_get_status);
 
 /* --------------------------------------------------------------------------
                                  Power Management
    -------------------------------------------------------------------------- */
 
-int
-acpi_bus_get_power (
-       acpi_handle             handle,
-       int                     *state)
+int acpi_bus_get_power(acpi_handle handle, int *state)
 {
-       int                     result = 0;
-       acpi_status             status = 0;
-       struct acpi_device      *device = NULL;
-       unsigned long           psc = 0;
+       int result = 0;
+       acpi_status status = 0;
+       struct acpi_device *device = NULL;
+       unsigned long psc = 0;
 
        ACPI_FUNCTION_TRACE("acpi_bus_get_power");
 
@@ -157,20 +150,18 @@ acpi_bus_get_power (
                        *state = device->parent->power.state;
                else
                        *state = ACPI_STATE_D0;
-       }
-       else {
+       } else {
                /*
                 * Get the device's power state either directly (via _PSC) or 
                 * indirectly (via power resources).
                 */
                if (device->power.flags.explicit_get) {
-                       status = acpi_evaluate_integer(device->handle, "_PSC", 
-                               NULL, &psc);
+                       status = acpi_evaluate_integer(device->handle, "_PSC",
+                                                      NULL, &psc);
                        if (ACPI_FAILURE(status))
                                return_VALUE(-ENODEV);
-                       device->power.state = (int) psc;
-               }
-               else if (device->power.flags.power_resources) {
+                       device->power.state = (int)psc;
+               } else if (device->power.flags.power_resources) {
                        result = acpi_power_get_inferred_state(device);
                        if (result)
                                return_VALUE(result);
@@ -180,22 +171,19 @@ acpi_bus_get_power (
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] power state is D%d\n",
-               device->pnp.bus_id, device->power.state));
+                         device->pnp.bus_id, device->power.state));
 
        return_VALUE(0);
 }
-EXPORT_SYMBOL(acpi_bus_get_power);
 
+EXPORT_SYMBOL(acpi_bus_get_power);
 
-int
-acpi_bus_set_power (
-       acpi_handle             handle,
-       int                     state)
+int acpi_bus_set_power(acpi_handle handle, int state)
 {
-       int                     result = 0;
-       acpi_status             status = AE_OK;
-       struct acpi_device      *device = NULL;
-       char                    object_name[5] = {'_','P','S','0'+state,'\0'};
+       int result = 0;
+       acpi_status status = AE_OK;
+       struct acpi_device *device = NULL;
+       char object_name[5] = { '_', 'P', 'S', '0' + state, '\0' };
 
        ACPI_FUNCTION_TRACE("acpi_bus_set_power");
 
@@ -209,7 +197,8 @@ acpi_bus_set_power (
        /* Make sure this is a valid target state */
 
        if (!device->flags.power_manageable) {
-               ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device is not power manageable\n"));
+               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
+                                 "Device is not power manageable\n"));
                return_VALUE(-ENODEV);
        }
        /*
@@ -219,15 +208,18 @@ acpi_bus_set_power (
        if (device->power.state == ACPI_STATE_UNKNOWN)
                acpi_bus_get_power(device->handle, &device->power.state);
        if (state == device->power.state) {
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at D%d\n", state));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at D%d\n",
+                                 state));
                return_VALUE(0);
        }
        if (!device->power.states[state].flags.valid) {
-               ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device does not support D%d\n", state));
+               ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device does not support D%d\n",
+                                 state));
                return_VALUE(-ENODEV);
        }
        if (device->parent && (state < device->parent->power.state)) {
-               ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Cannot set device to a higher-powered state than parent\n"));
+               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
+                                 "Cannot set device to a higher-powered state than parent\n"));
                return_VALUE(-ENODEV);
        }
 
@@ -245,18 +237,17 @@ acpi_bus_set_power (
                                goto end;
                }
                if (device->power.states[state].flags.explicit_set) {
-                       status = acpi_evaluate_object(device->handle, 
-                               object_name, NULL, NULL);
+                       status = acpi_evaluate_object(device->handle,
+                                                     object_name, NULL, NULL);
                        if (ACPI_FAILURE(status)) {
                                result = -ENODEV;
                                goto end;
                        }
                }
-       }
-       else {
+       } else {
                if (device->power.states[state].flags.explicit_set) {
-                       status = acpi_evaluate_object(device->handle, 
-                               object_name, NULL, NULL);
+                       status = acpi_evaluate_object(device->handle,
+                                                     object_name, NULL, NULL);
                        if (ACPI_FAILURE(status)) {
                                result = -ENODEV;
                                goto end;
@@ -269,19 +260,20 @@ acpi_bus_set_power (
                }
        }
 
-end:
+      end:
        if (result)
-               ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Error transitioning device [%s] to D%d\n",
-                       device->pnp.bus_id, state));
+               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
+                                 "Error transitioning device [%s] to D%d\n",
+                                 device->pnp.bus_id, state));
        else
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] transitioned to D%d\n",
-                       device->pnp.bus_id, state));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Device [%s] transitioned to D%d\n",
+                                 device->pnp.bus_id, state));
 
        return_VALUE(result);
 }
-EXPORT_SYMBOL(acpi_bus_set_power);
-
 
+EXPORT_SYMBOL(acpi_bus_set_power);
 
 /* --------------------------------------------------------------------------
                                 Event Management
@@ -292,16 +284,12 @@ static DEFINE_SPINLOCK(acpi_bus_event_lock);
 LIST_HEAD(acpi_bus_event_list);
 DECLARE_WAIT_QUEUE_HEAD(acpi_bus_event_queue);
 
-extern int                     event_is_open;
+extern int event_is_open;
 
-int
-acpi_bus_generate_event (
-       struct acpi_device      *device,
-       u8                      type,
-       int                     data)
+int acpi_bus_generate_event(struct acpi_device *device, u8 type, int data)
 {
-       struct acpi_bus_event   *event = NULL;
-       unsigned long           flags = 0;
+       struct acpi_bus_event *event = NULL;
+       unsigned long flags = 0;
 
        ACPI_FUNCTION_TRACE("acpi_bus_generate_event");
 
@@ -329,14 +317,13 @@ acpi_bus_generate_event (
 
        return_VALUE(0);
 }
+
 EXPORT_SYMBOL(acpi_bus_generate_event);
 
-int
-acpi_bus_receive_event (
-       struct acpi_bus_event   *event)
+int acpi_bus_receive_event(struct acpi_bus_event *event)
 {
-       unsigned long           flags = 0;
-       struct acpi_bus_event   *entry = NULL;
+       unsigned long flags = 0;
+       struct acpi_bus_event *entry = NULL;
 
        DECLARE_WAITQUEUE(wait, current);
 
@@ -361,7 +348,8 @@ acpi_bus_receive_event (
        }
 
        spin_lock_irqsave(&acpi_bus_event_lock, flags);
-       entry = list_entry(acpi_bus_event_list.next, struct acpi_bus_event, node);
+       entry =
+           list_entry(acpi_bus_event_list.next, struct acpi_bus_event, node);
        if (entry)
                list_del(&entry->node);
        spin_unlock_irqrestore(&acpi_bus_event_lock, flags);
@@ -375,19 +363,17 @@ acpi_bus_receive_event (
 
        return_VALUE(0);
 }
-EXPORT_SYMBOL(acpi_bus_receive_event);
 
+EXPORT_SYMBOL(acpi_bus_receive_event);
 
 /* --------------------------------------------------------------------------
                              Notification Handling
    -------------------------------------------------------------------------- */
 
 static int
-acpi_bus_check_device (
-       struct acpi_device      *device,
-       int                     *status_changed)
+acpi_bus_check_device(struct acpi_device *device, int *status_changed)
 {
-       acpi_status             status = 0;
+       acpi_status status = 0;
        struct acpi_device_status old_status;
 
        ACPI_FUNCTION_TRACE("acpi_bus_check_device");
@@ -422,15 +408,14 @@ acpi_bus_check_device (
 
        if (status_changed)
                *status_changed = 1;
-       
+
        /*
         * Device Insertion/Removal
         */
        if ((device->status.present) && !(old_status.present)) {
                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device insertion detected\n"));
                /* TBD: Handle device insertion */
-       }
-       else if (!(device->status.present) && (old_status.present)) {
+       } else if (!(device->status.present) && (old_status.present)) {
                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device removal detected\n"));
                /* TBD: Handle device removal */
        }
@@ -438,13 +423,10 @@ acpi_bus_check_device (
        return_VALUE(0);
 }
 
-
-static int
-acpi_bus_check_scope (
-       struct acpi_device      *device)
+static int acpi_bus_check_scope(struct acpi_device *device)
 {
-       int                     result = 0;
-       int                     status_changed = 0;
+       int result = 0;
+       int status_changed = 0;
 
        ACPI_FUNCTION_TRACE("acpi_bus_check_scope");
 
@@ -467,20 +449,15 @@ acpi_bus_check_scope (
        return_VALUE(0);
 }
 
-
 /**
  * acpi_bus_notify
  * ---------------
  * Callback for all 'system-level' device notifications (values 0x00-0x7F).
  */
-static void 
-acpi_bus_notify (
-       acpi_handle             handle,
-       u32                     type,
-       void                    *data)
+static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
 {
-       int                     result = 0;
-       struct acpi_device      *device = NULL;
+       int result = 0;
+       struct acpi_device *device = NULL;
 
        ACPI_FUNCTION_TRACE("acpi_bus_notify");
 
@@ -490,64 +467,73 @@ acpi_bus_notify (
        switch (type) {
 
        case ACPI_NOTIFY_BUS_CHECK:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received BUS CHECK notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received BUS CHECK notification for device [%s]\n",
+                                 device->pnp.bus_id));
                result = acpi_bus_check_scope(device);
                /* 
                 * TBD: We'll need to outsource certain events to non-ACPI
-                *      drivers via the device manager (device.c).
+                *      drivers via the device manager (device.c).
                 */
                break;
 
        case ACPI_NOTIFY_DEVICE_CHECK:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received DEVICE CHECK notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received DEVICE CHECK notification for device [%s]\n",
+                                 device->pnp.bus_id));
                result = acpi_bus_check_device(device, NULL);
                /* 
                 * TBD: We'll need to outsource certain events to non-ACPI
-                *      drivers via the device manager (device.c).
+                *      drivers via the device manager (device.c).
                 */
                break;
 
        case ACPI_NOTIFY_DEVICE_WAKE:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received DEVICE WAKE notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received DEVICE WAKE notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD */
                break;
 
        case ACPI_NOTIFY_EJECT_REQUEST:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received EJECT REQUEST notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received EJECT REQUEST notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD */
                break;
 
        case ACPI_NOTIFY_DEVICE_CHECK_LIGHT:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received DEVICE CHECK LIGHT notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received DEVICE CHECK LIGHT notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD: Exactly what does 'light' mean? */
                break;
 
        case ACPI_NOTIFY_FREQUENCY_MISMATCH:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received FREQUENCY MISMATCH notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received FREQUENCY MISMATCH notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD */
                break;
 
        case ACPI_NOTIFY_BUS_MODE_MISMATCH:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received BUS MODE MISMATCH notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received BUS MODE MISMATCH notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD */
                break;
 
        case ACPI_NOTIFY_POWER_FAULT:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received POWER FAULT notification for device [%s]\n", 
-                       device->pnp.bus_id));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received POWER FAULT notification for device [%s]\n",
+                                 device->pnp.bus_id));
                /* TBD */
                break;
 
        default:
-               ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Received unknown/unsupported notification [%08x]\n", 
-                       type));
+               ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+                                 "Received unknown/unsupported notification [%08x]\n",
+                                 type));
                break;
        }
 
@@ -558,13 +544,12 @@ acpi_bus_notify (
                              Initialization/Cleanup
    -------------------------------------------------------------------------- */
 
-static int __init
-acpi_bus_init_irq (void)
+static int __init acpi_bus_init_irq(void)
 {
-       acpi_status             status = AE_OK;
-       union acpi_object       arg = {ACPI_TYPE_INTEGER};
-       struct acpi_object_list arg_list = {1, &arg};
-       char                    *message = NULL;
+       acpi_status status = AE_OK;
+       union acpi_object arg = { ACPI_TYPE_INTEGER };
+       struct acpi_object_list arg_list = { 1, &arg };
+       char *message = NULL;
 
        ACPI_FUNCTION_TRACE("acpi_bus_init_irq");
 
@@ -601,43 +586,44 @@ acpi_bus_init_irq (void)
        return_VALUE(0);
 }
 
-
-void __init
-acpi_early_init (void)
+void __init acpi_early_init(void)
 {
-       acpi_status             status = AE_OK;
-       struct acpi_buffer      buffer = {sizeof(acpi_fadt), &acpi_fadt};
+       acpi_status status = AE_OK;
+       struct acpi_buffer buffer = { sizeof(acpi_fadt), &acpi_fadt };
 
        ACPI_FUNCTION_TRACE("acpi_early_init");
 
        if (acpi_disabled)
                return_VOID;
 
+       printk(KERN_INFO PREFIX "Core revision %08x\n", ACPI_CA_VERSION);
+
        /* enable workarounds, unless strict ACPI spec. compliance */
        if (!acpi_strict)
                acpi_gbl_enable_interpreter_slack = TRUE;
 
        status = acpi_initialize_subsystem();
        if (ACPI_FAILURE(status)) {
-               printk(KERN_ERR PREFIX "Unable to initialize the ACPI Interpreter\n");
+               printk(KERN_ERR PREFIX
+                      "Unable to initialize the ACPI Interpreter\n");
                goto error0;
        }
 
        status = acpi_load_tables();
        if (ACPI_FAILURE(status)) {
-               printk(KERN_ERR PREFIX "Unable to load the System Description Tables\n");
+               printk(KERN_ERR PREFIX
+                      "Unable to load the System Description Tables\n");
                goto error0;
        }
 
        /*
         * Get a separate copy of the FADT for use by other drivers.
         */
-       status = acpi_get_table(ACPI_TABLE_FADT, 1, &buffer);
+       status = acpi_get_table(ACPI_TABLE_ID_FADT, 1, &buffer);
        if (ACPI_FAILURE(status)) {
                printk(KERN_ERR PREFIX "Unable to get the FADT\n");
                goto error0;
        }
-
 #ifdef CONFIG_X86
        if (!acpi_ioapic) {
                extern acpi_interrupt_flags acpi_sci_flags;
@@ -647,7 +633,8 @@ acpi_early_init (void)
                        acpi_sci_flags.trigger = 3;
 
                /* Set PIC-mode SCI trigger type */
-               acpi_pic_sci_set_trigger(acpi_fadt.sci_int, acpi_sci_flags.trigger);
+               acpi_pic_sci_set_trigger(acpi_fadt.sci_int,
+                                        acpi_sci_flags.trigger);
        } else {
                extern int acpi_sci_override_gsi;
                /*
@@ -658,7 +645,10 @@ acpi_early_init (void)
        }
 #endif
 
-       status = acpi_enable_subsystem(~(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE));
+       status =
+           acpi_enable_subsystem(~
+                                 (ACPI_NO_HARDWARE_INIT |
+                                  ACPI_NO_ACPI_ENABLE));
        if (ACPI_FAILURE(status)) {
                printk(KERN_ERR PREFIX "Unable to enable ACPI\n");
                goto error0;
@@ -666,30 +656,32 @@ acpi_early_init (void)
 
        return_VOID;
 
-error0:
+      error0:
        disable_acpi();
        return_VOID;
 }
 
-static int __init
-acpi_bus_init (void)
+static int __init acpi_bus_init(void)
 {
-       int                     result = 0;
-       acpi_status             status = AE_OK;
-       extern acpi_status      acpi_os_initialize1(void);
+       int result = 0;
+       acpi_status status = AE_OK;
+       extern acpi_status acpi_os_initialize1(void);
 
        ACPI_FUNCTION_TRACE("acpi_bus_init");
 
        status = acpi_os_initialize1();
 
-       status = acpi_enable_subsystem(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE);
+       status =
+           acpi_enable_subsystem(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE);
        if (ACPI_FAILURE(status)) {
-               printk(KERN_ERR PREFIX "Unable to start the ACPI Interpreter\n");
+               printk(KERN_ERR PREFIX
+                      "Unable to start the ACPI Interpreter\n");
                goto error1;
        }
 
        if (ACPI_FAILURE(status)) {
-               printk(KERN_ERR PREFIX "Unable to initialize ACPI OS objects\n");
+               printk(KERN_ERR PREFIX
+                      "Unable to initialize ACPI OS objects\n");
                goto error1;
        }
 #ifdef CONFIG_ACPI_EC
@@ -723,9 +715,12 @@ acpi_bus_init (void)
        /*
         * Register the for all standard device notifications.
         */
-       status = acpi_install_notify_handler(ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY, &acpi_bus_notify, NULL);
+       status =
+           acpi_install_notify_handler(ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY,
+                                       &acpi_bus_notify, NULL);
        if (ACPI_FAILURE(status)) {
-               printk(KERN_ERR PREFIX "Unable to register for device notifications\n");
+               printk(KERN_ERR PREFIX
+                      "Unable to register for device notifications\n");
                goto error1;
        }
 
@@ -737,22 +732,19 @@ acpi_bus_init (void)
        return_VALUE(0);
 
        /* Mimic structured exception handling */
-error1:
+      error1:
        acpi_terminate();
        return_VALUE(-ENODEV);
 }
 
-decl_subsys(acpi,NULL,NULL);
+decl_subsys(acpi, NULL, NULL);
 
-static int __init acpi_init (void)
+static int __init acpi_init(void)
 {
-       int                     result = 0;
+       int result = 0;
 
        ACPI_FUNCTION_TRACE("acpi_init");
 
-       printk(KERN_INFO PREFIX "Subsystem revision %08x\n",
-               ACPI_CA_VERSION);
-
        if (acpi_disabled) {
                printk(KERN_INFO PREFIX "Interpreter disabled.\n");
                return_VALUE(-ENODEV);
@@ -763,11 +755,12 @@ static int __init acpi_init (void)
        result = acpi_bus_init();
 
        if (!result) {
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_LEGACY
                if (!PM_IS_ACTIVE())
                        pm_active = 1;
                else {
-                       printk(KERN_INFO PREFIX "APM is already active, exiting\n");
+                       printk(KERN_INFO PREFIX
+                              "APM is already active, exiting\n");
                        disable_acpi();
                        result = -ENODEV;
                }