On Thu, 11 Feb 2010, Thomas Renninger wrote: > Eh, > > what is this for?: > static inline void *acpi_driver_data(struct acpi_device *d) > { > return d->driver_data; > } > > On Thursday 11 February 2010 10:56:51 Darren Jenkins wrote: > > There are a few places where a pointer is dereferenced with acpi_driver_data() > > before a NULL test. This re-orders the code to fix these issues. > > > > Coverity CID: 2752 2751 2750 > > > > Signed-off-by: Darren Jenkins <darrenrjenkins@xxxxxxxxx> > > --- > > drivers/acpi/processor_thermal.c | 28 ++++++++++++++++++++-------- > > 1 files changed, 20 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c > > index 6deafb4..ec33554 100644 > > --- a/drivers/acpi/processor_thermal.c > > +++ b/drivers/acpi/processor_thermal.c > > @@ -379,9 +379,14 @@ processor_get_max_state(struct thermal_cooling_device *cdev, > > unsigned long *state) > > { > > struct acpi_device *device = cdev->devdata; > > - struct acpi_processor *pr = acpi_driver_data(device); > > + struct acpi_processor *pr; > > > > - if (!device || !pr) > > + if (!device) > > + return -EINVAL; > > + > > + pr = acpi_driver_data(device); > Better use (here and at other places): > device->driver_data > instead of > acpi_driver_data(device) > > if you touch this anyway. > Then such bugs like the one you address here, don't happen > anymore in the future. > If you have some more time you might want to revert all the > other instances and revert the acpi_driver_data declaration > in include/acpi/acpi_bus.h A potential patch that gets rid of the uses is below. I don't have time to look at this in more detail at the moment, but perhaps someone else would like to do so. The semantic patch (http://coccinelle.lip6.fr) involved is: @@ struct acpi_device *d; @@ - acpi_driver_data(d) + d->driver_data julia --------------- diff -u -p a/arch/x86/kernel/cpu/cpufreq/longhaul.c b/arch/x86/kernel/cpu/cpufreq/longhaul.c --- a/arch/x86/kernel/cpu/cpufreq/longhaul.c 2009-12-03 14:09:47.000000000 +0100 +++ b/arch/x86/kernel/cpu/cpufreq/longhaul.c 2010-02-11 12:48:46.000000000 +0100 @@ -699,7 +699,7 @@ static acpi_status longhaul_walk_callbac if (acpi_bus_get_device(obj_handle, &d)) return 0; - *return_value = acpi_driver_data(d); + *return_value = d->driver_data; return 1; } diff -u -p a/drivers/acpi/ac.c b/drivers/acpi/ac.c --- a/drivers/acpi/ac.c 2009-10-17 10:35:58.000000000 +0200 +++ b/drivers/acpi/ac.c 2010-02-11 12:48:47.000000000 +0100 @@ -201,7 +201,7 @@ static int acpi_ac_add_fs(struct acpi_de /* 'state' [R] */ entry = proc_create_data(ACPI_AC_FILE_STATE, S_IRUGO, acpi_device_dir(device), - &acpi_ac_fops, acpi_driver_data(device)); + &acpi_ac_fops, device->driver_data); if (!entry) return -ENODEV; return 0; @@ -227,7 +227,7 @@ static int acpi_ac_remove_fs(struct acpi static void acpi_ac_notify(struct acpi_device *device, u32 event) { - struct acpi_ac *ac = acpi_driver_data(device); + struct acpi_ac *ac = device->driver_data; if (!ac) @@ -309,9 +309,9 @@ static int acpi_ac_resume(struct acpi_de { struct acpi_ac *ac; unsigned old_state; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - ac = acpi_driver_data(device); + ac = device->driver_data; old_state = ac->state; if (acpi_ac_get_state(ac)) return 0; @@ -327,10 +327,10 @@ static int acpi_ac_remove(struct acpi_de struct acpi_ac *ac = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - ac = acpi_driver_data(device); + ac = device->driver_data; #ifdef CONFIG_ACPI_SYSFS_POWER if (ac->charger.dev) diff -u -p a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c --- a/drivers/acpi/acpi_memhotplug.c 2009-12-03 14:09:47.000000000 +0100 +++ b/drivers/acpi/acpi_memhotplug.c 2010-02-11 12:48:47.000000000 +0100 @@ -184,7 +184,7 @@ acpi_memory_get_device(acpi_handle handl } end: - *mem_device = acpi_driver_data(device); + *mem_device = device->driver_data; if (!(*mem_device)) { printk(KERN_ERR "\n driver data not found"); return -ENODEV; @@ -370,7 +370,7 @@ static void acpi_memory_device_notify(ac printk(KERN_ERR PREFIX "Device doesn't exist\n"); break; } - mem_device = acpi_driver_data(device); + mem_device = device->driver_data; if (!mem_device) { printk(KERN_ERR PREFIX "Driver Data is NULL\n"); break; @@ -453,10 +453,10 @@ static int acpi_memory_device_remove(str struct acpi_memory_device *mem_device = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - mem_device = acpi_driver_data(device); + mem_device = device->driver_data; kfree(mem_device); return 0; diff -u -p a/drivers/acpi/battery.c b/drivers/acpi/battery.c --- a/drivers/acpi/battery.c 2010-01-29 18:29:07.000000000 +0100 +++ b/drivers/acpi/battery.c 2010-02-11 12:48:46.000000000 +0100 @@ -838,7 +838,7 @@ static int acpi_battery_add_fs(struct ac acpi_battery_file[i].mode, acpi_device_dir(device), &acpi_battery_file[i].ops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; } @@ -866,7 +866,7 @@ static void acpi_battery_remove_fs(struc static void acpi_battery_notify(struct acpi_device *device, u32 event) { - struct acpi_battery *battery = acpi_driver_data(device); + struct acpi_battery *battery = device->driver_data; if (!battery) return; @@ -922,9 +922,9 @@ static int acpi_battery_remove(struct ac { struct acpi_battery *battery = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - battery = acpi_driver_data(device); + battery = device->driver_data; #ifdef CONFIG_ACPI_PROCFS_POWER acpi_battery_remove_fs(device); #endif @@ -942,7 +942,7 @@ static int acpi_battery_resume(struct ac struct acpi_battery *battery; if (!device) return -EINVAL; - battery = acpi_driver_data(device); + battery = device->driver_data; battery->update_time = 0; acpi_battery_update(battery); return 0; diff -u -p a/drivers/acpi/button.c b/drivers/acpi/button.c --- a/drivers/acpi/button.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/button.c 2010-02-11 12:48:46.000000000 +0100 @@ -162,7 +162,7 @@ static struct proc_dir_entry *acpi_lid_d static int acpi_button_add_fs(struct acpi_device *device) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; struct proc_dir_entry *entry = NULL; switch (button->type) { @@ -214,7 +214,7 @@ static int acpi_button_add_fs(struct acp static int acpi_button_remove_fs(struct acpi_device *device) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; if (acpi_device_dir(device)) { if (button->type == ACPI_BUTTON_TYPE_LID) @@ -265,7 +265,7 @@ EXPORT_SYMBOL(acpi_lid_open); static int acpi_lid_send_state(struct acpi_device *device) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; unsigned long long state; acpi_status status; int ret; @@ -294,7 +294,7 @@ static int acpi_lid_send_state(struct ac static void acpi_button_notify(struct acpi_device *device, u32 event) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; struct input_dev *input; switch (event) { @@ -326,7 +326,7 @@ static void acpi_button_notify(struct ac static int acpi_button_resume(struct acpi_device *device) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; if (button->type == ACPI_BUTTON_TYPE_LID) return acpi_lid_send_state(device); @@ -444,7 +444,7 @@ static int acpi_button_add(struct acpi_d static int acpi_button_remove(struct acpi_device *device, int type) { - struct acpi_button *button = acpi_driver_data(device); + struct acpi_button *button = device->driver_data; if (device->wakeup.flags.valid) { acpi_unref_runtime_gpe(device->wakeup.gpe_device, diff -u -p a/drivers/acpi/container.c b/drivers/acpi/container.c --- a/drivers/acpi/container.c 2009-12-03 14:09:47.000000000 +0100 +++ b/drivers/acpi/container.c 2010-02-11 12:48:46.000000000 +0100 @@ -122,7 +122,7 @@ static int acpi_container_remove(struct acpi_status status = AE_OK; struct acpi_container *pc = NULL; - pc = acpi_driver_data(device); + pc = device->driver_data; kfree(pc); return status; } diff -u -p a/drivers/acpi/ec.c b/drivers/acpi/ec.c --- a/drivers/acpi/ec.c 2010-01-29 18:29:07.000000000 +0100 +++ b/drivers/acpi/ec.c 2010-02-11 12:48:48.000000000 +0100 @@ -693,7 +693,7 @@ static int acpi_ec_add_fs(struct acpi_de entry = proc_create_data(ACPI_EC_FILE_INFO, S_IRUGO, acpi_device_dir(device), - &acpi_ec_info_ops, acpi_driver_data(device)); + &acpi_ec_info_ops, device->driver_data); if (!entry) return -ENODEV; return 0; @@ -880,7 +880,7 @@ static int acpi_ec_remove(struct acpi_de if (!device) return -EINVAL; - ec = acpi_driver_data(device); + ec = device->driver_data; ec_remove_handlers(ec); mutex_lock(&ec->lock); list_for_each_entry_safe(handler, tmp, &ec->list, node) { @@ -1058,7 +1058,7 @@ error: static int acpi_ec_suspend(struct acpi_device *device, pm_message_t state) { - struct acpi_ec *ec = acpi_driver_data(device); + struct acpi_ec *ec = device->driver_data; /* Stop using GPE */ acpi_disable_gpe(NULL, ec->gpe); return 0; @@ -1066,7 +1066,7 @@ static int acpi_ec_suspend(struct acpi_d static int acpi_ec_resume(struct acpi_device *device) { - struct acpi_ec *ec = acpi_driver_data(device); + struct acpi_ec *ec = device->driver_data; /* Enable use of GPE back */ acpi_enable_gpe(NULL, ec->gpe); return 0; diff -u -p a/drivers/acpi/fan.c b/drivers/acpi/fan.c --- a/drivers/acpi/fan.c 2009-12-17 08:30:13.000000000 +0100 +++ b/drivers/acpi/fan.c 2010-02-11 12:48:47.000000000 +0100 @@ -298,7 +298,7 @@ static int acpi_fan_add(struct acpi_devi static int acpi_fan_remove(struct acpi_device *device, int type) { - struct thermal_cooling_device *cdev = acpi_driver_data(device); + struct thermal_cooling_device *cdev = device->driver_data; if (!device || !cdev) return -EINVAL; diff -u -p a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c --- a/drivers/acpi/pci_link.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/pci_link.c 2010-02-11 12:48:46.000000000 +0100 @@ -599,7 +599,7 @@ int acpi_pci_link_allocate_irq(acpi_hand return -1; } - link = acpi_driver_data(device); + link = device->driver_data; if (!link) { printk(KERN_ERR PREFIX "Invalid link context\n"); return -1; @@ -653,7 +653,7 @@ int acpi_pci_link_free_irq(acpi_handle h return -1; } - link = acpi_driver_data(device); + link = device->driver_data; if (!link) { printk(KERN_ERR PREFIX "Invalid link context\n"); return -1; @@ -771,7 +771,7 @@ static int acpi_pci_link_remove(struct a { struct acpi_pci_link *link; - link = acpi_driver_data(device); + link = device->driver_data; mutex_lock(&acpi_link_lock); list_del(&link->list); diff -u -p a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c --- a/drivers/acpi/pci_root.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/pci_root.c 2010-02-11 12:48:46.000000000 +0100 @@ -544,7 +544,7 @@ end: static int acpi_pci_root_start(struct acpi_device *device) { - struct acpi_pci_root *root = acpi_driver_data(device); + struct acpi_pci_root *root = device->driver_data; pci_bus_add_devices(root->bus); return 0; @@ -552,7 +552,7 @@ static int acpi_pci_root_start(struct ac static int acpi_pci_root_remove(struct acpi_device *device, int type) { - struct acpi_pci_root *root = acpi_driver_data(device); + struct acpi_pci_root *root = device->driver_data; device_set_run_wake(root->bus->bridge, false); pci_acpi_remove_pm_notifier(device); diff -u -p a/drivers/acpi/power.c b/drivers/acpi/power.c --- a/drivers/acpi/power.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/power.c 2010-02-11 12:48:46.000000000 +0100 @@ -127,7 +127,7 @@ acpi_power_get_context(acpi_handle handl return result; } - *resource = acpi_driver_data(device); + *resource = device->driver_data; if (!*resource) return -ENODEV; @@ -618,7 +618,7 @@ static int acpi_power_add_fs(struct acpi /* 'status' [R] */ entry = proc_create_data(ACPI_POWER_FILE_STATUS, S_IRUGO, acpi_device_dir(device), - &acpi_power_fops, acpi_driver_data(device)); + &acpi_power_fops, device->driver_data); if (!entry) return -EIO; return 0; @@ -710,10 +710,10 @@ static int acpi_power_remove(struct acpi struct list_head *node, *next; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - resource = acpi_driver_data(device); + resource = device->driver_data; acpi_power_remove_fs(device); @@ -736,10 +736,10 @@ static int acpi_power_resume(struct acpi struct acpi_power_resource *resource = NULL; struct acpi_power_reference *ref; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - resource = acpi_driver_data(device); + resource = device->driver_data; result = acpi_power_get_state(device->handle, &state); if (result) diff -u -p a/drivers/acpi/power_meter.c b/drivers/acpi/power_meter.c --- a/drivers/acpi/power_meter.c 2010-01-29 18:29:07.000000000 +0100 +++ b/drivers/acpi/power_meter.c 2010-02-11 12:48:46.000000000 +0100 @@ -841,10 +841,10 @@ static void acpi_power_meter_notify(stru struct acpi_power_meter_resource *resource; int res; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return; - resource = acpi_driver_data(device); + resource = device->driver_data; mutex_lock(&resource->lock); switch (event) { @@ -934,10 +934,10 @@ static int acpi_power_meter_remove(struc { struct acpi_power_meter_resource *resource; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - resource = acpi_driver_data(device); + resource = device->driver_data; hwmon_device_unregister(resource->hwmon_dev); free_capabilities(resource); @@ -951,10 +951,10 @@ static int acpi_power_meter_resume(struc { struct acpi_power_meter_resource *resource; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - resource = acpi_driver_data(device); + resource = device->driver_data; free_capabilities(resource); read_capabilities(resource); diff -u -p a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c --- a/drivers/acpi/processor_core.c 2010-01-12 18:05:01.000000000 +0100 +++ b/drivers/acpi/processor_core.c 2010-02-11 12:48:47.000000000 +0100 @@ -309,7 +309,7 @@ static int __cpuinit acpi_processor_add_ entry = proc_create_data(ACPI_PROCESSOR_FILE_INFO, S_IRUGO, acpi_device_dir(device), &acpi_processor_info_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -EIO; @@ -318,7 +318,7 @@ static int __cpuinit acpi_processor_add_ S_IFREG | S_IRUGO | S_IWUSR, acpi_device_dir(device), &acpi_processor_throttling_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -EIO; @@ -327,7 +327,7 @@ static int __cpuinit acpi_processor_add_ S_IFREG | S_IRUGO | S_IWUSR, acpi_device_dir(device), &acpi_processor_limit_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -EIO; return 0; @@ -528,7 +528,7 @@ static int acpi_processor_get_info(struc int cpu_index, device_declaration = 0; static int cpu0_initialized; - pr = acpi_driver_data(device); + pr = device->driver_data; if (!pr) return -EINVAL; @@ -653,7 +653,7 @@ static DEFINE_PER_CPU(void *, processor_ static void acpi_processor_notify(struct acpi_device *device, u32 event) { - struct acpi_processor *pr = acpi_driver_data(device); + struct acpi_processor *pr = device->driver_data; int saved; if (!pr) @@ -822,10 +822,10 @@ static int acpi_processor_remove(struct struct acpi_processor *pr = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - pr = acpi_driver_data(device); + pr = device->driver_data; if (pr->id >= nr_cpu_ids) goto free; @@ -944,7 +944,7 @@ static void __ref acpi_processor_hotplug "Device don't exist, dropping EJECT\n"); break; } - pr = acpi_driver_data(device); + pr = device->driver_data; if (!pr) { printk(KERN_ERR PREFIX "Driver data is NULL, dropping EJECT\n"); diff -u -p a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c --- a/drivers/acpi/processor_idle.c 2010-01-29 18:29:07.000000000 +0100 +++ b/drivers/acpi/processor_idle.c 2010-02-11 12:48:46.000000000 +0100 @@ -1212,7 +1212,7 @@ int __cpuinit acpi_processor_power_init( entry = proc_create_data(ACPI_PROCESSOR_FILE_POWER, S_IRUGO, acpi_device_dir(device), &acpi_processor_power_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -EIO; #endif diff -u -p a/drivers/acpi/processor_thermal.c b/drivers/acpi/processor_thermal.c --- a/drivers/acpi/processor_thermal.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/processor_thermal.c 2010-02-11 12:48:47.000000000 +0100 @@ -256,7 +256,7 @@ int acpi_processor_set_thermal_limit(acp if (result) return result; - pr = acpi_driver_data(device); + pr = device->driver_data; if (!pr) return -ENODEV; @@ -379,7 +379,7 @@ processor_get_max_state(struct thermal_c unsigned long *state) { struct acpi_device *device = cdev->devdata; - struct acpi_processor *pr = acpi_driver_data(device); + struct acpi_processor *pr = device->driver_data; if (!device || !pr) return -EINVAL; @@ -393,7 +393,7 @@ processor_get_cur_state(struct thermal_c unsigned long *cur_state) { struct acpi_device *device = cdev->devdata; - struct acpi_processor *pr = acpi_driver_data(device); + struct acpi_processor *pr = device->driver_data; if (!device || !pr) return -EINVAL; @@ -409,7 +409,7 @@ processor_set_cur_state(struct thermal_c unsigned long state) { struct acpi_device *device = cdev->devdata; - struct acpi_processor *pr = acpi_driver_data(device); + struct acpi_processor *pr = device->driver_data; int result = 0; int max_pstate; diff -u -p a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c --- a/drivers/acpi/sbs.c 2010-01-20 13:04:05.000000000 +0100 +++ b/drivers/acpi/sbs.c 2010-02-11 12:48:46.000000000 +0100 @@ -973,7 +973,7 @@ static int acpi_sbs_remove(struct acpi_d if (!device) return -EINVAL; - sbs = acpi_driver_data(device); + sbs = device->driver_data; if (!sbs) return -EINVAL; mutex_lock(&sbs->lock); diff -u -p a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c --- a/drivers/acpi/sbshc.c 2010-01-03 21:18:12.000000000 +0100 +++ b/drivers/acpi/sbshc.c 2010-02-11 12:48:46.000000000 +0100 @@ -301,7 +301,7 @@ static int acpi_smbus_hc_remove(struct a if (!device) return -EINVAL; - hc = acpi_driver_data(device); + hc = device->driver_data; acpi_ec_remove_query_handler(hc->ec, hc->query_bit); kfree(hc); device->driver_data = NULL; diff -u -p a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c --- a/drivers/acpi/thermal.c 2009-12-03 14:09:47.000000000 +0100 +++ b/drivers/acpi/thermal.c 2010-02-11 12:48:47.000000000 +0100 @@ -1215,7 +1215,7 @@ static int acpi_thermal_add_fs(struct ac entry = proc_create_data(ACPI_THERMAL_FILE_STATE, S_IRUGO, acpi_device_dir(device), &acpi_thermal_state_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; @@ -1223,7 +1223,7 @@ static int acpi_thermal_add_fs(struct ac entry = proc_create_data(ACPI_THERMAL_FILE_TEMPERATURE, S_IRUGO, acpi_device_dir(device), &acpi_thermal_temp_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; @@ -1232,7 +1232,7 @@ static int acpi_thermal_add_fs(struct ac S_IRUGO, acpi_device_dir(device), &acpi_thermal_trip_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; @@ -1241,7 +1241,7 @@ static int acpi_thermal_add_fs(struct ac S_IFREG | S_IRUGO | S_IWUSR, acpi_device_dir(device), &acpi_thermal_cooling_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; @@ -1250,7 +1250,7 @@ static int acpi_thermal_add_fs(struct ac S_IFREG | S_IRUGO | S_IWUSR, acpi_device_dir(device), &acpi_thermal_polling_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) return -ENODEV; return 0; @@ -1283,7 +1283,7 @@ static int acpi_thermal_remove_fs(struct static void acpi_thermal_notify(struct acpi_device *device, u32 event) { - struct acpi_thermal *tz = acpi_driver_data(device); + struct acpi_thermal *tz = device->driver_data; if (!tz) @@ -1417,10 +1417,10 @@ static int acpi_thermal_remove(struct ac { struct acpi_thermal *tz = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - tz = acpi_driver_data(device); + tz = device->driver_data; acpi_thermal_remove_fs(device); acpi_thermal_unregister_thermal_zone(tz); @@ -1435,10 +1435,10 @@ static int acpi_thermal_resume(struct ac int i, j, power_state, result; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - tz = acpi_driver_data(device); + tz = device->driver_data; for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++) { if (!(&tz->trips.active[i])) diff -u -p a/drivers/acpi/video.c b/drivers/acpi/video.c --- a/drivers/acpi/video.c 2010-01-29 18:29:07.000000000 +0100 +++ b/drivers/acpi/video.c 2010-02-11 12:48:47.000000000 +0100 @@ -400,7 +400,7 @@ static int video_get_max_state(struct th long *state) { struct acpi_device *device = cooling_dev->devdata; - struct acpi_video_device *video = acpi_driver_data(device); + struct acpi_video_device *video = device->driver_data; *state = video->brightness->count - 3; return 0; @@ -410,7 +410,7 @@ static int video_get_cur_state(struct th long *state) { struct acpi_device *device = cooling_dev->devdata; - struct acpi_video_device *video = acpi_driver_data(device); + struct acpi_video_device *video = device->driver_data; unsigned long long level; int offset; @@ -429,7 +429,7 @@ static int video_set_cur_state(struct thermal_cooling_device *cooling_dev, unsigned long state) { struct acpi_device *device = cooling_dev->devdata; - struct acpi_video_device *video = acpi_driver_data(device); + struct acpi_video_device *video = device->driver_data; int level; if ( state >= video->brightness->count - 2) @@ -1358,7 +1358,7 @@ static int acpi_video_device_add_fs(stru struct proc_dir_entry *entry, *device_dir; struct acpi_video_device *vid_dev; - vid_dev = acpi_driver_data(device); + vid_dev = device->driver_data; if (!vid_dev) return -ENODEV; @@ -1369,7 +1369,7 @@ static int acpi_video_device_add_fs(stru /* 'info' [R] */ entry = proc_create_data("info", S_IRUGO, device_dir, - &acpi_video_device_info_fops, acpi_driver_data(device)); + &acpi_video_device_info_fops, device->driver_data); if (!entry) goto err_remove_dir; @@ -1377,7 +1377,7 @@ static int acpi_video_device_add_fs(stru entry = proc_create_data("state", S_IFREG | S_IRUGO | S_IWUSR, device_dir, &acpi_video_device_state_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_info; @@ -1385,14 +1385,14 @@ static int acpi_video_device_add_fs(stru entry = proc_create_data("brightness", S_IFREG | S_IRUGO | S_IWUSR, device_dir, &acpi_video_device_brightness_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_state; /* 'EDID' [R] */ entry = proc_create_data("EDID", S_IRUGO, device_dir, &acpi_video_device_EDID_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_brightness; @@ -1416,7 +1416,7 @@ static int acpi_video_device_remove_fs(s struct acpi_video_device *vid_dev; struct proc_dir_entry *device_dir; - vid_dev = acpi_driver_data(device); + vid_dev = device->driver_data; if (!vid_dev || !vid_dev->video || !vid_dev->video->dir) return -ENODEV; @@ -1632,7 +1632,7 @@ acpi_video_bus_write_DOS(struct file *fi static int acpi_video_bus_add_fs(struct acpi_device *device) { - struct acpi_video_bus *video = acpi_driver_data(device); + struct acpi_video_bus *video = device->driver_data; struct proc_dir_entry *device_dir; struct proc_dir_entry *entry; @@ -1643,21 +1643,21 @@ static int acpi_video_bus_add_fs(struct /* 'info' [R] */ entry = proc_create_data("info", S_IRUGO, device_dir, &acpi_video_bus_info_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_dir; /* 'ROM' [R] */ entry = proc_create_data("ROM", S_IRUGO, device_dir, &acpi_video_bus_ROM_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_info; /* 'POST_info' [R] */ entry = proc_create_data("POST_info", S_IRUGO, device_dir, &acpi_video_bus_POST_info_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_rom; @@ -1665,7 +1665,7 @@ static int acpi_video_bus_add_fs(struct entry = proc_create_data("POST", S_IFREG | S_IRUGO | S_IWUSR, device_dir, &acpi_video_bus_POST_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_post_info; @@ -1673,7 +1673,7 @@ static int acpi_video_bus_add_fs(struct entry = proc_create_data("DOS", S_IFREG | S_IRUGO | S_IWUSR, device_dir, &acpi_video_bus_DOS_fops, - acpi_driver_data(device)); + device->driver_data); if (!entry) goto err_remove_post; @@ -2111,7 +2111,7 @@ static int acpi_video_bus_stop_devices(s static void acpi_video_bus_notify(struct acpi_device *device, u32 event) { - struct acpi_video_bus *video = acpi_driver_data(device); + struct acpi_video_bus *video = device->driver_data; struct input_dev *input; int keycode; @@ -2233,10 +2233,10 @@ static int acpi_video_resume(struct acpi struct acpi_video_device *video_device; int i; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - video = acpi_driver_data(device); + video = device->driver_data; for (i = 0; i < video->attached_count; i++) { video_device = video->attached_array[i].bind_info; @@ -2381,10 +2381,10 @@ static int acpi_video_bus_remove(struct struct acpi_video_bus *video = NULL; - if (!device || !acpi_driver_data(device)) + if (!device || !device->driver_data) return -EINVAL; - video = acpi_driver_data(device); + video = device->driver_data; acpi_video_bus_stop_devices(video); acpi_video_bus_put_devices(video); diff -u -p a/drivers/i2c/busses/i2c-scmi.c b/drivers/i2c/busses/i2c-scmi.c --- a/drivers/i2c/busses/i2c-scmi.c 2009-12-03 14:09:47.000000000 +0100 +++ b/drivers/i2c/busses/i2c-scmi.c 2010-02-11 12:48:47.000000000 +0100 @@ -409,7 +409,7 @@ err: static int acpi_smbus_cmi_remove(struct acpi_device *device, int type) { - struct acpi_smbus_cmi *smbus_cmi = acpi_driver_data(device); + struct acpi_smbus_cmi *smbus_cmi = device->driver_data; i2c_del_adapter(&smbus_cmi->adapter); kfree(smbus_cmi); diff -u -p a/drivers/platform/x86/asus_acpi.c b/drivers/platform/x86/asus_acpi.c --- a/drivers/platform/x86/asus_acpi.c 2009-12-29 11:37:46.000000000 +0100 +++ b/drivers/platform/x86/asus_acpi.c 2010-02-11 12:48:46.000000000 +0100 @@ -1063,7 +1063,7 @@ asus_proc_add(char *name, const struct f struct proc_dir_entry *proc; proc = proc_create_data(name, mode, acpi_device_dir(device), - proc_fops, acpi_driver_data(device)); + proc_fops, device->driver_data); if (!proc) { printk(KERN_WARNING " Unable to create %s fs entry\n", name); return -1; diff -u -p a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c --- a/drivers/platform/x86/eeepc-laptop.c 2010-01-20 13:04:06.000000000 +0100 +++ b/drivers/platform/x86/eeepc-laptop.c 2010-02-11 12:48:46.000000000 +0100 @@ -1193,7 +1193,7 @@ static void eeepc_input_exit(struct eeep */ static void eeepc_acpi_notify(struct acpi_device *device, u32 event) { - struct eeepc_laptop *eeepc = acpi_driver_data(device); + struct eeepc_laptop *eeepc = device->driver_data; u16 count; if (event > ACPI_MAX_SYS_NOTIFY) @@ -1433,7 +1433,7 @@ fail_platform: static int eeepc_acpi_remove(struct acpi_device *device, int type) { - struct eeepc_laptop *eeepc = acpi_driver_data(device); + struct eeepc_laptop *eeepc = device->driver_data; eeepc_backlight_exit(eeepc); eeepc_rfkill_exit(eeepc); diff -u -p a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c --- a/drivers/platform/x86/fujitsu-laptop.c 2009-12-24 11:27:00.000000000 +0100 +++ b/drivers/platform/x86/fujitsu-laptop.c 2010-02-11 12:48:46.000000000 +0100 @@ -732,7 +732,7 @@ err_stop: static int acpi_fujitsu_remove(struct acpi_device *device, int type) { - struct fujitsu_t *fujitsu = acpi_driver_data(device); + struct fujitsu_t *fujitsu = device->driver_data; struct input_dev *input = fujitsu->input; input_unregister_device(input); @@ -939,7 +939,7 @@ err_stop: static int acpi_fujitsu_hotkey_remove(struct acpi_device *device, int type) { - struct fujitsu_hotkey_t *fujitsu_hotkey = acpi_driver_data(device); + struct fujitsu_hotkey_t *fujitsu_hotkey = device->driver_data; struct input_dev *input = fujitsu_hotkey->input; #if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE) diff -u -p a/drivers/platform/x86/intel_menlow.c b/drivers/platform/x86/intel_menlow.c --- a/drivers/platform/x86/intel_menlow.c 2009-12-03 14:09:48.000000000 +0100 +++ b/drivers/platform/x86/intel_menlow.c 2010-02-11 12:48:46.000000000 +0100 @@ -198,7 +198,7 @@ static int intel_menlow_memory_add(struc static int intel_menlow_memory_remove(struct acpi_device *device, int type) { - struct thermal_cooling_device *cdev = acpi_driver_data(device); + struct thermal_cooling_device *cdev = device->driver_data; if (!device || !cdev) return -EINVAL; diff -u -p a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c --- a/drivers/platform/x86/panasonic-laptop.c 2009-04-13 16:04:30.000000000 +0200 +++ b/drivers/platform/x86/panasonic-laptop.c 2010-02-11 12:48:46.000000000 +0100 @@ -364,7 +364,7 @@ static ssize_t show_numbatt(struct devic char *buf) { struct acpi_device *acpi = to_acpi_device(dev); - struct pcc_acpi *pcc = acpi_driver_data(acpi); + struct pcc_acpi *pcc = acpi->driver_data; if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) return -EIO; @@ -376,7 +376,7 @@ static ssize_t show_lcdtype(struct devic char *buf) { struct acpi_device *acpi = to_acpi_device(dev); - struct pcc_acpi *pcc = acpi_driver_data(acpi); + struct pcc_acpi *pcc = acpi->driver_data; if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) return -EIO; @@ -388,7 +388,7 @@ static ssize_t show_mute(struct device * char *buf) { struct acpi_device *acpi = to_acpi_device(dev); - struct pcc_acpi *pcc = acpi_driver_data(acpi); + struct pcc_acpi *pcc = acpi->driver_data; if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) return -EIO; @@ -400,7 +400,7 @@ static ssize_t show_sticky(struct device char *buf) { struct acpi_device *acpi = to_acpi_device(dev); - struct pcc_acpi *pcc = acpi_driver_data(acpi); + struct pcc_acpi *pcc = acpi->driver_data; if (!acpi_pcc_retrieve_biosdata(pcc, pcc->sinf)) return -EIO; @@ -412,7 +412,7 @@ static ssize_t set_sticky(struct device const char *buf, size_t count) { struct acpi_device *acpi = to_acpi_device(dev); - struct pcc_acpi *pcc = acpi_driver_data(acpi); + struct pcc_acpi *pcc = acpi->driver_data; int val; if (count && sscanf(buf, "%i", &val) == 1 && @@ -531,7 +531,7 @@ static void acpi_pcc_generate_keyinput(s static void acpi_pcc_hotkey_notify(struct acpi_device *device, u32 event) { - struct pcc_acpi *pcc = acpi_driver_data(device); + struct pcc_acpi *pcc = device->driver_data; switch (event) { case HKEY_NOTIFY: @@ -585,7 +585,7 @@ static int acpi_pcc_init_input(struct pc static int acpi_pcc_hotkey_resume(struct acpi_device *device) { - struct pcc_acpi *pcc = acpi_driver_data(device); + struct pcc_acpi *pcc = device->driver_data; acpi_status status = AE_OK; if (device == NULL || pcc == NULL) @@ -701,7 +701,7 @@ static int __init acpi_pcc_init(void) static int acpi_pcc_hotkey_remove(struct acpi_device *device, int type) { - struct pcc_acpi *pcc = acpi_driver_data(device); + struct pcc_acpi *pcc = device->driver_data; if (!device || !pcc) return -EINVAL; diff -u -p a/drivers/platform/x86/topstar-laptop.c b/drivers/platform/x86/topstar-laptop.c --- a/drivers/platform/x86/topstar-laptop.c 2009-09-23 13:12:24.000000000 +0200 +++ b/drivers/platform/x86/topstar-laptop.c 2010-02-11 12:48:47.000000000 +0100 @@ -73,7 +73,7 @@ static void acpi_topstar_notify(struct a struct tps_key_entry *key; static bool dup_evnt[2]; bool *dup; - struct topstar_hkey *hkey = acpi_driver_data(device); + struct topstar_hkey *hkey = device->driver_data; /* 0x83 and 0x84 key events comes duplicated... */ if (event == 0x83 || event == 0x84) { @@ -212,7 +212,7 @@ add_err: static int acpi_topstar_remove(struct acpi_device *device, int type) { - struct topstar_hkey *tps_hkey = acpi_driver_data(device); + struct topstar_hkey *tps_hkey = device->driver_data; acpi_topstar_fncx_switch(device, false); -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html