diff options
| -rw-r--r-- | drivers/platform/x86/asus-nb-wmi.c | 13 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-wmi.c | 8 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-wmi.h | 1 |
3 files changed, 19 insertions, 3 deletions
diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c index 096ceba011a0..99992f46188e 100644 --- a/drivers/platform/x86/asus-nb-wmi.c +++ b/drivers/platform/x86/asus-nb-wmi.c | |||
| @@ -78,6 +78,10 @@ static struct quirk_entry quirk_asus_x200ca = { | |||
| 78 | .wapf = 2, | 78 | .wapf = 2, |
| 79 | }; | 79 | }; |
| 80 | 80 | ||
| 81 | static struct quirk_entry quirk_no_rfkill = { | ||
| 82 | .no_rfkill = true, | ||
| 83 | }; | ||
| 84 | |||
| 81 | static int dmi_matched(const struct dmi_system_id *dmi) | 85 | static int dmi_matched(const struct dmi_system_id *dmi) |
| 82 | { | 86 | { |
| 83 | quirks = dmi->driver_data; | 87 | quirks = dmi->driver_data; |
| @@ -306,6 +310,15 @@ static const struct dmi_system_id asus_quirks[] = { | |||
| 306 | }, | 310 | }, |
| 307 | .driver_data = &quirk_asus_x200ca, | 311 | .driver_data = &quirk_asus_x200ca, |
| 308 | }, | 312 | }, |
| 313 | { | ||
| 314 | .callback = dmi_matched, | ||
| 315 | .ident = "ASUSTeK COMPUTER INC. X555UB", | ||
| 316 | .matches = { | ||
| 317 | DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), | ||
| 318 | DMI_MATCH(DMI_PRODUCT_NAME, "X555UB"), | ||
| 319 | }, | ||
| 320 | .driver_data = &quirk_no_rfkill, | ||
| 321 | }, | ||
| 309 | {}, | 322 | {}, |
| 310 | }; | 323 | }; |
| 311 | 324 | ||
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index a26dca3640ea..7c093a0b78bb 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c | |||
| @@ -2069,9 +2069,11 @@ static int asus_wmi_add(struct platform_device *pdev) | |||
| 2069 | if (err) | 2069 | if (err) |
| 2070 | goto fail_leds; | 2070 | goto fail_leds; |
| 2071 | 2071 | ||
| 2072 | err = asus_wmi_rfkill_init(asus); | 2072 | if (!asus->driver->quirks->no_rfkill) { |
| 2073 | if (err) | 2073 | err = asus_wmi_rfkill_init(asus); |
| 2074 | goto fail_rfkill; | 2074 | if (err) |
| 2075 | goto fail_rfkill; | ||
| 2076 | } | ||
| 2075 | 2077 | ||
| 2076 | /* Some Asus desktop boards export an acpi-video backlight interface, | 2078 | /* Some Asus desktop boards export an acpi-video backlight interface, |
| 2077 | stop this from showing up */ | 2079 | stop this from showing up */ |
diff --git a/drivers/platform/x86/asus-wmi.h b/drivers/platform/x86/asus-wmi.h index 4da4c8bafe70..5de1df510ebd 100644 --- a/drivers/platform/x86/asus-wmi.h +++ b/drivers/platform/x86/asus-wmi.h | |||
| @@ -38,6 +38,7 @@ struct key_entry; | |||
| 38 | struct asus_wmi; | 38 | struct asus_wmi; |
| 39 | 39 | ||
| 40 | struct quirk_entry { | 40 | struct quirk_entry { |
| 41 | bool no_rfkill; | ||
| 41 | bool hotplug_wireless; | 42 | bool hotplug_wireless; |
| 42 | bool scalar_panel_brightness; | 43 | bool scalar_panel_brightness; |
| 43 | bool store_backlight_power; | 44 | bool store_backlight_power; |
