From fdb42d7c598d76de3b3f9c04c74a91c78c7708bf Mon Sep 17 00:00:00 2001 From: Henrique de Moraes Holschuh Date: Fri, 27 Jul 2007 17:04:40 -0300 Subject: [PATCH] --- yaml --- r: 63938 b: refs/heads/master c: ac36393de6034be7266264a435360e7628849005 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/char/sonypi.c | 7 +------ trunk/drivers/misc/sony-laptop.c | 7 +------ trunk/drivers/misc/thinkpad_acpi.c | 10 ++++++++-- trunk/drivers/misc/thinkpad_acpi.h | 2 ++ 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index f6efe787905b..70e0742bf551 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f7b88ccb63188e775fe02e746c39ed177741cfc7 +refs/heads/master: ac36393de6034be7266264a435360e7628849005 diff --git a/trunk/drivers/char/sonypi.c b/trunk/drivers/char/sonypi.c index aeec67e27264..73037a4d3c50 100644 --- a/trunk/drivers/char/sonypi.c +++ b/trunk/drivers/char/sonypi.c @@ -1147,15 +1147,10 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type) return 0; } -const static struct acpi_device_id sonypi_device_ids[] = { - {"SNY6001", 0}, - {"", 0}, -}; - static struct acpi_driver sonypi_acpi_driver = { .name = "sonypi", .class = "hkey", - .ids = sonypi_device_ids, + .ids = "SNY6001", .ops = { .add = sonypi_acpi_add, .remove = sonypi_acpi_remove, diff --git a/trunk/drivers/misc/sony-laptop.c b/trunk/drivers/misc/sony-laptop.c index 91da6880ae93..14ee06c8f127 100644 --- a/trunk/drivers/misc/sony-laptop.c +++ b/trunk/drivers/misc/sony-laptop.c @@ -845,7 +845,7 @@ static struct sony_nc_event sony_C_events[] = { }; /* SNC-only model map */ -static struct dmi_system_id sony_nc_ids[] = { +struct dmi_system_id sony_nc_ids[] = { { .ident = "Sony Vaio FE Series", .callback = sony_nc_C_enable, @@ -942,11 +942,6 @@ 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"); - /* re-initialize models with specific requirements */ dmi_check_system(sony_nc_ids); diff --git a/trunk/drivers/misc/thinkpad_acpi.c b/trunk/drivers/misc/thinkpad_acpi.c index fa80f355e522..f6cd34a3dbac 100644 --- a/trunk/drivers/misc/thinkpad_acpi.c +++ b/trunk/drivers/misc/thinkpad_acpi.c @@ -4668,12 +4668,15 @@ static int __init thinkpad_acpi_module_init(void) thinkpad_acpi_module_exit(); return ret; } + tp_features.platform_drv_registered = 1; + ret = tpacpi_create_driver_attributes(&tpacpi_pdriver.driver); if (ret) { printk(IBM_ERR "unable to create sysfs driver attributes\n"); thinkpad_acpi_module_exit(); return ret; } + tp_features.platform_drv_attrs_registered = 1; /* Device initialization */ @@ -4756,8 +4759,11 @@ static void thinkpad_acpi_module_exit(void) if (tpacpi_pdev) platform_device_unregister(tpacpi_pdev); - tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver); - platform_driver_unregister(&tpacpi_pdriver); + if (tp_features.platform_drv_attrs_registered) + tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver); + + if (tp_features.platform_drv_registered) + platform_driver_unregister(&tpacpi_pdriver); if (proc_dir) remove_proc_entry(IBM_PROC_DIR, acpi_root_dir); diff --git a/trunk/drivers/misc/thinkpad_acpi.h b/trunk/drivers/misc/thinkpad_acpi.h index 88af089d6494..eee8809a50d9 100644 --- a/trunk/drivers/misc/thinkpad_acpi.h +++ b/trunk/drivers/misc/thinkpad_acpi.h @@ -246,6 +246,8 @@ static struct { u16 wan:1; u16 fan_ctrl_status_undef:1; u16 input_device_registered:1; + u16 platform_drv_registered:1; + u16 platform_drv_attrs_registered:1; } tp_features; struct thinkpad_id_data {