diff options
author | Corentin Chary <corentin.chary@gmail.com> | 2011-02-06 07:27:30 -0500 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2011-03-28 06:05:19 -0400 |
commit | af96f87703f33a4dba4b51c7b3f0d6f874aa4853 (patch) | |
tree | 43f3572697befd44f173c56a3f97178e835f139d /drivers/platform/x86/asus-laptop.c | |
parent | 77ca5b0197138db1260bbbb95ce3fd015dd10437 (diff) |
asus-laptop: let WLED alone on L1400B
Asus took the DSDT from another model (L84F), made some change
to make it work, but forgot to remove WLED method (the laptop
doesn't have a wireless card). They even didn't change the model
name.
ref: https://bugzilla.kernel.org/show_bug.cgi?id=25712
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform/x86/asus-laptop.c')
-rw-r--r-- | drivers/platform/x86/asus-laptop.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c index 5a6f7d7575d6..2b9d7b8636e3 100644 --- a/drivers/platform/x86/asus-laptop.c +++ b/drivers/platform/x86/asus-laptop.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/input/sparse-keymap.h> | 50 | #include <linux/input/sparse-keymap.h> |
51 | #include <linux/rfkill.h> | 51 | #include <linux/rfkill.h> |
52 | #include <linux/slab.h> | 52 | #include <linux/slab.h> |
53 | #include <linux/dmi.h> | ||
53 | #include <acpi/acpi_drivers.h> | 54 | #include <acpi/acpi_drivers.h> |
54 | #include <acpi/acpi_bus.h> | 55 | #include <acpi/acpi_bus.h> |
55 | 56 | ||
@@ -1557,6 +1558,20 @@ static int __devinit asus_acpi_init(struct asus_laptop *asus) | |||
1557 | return result; | 1558 | return result; |
1558 | } | 1559 | } |
1559 | 1560 | ||
1561 | static void __devinit asus_dmi_check(void) | ||
1562 | { | ||
1563 | const char *model; | ||
1564 | |||
1565 | model = dmi_get_system_info(DMI_PRODUCT_NAME); | ||
1566 | if (!model) | ||
1567 | return; | ||
1568 | |||
1569 | /* On L1400B WLED control the sound card, don't mess with it ... */ | ||
1570 | if (strncmp(model, "L1400B", 6) == 0) { | ||
1571 | wlan_status = -1; | ||
1572 | } | ||
1573 | } | ||
1574 | |||
1560 | static bool asus_device_present; | 1575 | static bool asus_device_present; |
1561 | 1576 | ||
1562 | static int __devinit asus_acpi_add(struct acpi_device *device) | 1577 | static int __devinit asus_acpi_add(struct acpi_device *device) |
@@ -1575,6 +1590,8 @@ static int __devinit asus_acpi_add(struct acpi_device *device) | |||
1575 | device->driver_data = asus; | 1590 | device->driver_data = asus; |
1576 | asus->device = device; | 1591 | asus->device = device; |
1577 | 1592 | ||
1593 | asus_dmi_check(); | ||
1594 | |||
1578 | result = asus_acpi_init(asus); | 1595 | result = asus_acpi_init(asus); |
1579 | if (result) | 1596 | if (result) |
1580 | goto fail_platform; | 1597 | goto fail_platform; |