]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'misc' into test
authorLen Brown <len.brown@intel.com>
Thu, 23 Oct 2008 03:28:38 +0000 (23:28 -0400)
committerLen Brown <len.brown@intel.com>
Thu, 23 Oct 2008 03:28:38 +0000 (23:28 -0400)
30 files changed:
Documentation/kernel-parameters.txt
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/acpi/sleep.c
drivers/acpi/Kconfig
drivers/acpi/ac.c
drivers/acpi/acpi_memhotplug.c
drivers/acpi/asus_acpi.c
drivers/acpi/battery.c
drivers/acpi/button.c
drivers/acpi/container.c
drivers/acpi/ec.c
drivers/acpi/fan.c
drivers/acpi/pci_link.c
drivers/acpi/pci_root.c
drivers/acpi/power.c
drivers/acpi/processor_core.c
drivers/acpi/sbs.c
drivers/acpi/sbshc.c
drivers/acpi/scan.c
drivers/acpi/sleep/main.c
drivers/acpi/thermal.c
drivers/acpi/toshiba_acpi.c
drivers/acpi/video.c
drivers/misc/asus-laptop.c
drivers/misc/eeepc-laptop.c
drivers/misc/fujitsu-laptop.c
drivers/misc/intel_menlow.c
drivers/misc/sony-laptop.c
drivers/misc/thinkpad_acpi.c
include/acpi/acpi_bus.h

index 99cf83fd69478aab1e675688cab2463d8815edc8..5d1526cb9cc72ab47a61e21f41f256c002578561 100644 (file)
@@ -2173,7 +2173,7 @@ and is between 256 and 4096 characters. It is defined in the file
 
        thermal.crt=    [HW,ACPI]
                        -1: disable all critical trip points in all thermal zones
-                       <degrees C>: lower all critical trip points
+                       <degrees C>: override all critical trip points
 
        thermal.nocrt=  [HW,ACPI]
                        Set to disable actions on ACPI thermal zone
index c102af85df9ca4443b9b4a12db8b77ceccf90a82..0c2742f8c4da94c7ebb1d0c619a7eb147fe476ea 100644 (file)
@@ -97,7 +97,6 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
 #warning ACPI uses CMPXCHG, i486 and later hardware
 #endif
 
-static int acpi_mcfg_64bit_base_addr __initdata = FALSE;
 
 /* --------------------------------------------------------------------------
                               Boot-time Configuration
@@ -156,6 +155,9 @@ char *__init __acpi_map_table(unsigned long phys, unsigned long size)
 }
 
 #ifdef CONFIG_PCI_MMCONFIG
+
+static int acpi_mcfg_64bit_base_addr __initdata = FALSE;
+
 /* The physical address of the MMCONFIG aperture.  Set from ACPI tables. */
 struct acpi_mcfg_allocation *pci_mmcfg_config;
 int pci_mmcfg_config_num;
index 426e5d91b63a55d9b49d3387e2c40bb56306f104..55d10cbe65b14bfa1863b6c9c7ba271e67a62289 100644 (file)
@@ -21,7 +21,7 @@ unsigned long acpi_realmode_flags;
 static unsigned long acpi_realmode;
 
 #if defined(CONFIG_SMP) && defined(CONFIG_64BIT)
-static char temp_stack[10240];
+static char temp_stack[4096];
 #endif
 
 /**
@@ -97,7 +97,7 @@ int acpi_save_state_mem(void)
 #else /* CONFIG_64BIT */
        header->trampoline_segment = setup_trampoline() >> 4;
 #ifdef CONFIG_SMP
-       stack_start.sp = temp_stack + 4096;
+       stack_start.sp = temp_stack + sizeof(temp_stack);
 #endif
        initial_code = (unsigned long)wakeup_long64;
        saved_magic = 0x123456789abcdef0;
index 3919d6dbe06f30f97bd952a8bf11ef6675f86e11..cbfc58d6023676bc14d36c6b7eb9fcf9d745ef67 100644 (file)
@@ -42,7 +42,7 @@ if ACPI
 
 config ACPI_SLEEP
        bool
-       depends on PM_SLEEP
+       depends on SUSPEND || HIBERNATION
        default y
 
 config ACPI_PROCFS
@@ -252,7 +252,7 @@ config ACPI_ASUS
 
 config ACPI_TOSHIBA
        tristate "Toshiba Laptop Extras"
-       depends on X86
+       depends on X86 && INPUT
        select BACKLIGHT_CLASS_DEVICE
        ---help---
          This driver adds support for access to certain system settings
index 831883b7d6c9c5f456bb8db766ebc978b00bd907..8b6a84a43b1592a29efd2523bc2168cbd59860d9 100644 (file)
@@ -269,7 +269,7 @@ static int acpi_ac_add(struct acpi_device *device)
        ac->device = device;
        strcpy(acpi_device_name(device), ACPI_AC_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_AC_CLASS);
-       acpi_driver_data(device) = ac;
+       device->driver_data = ac;
 
        result = acpi_ac_get_state(ac);
        if (result)
index bbad9b6c2c887273a6e66d8e98a6028ee1fec297..289d02260f1668fc1df12aaf25f24fd8f23fac47 100644 (file)
@@ -403,7 +403,7 @@ static int acpi_memory_device_add(struct acpi_device *device)
        mem_device->device = device;
        sprintf(acpi_device_name(device), "%s", ACPI_MEMORY_DEVICE_NAME);
        sprintf(acpi_device_class(device), "%s", ACPI_MEMORY_DEVICE_CLASS);
-       acpi_driver_data(device) = mem_device;
+       device->driver_data = mem_device;
 
        /* Get the range from the _CRS */
        result = acpi_memory_get_device_resources(mem_device);
index 3f7adf683d4eb24ba267c6e50a525c2eb4085c70..2377e8b917d7b8d77664f7ab34a627e43b691801 100644 (file)
@@ -1244,6 +1244,8 @@ static int asus_hotk_get_info(void)
                               "default values\n", string);
                        printk(KERN_NOTICE
                               "  send /proc/acpi/dsdt to the developers\n");
+                       kfree(model);
+                       return -ENODEV;
                }
                hotk->methods = &model_conf[hotk->model];
                return AE_OK;
@@ -1321,7 +1323,7 @@ static int asus_hotk_add(struct acpi_device *device)
        hotk->handle = device->handle;
        strcpy(acpi_device_name(device), ACPI_HOTK_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_HOTK_CLASS);
-       acpi_driver_data(device) = hotk;
+       device->driver_data = hotk;
        hotk->device = device;
 
        result = asus_hotk_check();
index b1c723f9f58d1fce3861730870b58550fe13f6a2..de8046933bce6cf5154c2aaeca2a75df847845e2 100644 (file)
@@ -804,7 +804,7 @@ static int acpi_battery_add(struct acpi_device *device)
        battery->device = device;
        strcpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_BATTERY_CLASS);
-       acpi_driver_data(device) = battery;
+       device->driver_data = battery;
        mutex_init(&battery->lock);
        acpi_battery_update(battery);
 #ifdef CONFIG_ACPI_PROCFS_POWER
index 1dfec413588ca6e07ba06f51b69b7ea431906a2b..e22033ea2614b8963170e7865b1b569a11699169 100644 (file)
@@ -384,7 +384,7 @@ static int acpi_button_add(struct acpi_device *device)
                return -ENOMEM;
 
        button->device = device;
-       acpi_driver_data(device) = button;
+       device->driver_data = button;
 
        button->input = input = input_allocate_device();
        if (!input) {
index 3c25ec7a187142dc224c748dcb481601df626501..03ea8478e393846f7a6aa559f8cfb16faeccce88 100644 (file)
@@ -108,7 +108,7 @@ static int acpi_container_add(struct acpi_device *device)
        container->handle = device->handle;
        strcpy(acpi_device_name(device), ACPI_CONTAINER_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_CONTAINER_CLASS);
-       acpi_driver_data(device) = container;
+       device->driver_data = container;
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device <%s> bid <%s>\n",
                          acpi_device_name(device), acpi_device_bid(device)));
index 4178d17aa0edc2bc8576d44ee6d4bae184c6dcfb..40fefba6264edfb3afd3b8915591a98278c3a13f 100644 (file)
@@ -799,7 +799,7 @@ static int acpi_ec_add(struct acpi_device *device)
 
        if (!first_ec)
                first_ec = ec;
-       acpi_driver_data(device) = ec;
+       device->driver_data = ec;
        acpi_ec_add_fs(device);
        pr_info(PREFIX "GPE = 0x%lx, I/O: command/status = 0x%lx, data = 0x%lx\n",
                          ec->gpe, ec->command_addr, ec->data_addr);
@@ -824,7 +824,7 @@ static int acpi_ec_remove(struct acpi_device *device, int type)
        }
        mutex_unlock(&ec->lock);
        acpi_ec_remove_fs(device);
-       acpi_driver_data(device) = NULL;
+       device->driver_data = NULL;
        if (ec == first_ec)
                first_ec = NULL;
        kfree(ec);
index dfc0486ffaff36bcaefd11eefbcd9bb076306982..60d54d1f6b195dc282528447682deb7cb3259d1d 100644 (file)
@@ -265,7 +265,7 @@ static int acpi_fan_add(struct acpi_device *device)
 
        dev_info(&device->dev, "registered as cooling_device%d\n", cdev->id);
 
-       acpi_driver_data(device) = cdev;
+       device->driver_data = cdev;
        result = sysfs_create_link(&device->dev.kobj,
                                   &cdev->device.kobj,
                                   "thermal_cooling");
index 65bf4fa596336534cd69dab10ad18a3f10239216..fcfdef7b4fddfb11f5a80a9540ad1475bf20e9da 100644 (file)
@@ -737,7 +737,7 @@ static int acpi_pci_link_add(struct acpi_device *device)
        link->device = device;
        strcpy(acpi_device_name(device), ACPI_PCI_LINK_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_PCI_LINK_CLASS);
-       acpi_driver_data(device) = link;
+       device->driver_data = link;
 
        mutex_lock(&acpi_link_lock);
        result = acpi_pci_link_get_possible(link);
index c3fed31166b552761f2bb9c3b26ef2b7c3e47592..add1a19bbbfe8ecba3b0e5e6ce63962196c65a92 100644 (file)
@@ -206,7 +206,7 @@ static int __devinit acpi_pci_root_add(struct acpi_device *device)
        root->device = device;
        strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS);
-       acpi_driver_data(device) = root;
+       device->driver_data = root;
 
        device->ops.bind = acpi_pci_bind;
 
index 7ff7349c0c52b92d02e230a4322b3b85f4baa516..e88edc008668b14a8ac6216b8bf98a45a89932e1 100644 (file)
@@ -679,7 +679,7 @@ static int acpi_power_add(struct acpi_device *device)
        strcpy(resource->name, device->pnp.bus_id);
        strcpy(acpi_device_name(device), ACPI_POWER_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_POWER_CLASS);
-       acpi_driver_data(device) = resource;
+       device->driver_data = resource;
 
        /* Evalute the object to get the system level and resource order. */
        status = acpi_evaluate_object(device->handle, NULL, NULL, &buffer);
@@ -755,7 +755,7 @@ static int acpi_power_resume(struct acpi_device *device)
        if (!device || !acpi_driver_data(device))
                return -EINVAL;
 
-       resource = (struct acpi_power_resource *)acpi_driver_data(device);
+       resource = acpi_driver_data(device);
 
        result = acpi_power_get_state(device->handle, &state);
        if (result)
index ee68ac54c0d412996aebefc58b6c51c1363da5af..289461649196b7e2cf5cf1b34d0683aadfe901ee 100644 (file)
@@ -818,7 +818,7 @@ static int acpi_processor_add(struct acpi_device *device)
        pr->handle = device->handle;
        strcpy(acpi_device_name(device), ACPI_PROCESSOR_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_PROCESSOR_CLASS);
-       acpi_driver_data(device) = pr;
+       device->driver_data = pr;
 
        return 0;
 }
index 10a36512647ca6107a76c5982a5f3acaa140b571..d0033250b5a9c82e9d52c3639a0ff0193c9af77e 100644 (file)
@@ -931,7 +931,7 @@ static int acpi_sbs_add(struct acpi_device *device)
        sbs->device = device;
        strcpy(acpi_device_name(device), ACPI_SBS_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_SBS_CLASS);
-       acpi_driver_data(device) = sbs;
+       device->driver_data = sbs;
 
        result = acpi_charger_add(sbs);
        if (result)
index a4e3767b8c64241c6bd1c11010f0c2001fd7e7c1..001d9143a2cb18923b2f56695e2a6fc6681cdcb7 100644 (file)
@@ -282,7 +282,7 @@ static int acpi_smbus_hc_add(struct acpi_device *device)
        hc->ec = acpi_driver_data(device->parent);
        hc->offset = (val >> 8) & 0xff;
        hc->query_bit = val & 0xff;
-       acpi_driver_data(device) = hc;
+       device->driver_data = hc;
 
        acpi_ec_add_query_handler(hc->ec, hc->query_bit, NULL, smbus_alarm, hc);
        printk(KERN_INFO PREFIX "SBS HC: EC = 0x%p, offset = 0x%0x, query_bit = 0x%0x\n",
@@ -303,7 +303,7 @@ static int acpi_smbus_hc_remove(struct acpi_device *device, int type)
        hc = acpi_driver_data(device);
        acpi_ec_remove_query_handler(hc->ec, hc->query_bit);
        kfree(hc);
-       acpi_driver_data(device) = NULL;
+       device->driver_data = NULL;
        return 0;
 }
 
index eae6c801536d80158aabccaa8ad6bccdf2e7b9e9..a9dda8e0f9f9c2c14859b027fcd80b1b88abdeda 100644 (file)
@@ -391,7 +391,7 @@ static int acpi_device_remove(struct device * dev)
                        acpi_drv->ops.remove(acpi_dev, acpi_dev->removal_type);
        }
        acpi_dev->driver = NULL;
-       acpi_driver_data(dev) = NULL;
+       acpi_dev->driver_data = NULL;
 
        put_device(dev);
        return 0;
@@ -544,7 +544,7 @@ acpi_bus_driver_init(struct acpi_device *device, struct acpi_driver *driver)
        result = driver->ops.add(device);
        if (result) {
                device->driver = NULL;
-               acpi_driver_data(device) = NULL;
+               device->driver_data = NULL;
                return result;
        }
 
index d13194a031bfbe0d1f9de3c83cd25471c10eda7a..4c21480b58207c0132af414bb3c361204c3e0806 100644 (file)
@@ -23,6 +23,7 @@
 #include "sleep.h"
 
 u8 sleep_states[ACPI_S_STATE_COUNT];
+static u32 acpi_target_sleep_state = ACPI_STATE_S0;
 
 static int acpi_sleep_prepare(u32 acpi_state)
 {
@@ -45,9 +46,7 @@ static int acpi_sleep_prepare(u32 acpi_state)
        return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
-static u32 acpi_target_sleep_state = ACPI_STATE_S0;
-
+#ifdef CONFIG_ACPI_SLEEP
 /*
  * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the
  * user to request that behavior by using the 'acpi_old_suspend_ordering'
@@ -132,7 +131,7 @@ static void acpi_pm_end(void)
         */
        acpi_target_sleep_state = ACPI_STATE_S0;
 }
-#endif /* CONFIG_PM_SLEEP */
+#endif /* CONFIG_ACPI_SLEEP */
 
 #ifdef CONFIG_SUSPEND
 extern void do_suspend_lowlevel(void);
index 263ec08a901188d37f2b90b7dbbbc729734e9f0d..f26c6463a09eca4d6d94506402a5628faca41b50 100644 (file)
@@ -388,10 +388,12 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
                        } else if (crt > 0) {
                                unsigned long crt_k = CELSIUS_TO_KELVIN(crt);
                                /*
-                                * Allow override to lower critical threshold
+                                * Allow override critical threshold
                                 */
-                               if (crt_k < tz->trips.critical.temperature)
-                                       tz->trips.critical.temperature = crt_k;
+                               if (crt_k > tz->trips.critical.temperature)
+                                       printk(KERN_WARNING PREFIX
+                                               "Critical threshold %d C\n", crt);
+                               tz->trips.critical.temperature = crt_k;
                        }
                }
        }
@@ -1647,7 +1649,7 @@ static int acpi_thermal_add(struct acpi_device *device)
        strcpy(tz->name, device->pnp.bus_id);
        strcpy(acpi_device_name(device), ACPI_THERMAL_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_THERMAL_CLASS);
-       acpi_driver_data(device) = tz;
+       device->driver_data = tz;
        mutex_init(&tz->lock);
 
 
index 0a43c8e0eff323fe55f29846695c71e750ffedf3..4172d290f2756d9e31f4ac9be7dff22148b5c106 100644 (file)
@@ -392,7 +392,7 @@ static unsigned long write_video(const char *buffer, unsigned long count)
 
        hci_read1(HCI_VIDEO_OUT, &video_out, &hci_result);
        if (hci_result == HCI_SUCCESS) {
-               int new_video_out = video_out;
+               unsigned int new_video_out = video_out;
                if (lcd_out != -1)
                        _set_bit(&new_video_out, HCI_VIDEO_OUT_LCD, lcd_out);
                if (crt_out != -1)
index 4ae39ee8cdef283edad7b1cad95f2915d49efffd..59fd299bb3d758a23f3b1c7b0d9da9fa5189de13 100644 (file)
@@ -1491,7 +1491,7 @@ acpi_video_bus_get_one_device(struct acpi_device *device,
 
                strcpy(acpi_device_name(device), ACPI_VIDEO_DEVICE_NAME);
                strcpy(acpi_device_class(device), ACPI_VIDEO_CLASS);
-               acpi_driver_data(device) = data;
+               device->driver_data = data;
 
                data->device_id = device_id;
                data->video = video;
@@ -1982,7 +1982,7 @@ static int acpi_video_bus_add(struct acpi_device *device)
        video->device = device;
        strcpy(acpi_device_name(device), ACPI_VIDEO_BUS_NAME);
        strcpy(acpi_device_class(device), ACPI_VIDEO_CLASS);
-       acpi_driver_data(device) = video;
+       device->driver_data = video;
 
        acpi_video_bus_find_cap(video);
        error = acpi_video_bus_check(video);
@@ -2058,7 +2058,7 @@ static int acpi_video_bus_add(struct acpi_device *device)
        acpi_video_bus_remove_fs(device);
  err_free_video:
        kfree(video);
-       acpi_driver_data(device) = NULL;
+       device->driver_data = NULL;
 
        return error;
 }
index 7c6dfd03de9fc9db3a6295f2751ed046f7cac845..57d81c713eab24e59e4981212fb21b1422055dab 100644 (file)
@@ -139,6 +139,7 @@ ASUS_HANDLE(lcd_switch, "\\_SB.PCI0.SBRG.EC0._Q10", /* All new models */
            "\\_SB.PCI0.PX40.ECD0._Q10",        /* L3C */
            "\\_SB.PCI0.PX40.EC0.Q10",  /* M1A */
            "\\_SB.PCI0.LPCB.EC0._Q10", /* P30 */
+           "\\_SB.PCI0.LPCB.EC0._Q0E", /* P30/P35 */
            "\\_SB.PCI0.PX40.Q10",      /* S1x */
            "\\Q10");           /* A2x, L2D, L3D, M2E */
 
@@ -350,7 +351,7 @@ static void write_status(acpi_handle handle, int out, int mask)
        static void object##_led_set(struct led_classdev *led_cdev,     \
                                     enum led_brightness value)         \
        {                                                               \
-               object##_led_wk = value;                                \
+               object##_led_wk = (value > 0) ? 1 : 0;                  \
                queue_work(led_workqueue, &object##_led_work);          \
        }                                                               \
        static void object##_led_update(struct work_struct *ignored)    \
@@ -996,7 +997,7 @@ static int asus_hotk_add(struct acpi_device *device)
        hotk->handle = device->handle;
        strcpy(acpi_device_name(device), ASUS_HOTK_DEVICE_NAME);
        strcpy(acpi_device_class(device), ASUS_HOTK_CLASS);
-       acpi_driver_data(device) = hotk;
+       device->driver_data = hotk;
        hotk->device = device;
 
        result = asus_hotk_check();
index 5baa10bcaf6d5e5451075a94bc995f71fc1ad15c..7b39e0f0f1be6cac4d8b33903e834d07ec240a96 100644 (file)
@@ -554,7 +554,7 @@ static int eeepc_hotk_add(struct acpi_device *device)
        ehotk->handle = device->handle;
        strcpy(acpi_device_name(device), EEEPC_HOTK_DEVICE_NAME);
        strcpy(acpi_device_class(device), EEEPC_HOTK_CLASS);
-       acpi_driver_data(device) = ehotk;
+       device->driver_data = ehotk;
        ehotk->device = device;
        result = eeepc_hotk_check();
        if (result)
index f861db0727777ffec5ed3b98b1881efb77121ae6..8555a17f00ef95507ef3986636b973dd06490d48 100644 (file)
@@ -508,7 +508,7 @@ static int acpi_fujitsu_add(struct acpi_device *device)
        fujitsu->acpi_handle = device->handle;
        sprintf(acpi_device_name(device), "%s", ACPI_FUJITSU_DEVICE_NAME);
        sprintf(acpi_device_class(device), "%s", ACPI_FUJITSU_CLASS);
-       acpi_driver_data(device) = fujitsu;
+       device->driver_data = fujitsu;
 
        status = acpi_install_notify_handler(device->handle,
                                             ACPI_DEVICE_NOTIFY,
@@ -718,7 +718,7 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device)
        sprintf(acpi_device_name(device), "%s",
                ACPI_FUJITSU_HOTKEY_DEVICE_NAME);
        sprintf(acpi_device_class(device), "%s", ACPI_FUJITSU_CLASS);
-       acpi_driver_data(device) = fujitsu_hotkey;
+       device->driver_data = fujitsu_hotkey;
 
        status = acpi_install_notify_handler(device->handle,
                                             ACPI_DEVICE_NOTIFY,
index 80a1363524087a1e66e575058360d071bbca352f..cd3ea7faa5b6bd4cf55d3bd2ec2c2c0436f0ae41 100644 (file)
@@ -175,7 +175,7 @@ static int intel_menlow_memory_add(struct acpi_device *device)
                goto end;
        }
 
-       acpi_driver_data(device) = cdev;
+       device->driver_data = cdev;
        result = sysfs_create_link(&device->dev.kobj,
                                &cdev->device.kobj, "thermal_cooling");
        if (result)
index 60775be22822901f0a67e70878eceac666ab1afa..5a97d3a9d745ee3ab5d17e5e1b86bce5a9fae132 100644 (file)
@@ -970,7 +970,7 @@ static int sony_nc_resume(struct acpi_device *device)
        /* set the last requested brightness level */
        if (sony_backlight_device &&
                        !sony_backlight_update_status(sony_backlight_device))
-               printk(KERN_WARNING DRV_PFX "unable to restore brightness level");
+               printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n");
 
        /* re-initialize models with specific requirements */
        dmi_check_system(sony_nc_ids);
index 6b9300779a431c1828acad495ddfbbec41332836..62aebaa859133df4785f2d3302e5e6afa9afcd79 100644 (file)
@@ -543,7 +543,7 @@ static int __init setup_acpi_notify(struct ibm_struct *ibm)
                return -ENODEV;
        }
 
-       acpi_driver_data(ibm->acpi->device) = ibm;
+       ibm->acpi->device->driver_data = ibm;
        sprintf(acpi_device_class(ibm->acpi->device), "%s/%s",
                TPACPI_ACPI_EVENT_PREFIX,
                ibm->name);
index f74f882609f823f31540c38abf62347364a62244..c1b5556c985d23893106768de6758c6c1a1a16e5 100644 (file)
@@ -300,7 +300,11 @@ struct acpi_device {
        enum acpi_bus_removal_type removal_type;        /* indicate for different removal type */
 };
 
-#define acpi_driver_data(d)    ((d)->driver_data)
+static inline void *acpi_driver_data(struct acpi_device *d)
+{
+       return d->driver_data;
+}
+
 #define to_acpi_device(d)      container_of(d, struct acpi_device, dev)
 #define to_acpi_driver(d)      container_of(d, struct acpi_driver, drv)