|
|
45b5fd0 |
Bugzilla: 958826
|
|
|
45b5fd0 |
Upstream-status: 3.13
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
From 2a92551845bbbc8421ba908cd14bbdf065e0f454 Mon Sep 17 00:00:00 2001
|
|
|
45b5fd0 |
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
45b5fd0 |
Date: Sun, 17 Nov 2013 14:00:17 +0100
|
|
|
45b5fd0 |
Subject: [PATCH 2/2] dell-laptop: Only enable rfkill on Latitudes
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
The rfkill functionality was removed from the dell-laptop driver because it
|
|
|
45b5fd0 |
was causing problems on various non Latitude models, and the blacklist kept
|
|
|
45b5fd0 |
growing and growing. In the thread discussing this Dell mentioned that they
|
|
|
45b5fd0 |
only QA the rfkill acpi interface on Latitudes and indeed there have been
|
|
|
45b5fd0 |
no blacklist entries for Latitudes.
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
Note that the blacklist contained no Vostros either, and most Vostros have
|
|
|
45b5fd0 |
a hardware switch too, so we could consider supporting Vostros with a
|
|
|
45b5fd0 |
hardware switch too.
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
45b5fd0 |
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
|
|
|
45b5fd0 |
---
|
|
|
45b5fd0 |
drivers/platform/x86/dell-laptop.c | 57 +++++---------------------------------
|
|
|
45b5fd0 |
1 file changed, 7 insertions(+), 50 deletions(-)
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
|
|
|
45b5fd0 |
index 55f75a2..bae932b 100644
|
|
|
45b5fd0 |
--- a/drivers/platform/x86/dell-laptop.c
|
|
|
45b5fd0 |
+++ b/drivers/platform/x86/dell-laptop.c
|
|
|
45b5fd0 |
@@ -119,53 +119,6 @@ static const struct dmi_system_id dell_device_table[] __initconst = {
|
|
|
45b5fd0 |
};
|
|
|
45b5fd0 |
MODULE_DEVICE_TABLE(dmi, dell_device_table);
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
-static struct dmi_system_id dell_blacklist[] = {
|
|
|
45b5fd0 |
- /* Supported by compal-laptop */
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Mini 9",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 910"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Mini 10",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1010"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Mini 10v",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1011"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Mini 1012",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Inspiron 11z",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1110"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {
|
|
|
45b5fd0 |
- .ident = "Dell Mini 12",
|
|
|
45b5fd0 |
- .matches = {
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
|
|
45b5fd0 |
- DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1210"),
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- },
|
|
|
45b5fd0 |
- {}
|
|
|
45b5fd0 |
-};
|
|
|
45b5fd0 |
-
|
|
|
45b5fd0 |
static struct dmi_system_id dell_quirks[] = {
|
|
|
45b5fd0 |
{
|
|
|
45b5fd0 |
.callback = dmi_matched,
|
|
|
45b5fd0 |
@@ -579,11 +532,15 @@ static int __init dell_setup_rfkill(void)
|
|
|
45b5fd0 |
{
|
|
|
45b5fd0 |
int status;
|
|
|
45b5fd0 |
int ret;
|
|
|
45b5fd0 |
+ const char *product;
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
- if (dmi_check_system(dell_blacklist)) {
|
|
|
45b5fd0 |
- pr_info("Blacklisted hardware detected - not enabling rfkill\n");
|
|
|
45b5fd0 |
+ /*
|
|
|
45b5fd0 |
+ * rfkill causes trouble on various non Latitudes, according to Dell
|
|
|
45b5fd0 |
+ * actually testing the rfkill functionality is only done on Latitudes.
|
|
|
45b5fd0 |
+ */
|
|
|
45b5fd0 |
+ product = dmi_get_system_info(DMI_PRODUCT_NAME);
|
|
|
45b5fd0 |
+ if (!product || strncmp(product, "Latitude", 8))
|
|
|
45b5fd0 |
return 0;
|
|
|
45b5fd0 |
- }
|
|
|
45b5fd0 |
|
|
|
45b5fd0 |
get_buffer();
|
|
|
45b5fd0 |
dell_send_request(buffer, 17, 11);
|
|
|
45b5fd0 |
--
|
|
|
45b5fd0 |
1.8.3.1
|
|
|
45b5fd0 |
|