diff options
author | Mark Brown <broonie@linaro.org> | 2014-01-10 11:52:05 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-01-10 11:52:05 +0000 |
commit | fce6bd84d663b92997e0fa9c971ed2b2cdf08fb4 (patch) | |
tree | c5b460cfc60b16a7c6718ae2613bb1d9cb98e5b8 /drivers/platform/x86/hp-wmi.c | |
parent | 56d37d85438df38e150282baafe52dcd588854c7 (diff) | |
parent | 374b105797c3d4f29c685f3be535c35f5689b30e (diff) | |
download | linux-fce6bd84d663b92997e0fa9c971ed2b2cdf08fb4.tar.bz2 |
Merge tag 'v3.13-rc3' into asoc-arizona
Linux 3.13-rc3
Diffstat (limited to 'drivers/platform/x86/hp-wmi.c')
-rw-r--r-- | drivers/platform/x86/hp-wmi.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index 1c86fa0857c8..8ba8956b5a48 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c @@ -54,6 +54,7 @@ MODULE_ALIAS("wmi:5FB7F034-2C63-45e9-BE91-3D44E2C707E4"); #define HPWMI_HARDWARE_QUERY 0x4 #define HPWMI_WIRELESS_QUERY 0x5 #define HPWMI_HOTKEY_QUERY 0xc +#define HPWMI_FEATURE_QUERY 0xd #define HPWMI_WIRELESS2_QUERY 0x1b #define HPWMI_POSTCODEERROR_QUERY 0x2a @@ -292,6 +293,17 @@ static int hp_wmi_tablet_state(void) return (state & 0x4) ? 1 : 0; } +static int hp_wmi_bios_2009_later(void) +{ + int state = 0; + int ret = hp_wmi_perform_query(HPWMI_FEATURE_QUERY, 0, &state, + sizeof(state), sizeof(state)); + if (ret) + return ret; + + return (state & 0x10) ? 1 : 0; +} + static int hp_wmi_set_block(void *data, bool blocked) { enum hp_wmi_radio r = (enum hp_wmi_radio) data; @@ -871,7 +883,7 @@ static int __init hp_wmi_bios_setup(struct platform_device *device) gps_rfkill = NULL; rfkill2_count = 0; - if (hp_wmi_rfkill_setup(device)) + if (hp_wmi_bios_2009_later() || hp_wmi_rfkill_setup(device)) hp_wmi_rfkill2_setup(device); err = device_create_file(&device->dev, &dev_attr_display); |