aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/dell-laptop.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/dell-laptop.c')
-rw-r--r--drivers/platform/x86/dell-laptop.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index 81213e815400..d8b1b39aa9db 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -83,6 +83,46 @@ static const struct dmi_system_id __initdata dell_device_table[] = {
83 { } 83 { }
84}; 84};
85 85
86static struct dmi_system_id __devinitdata dell_blacklist[] = {
87 /* Supported by compal-laptop */
88 {
89 .ident = "Dell Mini 9",
90 .matches = {
91 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
92 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"),
93 },
94 },
95 {
96 .ident = "Dell Mini 10",
97 .matches = {
98 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
99 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"),
100 },
101 },
102 {
103 .ident = "Dell Mini 10v",
104 .matches = {
105 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
106 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"),
107 },
108 },
109 {
110 .ident = "Dell Inspiron 11z",
111 .matches = {
112 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
113 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"),
114 },
115 },
116 {
117 .ident = "Dell Mini 12",
118 .matches = {
119 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
120 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"),
121 },
122 },
123 {}
124};
125
86static void __init parse_da_table(const struct dmi_header *dm) 126static void __init parse_da_table(const struct dmi_header *dm)
87{ 127{
88 /* Final token is a terminator, so we don't want to copy it */ 128 /* Final token is a terminator, so we don't want to copy it */
@@ -237,6 +277,12 @@ static int __init dell_setup_rfkill(void)
237 int status; 277 int status;
238 int ret; 278 int ret;
239 279
280 if (dmi_check_system(dell_blacklist)) {
281 printk(KERN_INFO "dell-laptop: Blacklisted hardware detected - "
282 "not enabling rfkill\n");
283 return 0;
284 }
285
240 memset(&buffer, 0, sizeof(struct calling_interface_buffer)); 286 memset(&buffer, 0, sizeof(struct calling_interface_buffer));
241 dell_send_request(&buffer, 17, 11); 287 dell_send_request(&buffer, 17, 11);
242 status = buffer.output[1]; 288 status = buffer.output[1];