aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/platform/x86/asus-nb-wmi.c13
-rw-r--r--drivers/platform/x86/asus-wmi.c8
-rw-r--r--drivers/platform/x86/asus-wmi.h1
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
81static struct quirk_entry quirk_no_rfkill = {
82 .no_rfkill = true,
83};
84
81static int dmi_matched(const struct dmi_system_id *dmi) 85static 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;
38struct asus_wmi; 38struct asus_wmi;
39 39
40struct quirk_entry { 40struct 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;