aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/Kconfig6
-rw-r--r--drivers/platform/x86/asus-laptop.c2
-rw-r--r--drivers/platform/x86/classmate-laptop.c10
-rw-r--r--drivers/platform/x86/eeepc-laptop.c4
-rw-r--r--drivers/platform/x86/fujitsu-laptop.c4
-rw-r--r--drivers/platform/x86/fujitsu-tablet.c2
-rw-r--r--drivers/platform/x86/hp_accel.c2
-rw-r--r--drivers/platform/x86/ibm_rtl.c2
-rw-r--r--drivers/platform/x86/ideapad-laptop.c2
-rw-r--r--drivers/platform/x86/intel_menlow.c2
-rw-r--r--drivers/platform/x86/panasonic-laptop.c4
-rw-r--r--drivers/platform/x86/samsung-laptop.c4
-rw-r--r--drivers/platform/x86/sony-laptop.c4
-rw-r--r--drivers/platform/x86/thinkpad_acpi.c3
-rw-r--r--drivers/platform/x86/topstar-laptop.c2
-rw-r--r--drivers/platform/x86/toshiba_acpi.c4
-rw-r--r--drivers/platform/x86/toshiba_bluetooth.c4
-rw-r--r--drivers/platform/x86/wmi.c4
-rw-r--r--drivers/platform/x86/xo15-ebook.c2
19 files changed, 34 insertions, 33 deletions
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index c86bae828c28..7ab0b2fba503 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -80,10 +80,9 @@ config ASUS_LAPTOP
80 If you have an ACPI-compatible ASUS laptop, say Y or M here. 80 If you have an ACPI-compatible ASUS laptop, say Y or M here.
81 81
82config DELL_LAPTOP 82config DELL_LAPTOP
83 tristate "Dell Laptop Extras (EXPERIMENTAL)" 83 tristate "Dell Laptop Extras"
84 depends on X86 84 depends on X86
85 depends on DCDBAS 85 depends on DCDBAS
86 depends on EXPERIMENTAL
87 depends on BACKLIGHT_CLASS_DEVICE 86 depends on BACKLIGHT_CLASS_DEVICE
88 depends on RFKILL || RFKILL = n 87 depends on RFKILL || RFKILL = n
89 depends on SERIO_I8042 88 depends on SERIO_I8042
@@ -171,9 +170,8 @@ config AMILO_RFKILL
171 laptops. 170 laptops.
172 171
173config TC1100_WMI 172config TC1100_WMI
174 tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)" 173 tristate "HP Compaq TC1100 Tablet WMI Extras"
175 depends on !X86_64 174 depends on !X86_64
176 depends on EXPERIMENTAL
177 depends on ACPI 175 depends on ACPI
178 depends on ACPI_WMI 176 depends on ACPI_WMI
179 ---help--- 177 ---help---
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
index fcde4e528819..d9f9a0dbc6f3 100644
--- a/drivers/platform/x86/asus-laptop.c
+++ b/drivers/platform/x86/asus-laptop.c
@@ -1910,7 +1910,7 @@ fail_platform:
1910 return result; 1910 return result;
1911} 1911}
1912 1912
1913static int asus_acpi_remove(struct acpi_device *device, int type) 1913static int asus_acpi_remove(struct acpi_device *device)
1914{ 1914{
1915 struct asus_laptop *asus = acpi_driver_data(device); 1915 struct asus_laptop *asus = acpi_driver_data(device);
1916 1916
diff --git a/drivers/platform/x86/classmate-laptop.c b/drivers/platform/x86/classmate-laptop.c
index c87ff16873f9..36e5e6c13db4 100644
--- a/drivers/platform/x86/classmate-laptop.c
+++ b/drivers/platform/x86/classmate-laptop.c
@@ -432,7 +432,7 @@ failed_sensitivity:
432 return error; 432 return error;
433} 433}
434 434
435static int cmpc_accel_remove_v4(struct acpi_device *acpi, int type) 435static int cmpc_accel_remove_v4(struct acpi_device *acpi)
436{ 436{
437 struct input_dev *inputdev; 437 struct input_dev *inputdev;
438 struct cmpc_accel *accel; 438 struct cmpc_accel *accel;
@@ -668,7 +668,7 @@ failed_file:
668 return error; 668 return error;
669} 669}
670 670
671static int cmpc_accel_remove(struct acpi_device *acpi, int type) 671static int cmpc_accel_remove(struct acpi_device *acpi)
672{ 672{
673 struct input_dev *inputdev; 673 struct input_dev *inputdev;
674 struct cmpc_accel *accel; 674 struct cmpc_accel *accel;
@@ -753,7 +753,7 @@ static int cmpc_tablet_add(struct acpi_device *acpi)
753 cmpc_tablet_idev_init); 753 cmpc_tablet_idev_init);
754} 754}
755 755
756static int cmpc_tablet_remove(struct acpi_device *acpi, int type) 756static int cmpc_tablet_remove(struct acpi_device *acpi)
757{ 757{
758 return cmpc_remove_acpi_notify_device(acpi); 758 return cmpc_remove_acpi_notify_device(acpi);
759} 759}
@@ -1000,7 +1000,7 @@ out_bd:
1000 return retval; 1000 return retval;
1001} 1001}
1002 1002
1003static int cmpc_ipml_remove(struct acpi_device *acpi, int type) 1003static int cmpc_ipml_remove(struct acpi_device *acpi)
1004{ 1004{
1005 struct ipml200_dev *ipml; 1005 struct ipml200_dev *ipml;
1006 1006
@@ -1079,7 +1079,7 @@ static int cmpc_keys_add(struct acpi_device *acpi)
1079 cmpc_keys_idev_init); 1079 cmpc_keys_idev_init);
1080} 1080}
1081 1081
1082static int cmpc_keys_remove(struct acpi_device *acpi, int type) 1082static int cmpc_keys_remove(struct acpi_device *acpi)
1083{ 1083{
1084 return cmpc_remove_acpi_notify_device(acpi); 1084 return cmpc_remove_acpi_notify_device(acpi);
1085} 1085}
diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index 528e9495458d..5d26e70bed6c 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -1007,7 +1007,7 @@ static int eeepc_get_fan_pwm(void)
1007 1007
1008static void eeepc_set_fan_pwm(int value) 1008static void eeepc_set_fan_pwm(int value)
1009{ 1009{
1010 value = SENSORS_LIMIT(value, 0, 255); 1010 value = clamp_val(value, 0, 255);
1011 value = value * 100 / 255; 1011 value = value * 100 / 255;
1012 ec_write(EEEPC_EC_FAN_PWM, value); 1012 ec_write(EEEPC_EC_FAN_PWM, value);
1013} 1013}
@@ -1501,7 +1501,7 @@ fail_platform:
1501 return result; 1501 return result;
1502} 1502}
1503 1503
1504static int eeepc_acpi_remove(struct acpi_device *device, int type) 1504static int eeepc_acpi_remove(struct acpi_device *device)
1505{ 1505{
1506 struct eeepc_laptop *eeepc = acpi_driver_data(device); 1506 struct eeepc_laptop *eeepc = acpi_driver_data(device);
1507 1507
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index c4c1a5444b38..1c9386e7c58c 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -733,7 +733,7 @@ err_stop:
733 return result; 733 return result;
734} 734}
735 735
736static int acpi_fujitsu_remove(struct acpi_device *device, int type) 736static int acpi_fujitsu_remove(struct acpi_device *device)
737{ 737{
738 struct fujitsu_t *fujitsu = acpi_driver_data(device); 738 struct fujitsu_t *fujitsu = acpi_driver_data(device);
739 struct input_dev *input = fujitsu->input; 739 struct input_dev *input = fujitsu->input;
@@ -938,7 +938,7 @@ err_stop:
938 return result; 938 return result;
939} 939}
940 940
941static int acpi_fujitsu_hotkey_remove(struct acpi_device *device, int type) 941static int acpi_fujitsu_hotkey_remove(struct acpi_device *device)
942{ 942{
943 struct fujitsu_hotkey_t *fujitsu_hotkey = acpi_driver_data(device); 943 struct fujitsu_hotkey_t *fujitsu_hotkey = acpi_driver_data(device);
944 struct input_dev *input = fujitsu_hotkey->input; 944 struct input_dev *input = fujitsu_hotkey->input;
diff --git a/drivers/platform/x86/fujitsu-tablet.c b/drivers/platform/x86/fujitsu-tablet.c
index 174ca01c4aa7..570926c10014 100644
--- a/drivers/platform/x86/fujitsu-tablet.c
+++ b/drivers/platform/x86/fujitsu-tablet.c
@@ -431,7 +431,7 @@ static int acpi_fujitsu_add(struct acpi_device *adev)
431 return 0; 431 return 0;
432} 432}
433 433
434static int acpi_fujitsu_remove(struct acpi_device *adev, int type) 434static int acpi_fujitsu_remove(struct acpi_device *adev)
435{ 435{
436 free_irq(fujitsu.irq, fujitsu_interrupt); 436 free_irq(fujitsu.irq, fujitsu_interrupt);
437 release_region(fujitsu.io_base, fujitsu.io_length); 437 release_region(fujitsu.io_base, fujitsu.io_length);
diff --git a/drivers/platform/x86/hp_accel.c b/drivers/platform/x86/hp_accel.c
index 18d74f29dcb2..e64a7a870d42 100644
--- a/drivers/platform/x86/hp_accel.c
+++ b/drivers/platform/x86/hp_accel.c
@@ -337,7 +337,7 @@ static int lis3lv02d_add(struct acpi_device *device)
337 return ret; 337 return ret;
338} 338}
339 339
340static int lis3lv02d_remove(struct acpi_device *device, int type) 340static int lis3lv02d_remove(struct acpi_device *device)
341{ 341{
342 if (!device) 342 if (!device)
343 return -EINVAL; 343 return -EINVAL;
diff --git a/drivers/platform/x86/ibm_rtl.c b/drivers/platform/x86/ibm_rtl.c
index 7481146a5b47..97c2be195efc 100644
--- a/drivers/platform/x86/ibm_rtl.c
+++ b/drivers/platform/x86/ibm_rtl.c
@@ -244,7 +244,7 @@ static int __init ibm_rtl_init(void) {
244 if (force) 244 if (force)
245 pr_warn("module loaded by force\n"); 245 pr_warn("module loaded by force\n");
246 /* first ensure that we are running on IBM HW */ 246 /* first ensure that we are running on IBM HW */
247 else if (efi_enabled || !dmi_check_system(ibm_rtl_dmi_table)) 247 else if (efi_enabled(EFI_BOOT) || !dmi_check_system(ibm_rtl_dmi_table))
248 return -ENODEV; 248 return -ENODEV;
249 249
250 /* Get the address for the Extended BIOS Data Area */ 250 /* Get the address for the Extended BIOS Data Area */
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index 64bfb30a52e9..17f00b8dc5cb 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -834,7 +834,7 @@ platform_failed:
834 return ret; 834 return ret;
835} 835}
836 836
837static int ideapad_acpi_remove(struct acpi_device *adevice, int type) 837static int ideapad_acpi_remove(struct acpi_device *adevice)
838{ 838{
839 struct ideapad_private *priv = dev_get_drvdata(&adevice->dev); 839 struct ideapad_private *priv = dev_get_drvdata(&adevice->dev);
840 int i; 840 int i;
diff --git a/drivers/platform/x86/intel_menlow.c b/drivers/platform/x86/intel_menlow.c
index 3271ac85115e..d6cfc1558c2f 100644
--- a/drivers/platform/x86/intel_menlow.c
+++ b/drivers/platform/x86/intel_menlow.c
@@ -200,7 +200,7 @@ static int intel_menlow_memory_add(struct acpi_device *device)
200 200
201} 201}
202 202
203static int intel_menlow_memory_remove(struct acpi_device *device, int type) 203static int intel_menlow_memory_remove(struct acpi_device *device)
204{ 204{
205 struct thermal_cooling_device *cdev = acpi_driver_data(device); 205 struct thermal_cooling_device *cdev = acpi_driver_data(device);
206 206
diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c
index 8e8caa767d6a..4add9a31bf60 100644
--- a/drivers/platform/x86/panasonic-laptop.c
+++ b/drivers/platform/x86/panasonic-laptop.c
@@ -176,7 +176,7 @@ enum SINF_BITS { SINF_NUM_BATTERIES = 0,
176/* R1 handles SINF_AC_CUR_BRIGHT as SINF_CUR_BRIGHT, doesn't know AC state */ 176/* R1 handles SINF_AC_CUR_BRIGHT as SINF_CUR_BRIGHT, doesn't know AC state */
177 177
178static int acpi_pcc_hotkey_add(struct acpi_device *device); 178static int acpi_pcc_hotkey_add(struct acpi_device *device);
179static int acpi_pcc_hotkey_remove(struct acpi_device *device, int type); 179static int acpi_pcc_hotkey_remove(struct acpi_device *device);
180static void acpi_pcc_hotkey_notify(struct acpi_device *device, u32 event); 180static void acpi_pcc_hotkey_notify(struct acpi_device *device, u32 event);
181 181
182static const struct acpi_device_id pcc_device_ids[] = { 182static const struct acpi_device_id pcc_device_ids[] = {
@@ -663,7 +663,7 @@ static int __init acpi_pcc_init(void)
663 return 0; 663 return 0;
664} 664}
665 665
666static int acpi_pcc_hotkey_remove(struct acpi_device *device, int type) 666static int acpi_pcc_hotkey_remove(struct acpi_device *device)
667{ 667{
668 struct pcc_acpi *pcc = acpi_driver_data(device); 668 struct pcc_acpi *pcc = acpi_driver_data(device);
669 669
diff --git a/drivers/platform/x86/samsung-laptop.c b/drivers/platform/x86/samsung-laptop.c
index 71623a2ff3e8..d1f030053176 100644
--- a/drivers/platform/x86/samsung-laptop.c
+++ b/drivers/platform/x86/samsung-laptop.c
@@ -26,6 +26,7 @@
26#include <linux/seq_file.h> 26#include <linux/seq_file.h>
27#include <linux/debugfs.h> 27#include <linux/debugfs.h>
28#include <linux/ctype.h> 28#include <linux/ctype.h>
29#include <linux/efi.h>
29#include <acpi/video.h> 30#include <acpi/video.h>
30 31
31/* 32/*
@@ -1544,6 +1545,9 @@ static int __init samsung_init(void)
1544 struct samsung_laptop *samsung; 1545 struct samsung_laptop *samsung;
1545 int ret; 1546 int ret;
1546 1547
1548 if (efi_enabled(EFI_BOOT))
1549 return -ENODEV;
1550
1547 quirks = &samsung_unknown; 1551 quirks = &samsung_unknown;
1548 if (!force && !dmi_check_system(samsung_dmi_table)) 1552 if (!force && !dmi_check_system(samsung_dmi_table))
1549 return -ENODEV; 1553 return -ENODEV;
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index b8ad71f7863f..ceb41eff4230 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2740,7 +2740,7 @@ outwalk:
2740 return result; 2740 return result;
2741} 2741}
2742 2742
2743static int sony_nc_remove(struct acpi_device *device, int type) 2743static int sony_nc_remove(struct acpi_device *device)
2744{ 2744{
2745 struct sony_nc_value *item; 2745 struct sony_nc_value *item;
2746 2746
@@ -4111,7 +4111,7 @@ found:
4111 * ACPI driver 4111 * ACPI driver
4112 * 4112 *
4113 *****************/ 4113 *****************/
4114static int sony_pic_remove(struct acpi_device *device, int type) 4114static int sony_pic_remove(struct acpi_device *device)
4115{ 4115{
4116 struct sony_pic_ioport *io, *tmp_io; 4116 struct sony_pic_ioport *io, *tmp_io;
4117 struct sony_pic_irq *irq, *tmp_irq; 4117 struct sony_pic_irq *irq, *tmp_irq;
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index f946ca7cb762..ebcb461bb2b0 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -4877,8 +4877,7 @@ static int __init light_init(struct ibm_init_struct *iibm)
4877static void light_exit(void) 4877static void light_exit(void)
4878{ 4878{
4879 led_classdev_unregister(&tpacpi_led_thinklight.led_classdev); 4879 led_classdev_unregister(&tpacpi_led_thinklight.led_classdev);
4880 if (work_pending(&tpacpi_led_thinklight.work)) 4880 flush_workqueue(tpacpi_wq);
4881 flush_workqueue(tpacpi_wq);
4882} 4881}
4883 4882
4884static int light_read(struct seq_file *m) 4883static int light_read(struct seq_file *m)
diff --git a/drivers/platform/x86/topstar-laptop.c b/drivers/platform/x86/topstar-laptop.c
index d727bfee89a6..4ab618c63b45 100644
--- a/drivers/platform/x86/topstar-laptop.c
+++ b/drivers/platform/x86/topstar-laptop.c
@@ -157,7 +157,7 @@ add_err:
157 return -ENODEV; 157 return -ENODEV;
158} 158}
159 159
160static int acpi_topstar_remove(struct acpi_device *device, int type) 160static int acpi_topstar_remove(struct acpi_device *device)
161{ 161{
162 struct topstar_hkey *tps_hkey = acpi_driver_data(device); 162 struct topstar_hkey *tps_hkey = acpi_driver_data(device);
163 163
diff --git a/drivers/platform/x86/toshiba_acpi.c b/drivers/platform/x86/toshiba_acpi.c
index c2727895794c..904476b2fa8f 100644
--- a/drivers/platform/x86/toshiba_acpi.c
+++ b/drivers/platform/x86/toshiba_acpi.c
@@ -1118,7 +1118,7 @@ static int toshiba_acpi_setup_backlight(struct toshiba_acpi_dev *dev)
1118 return 0; 1118 return 0;
1119} 1119}
1120 1120
1121static int toshiba_acpi_remove(struct acpi_device *acpi_dev, int type) 1121static int toshiba_acpi_remove(struct acpi_device *acpi_dev)
1122{ 1122{
1123 struct toshiba_acpi_dev *dev = acpi_driver_data(acpi_dev); 1123 struct toshiba_acpi_dev *dev = acpi_driver_data(acpi_dev);
1124 1124
@@ -1250,7 +1250,7 @@ static int toshiba_acpi_add(struct acpi_device *acpi_dev)
1250 return 0; 1250 return 0;
1251 1251
1252error: 1252error:
1253 toshiba_acpi_remove(acpi_dev, 0); 1253 toshiba_acpi_remove(acpi_dev);
1254 return ret; 1254 return ret;
1255} 1255}
1256 1256
diff --git a/drivers/platform/x86/toshiba_bluetooth.c b/drivers/platform/x86/toshiba_bluetooth.c
index e95be0b74859..74dd01ae343b 100644
--- a/drivers/platform/x86/toshiba_bluetooth.c
+++ b/drivers/platform/x86/toshiba_bluetooth.c
@@ -32,7 +32,7 @@ MODULE_LICENSE("GPL");
32 32
33 33
34static int toshiba_bt_rfkill_add(struct acpi_device *device); 34static int toshiba_bt_rfkill_add(struct acpi_device *device);
35static int toshiba_bt_rfkill_remove(struct acpi_device *device, int type); 35static int toshiba_bt_rfkill_remove(struct acpi_device *device);
36static void toshiba_bt_rfkill_notify(struct acpi_device *device, u32 event); 36static void toshiba_bt_rfkill_notify(struct acpi_device *device, u32 event);
37 37
38static const struct acpi_device_id bt_device_ids[] = { 38static const struct acpi_device_id bt_device_ids[] = {
@@ -122,7 +122,7 @@ static int toshiba_bt_rfkill_add(struct acpi_device *device)
122 return result; 122 return result;
123} 123}
124 124
125static int toshiba_bt_rfkill_remove(struct acpi_device *device, int type) 125static int toshiba_bt_rfkill_remove(struct acpi_device *device)
126{ 126{
127 /* clean up */ 127 /* clean up */
128 return 0; 128 return 0;
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 42a4dcc25f92..e4ac38aca580 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -92,7 +92,7 @@ module_param(debug_dump_wdg, bool, 0444);
92MODULE_PARM_DESC(debug_dump_wdg, 92MODULE_PARM_DESC(debug_dump_wdg,
93 "Dump available WMI interfaces [0/1]"); 93 "Dump available WMI interfaces [0/1]");
94 94
95static int acpi_wmi_remove(struct acpi_device *device, int type); 95static int acpi_wmi_remove(struct acpi_device *device);
96static int acpi_wmi_add(struct acpi_device *device); 96static int acpi_wmi_add(struct acpi_device *device);
97static void acpi_wmi_notify(struct acpi_device *device, u32 event); 97static void acpi_wmi_notify(struct acpi_device *device, u32 event);
98 98
@@ -917,7 +917,7 @@ static void acpi_wmi_notify(struct acpi_device *device, u32 event)
917 } 917 }
918} 918}
919 919
920static int acpi_wmi_remove(struct acpi_device *device, int type) 920static int acpi_wmi_remove(struct acpi_device *device)
921{ 921{
922 acpi_remove_address_space_handler(device->handle, 922 acpi_remove_address_space_handler(device->handle,
923 ACPI_ADR_SPACE_EC, &acpi_wmi_ec_space_handler); 923 ACPI_ADR_SPACE_EC, &acpi_wmi_ec_space_handler);
diff --git a/drivers/platform/x86/xo15-ebook.c b/drivers/platform/x86/xo15-ebook.c
index 16d340c3b852..4b1377bd5944 100644
--- a/drivers/platform/x86/xo15-ebook.c
+++ b/drivers/platform/x86/xo15-ebook.c
@@ -150,7 +150,7 @@ static int ebook_switch_add(struct acpi_device *device)
150 return error; 150 return error;
151} 151}
152 152
153static int ebook_switch_remove(struct acpi_device *device, int type) 153static int ebook_switch_remove(struct acpi_device *device)
154{ 154{
155 struct ebook_switch *button = acpi_driver_data(device); 155 struct ebook_switch *button = acpi_driver_data(device);
156 156