linux-hardened/drivers/platform/x86
Hans de Goede ce363c2bcb ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling
It seems that the same problems which lead to adding an rfkill blacklist and
putting the Lenovo Yoga 2 11 on it are also present on the Lenovo Yoga 2 13
and Lenovo Yoga 2 Pro too:
https://bugzilla.redhat.com/show_bug.cgi?id=1021036
https://forums.lenovo.com/t5/Linux-Discussion/Yoga-2-13-not-Pro-Linux-Warning/m-p/1517612

Testing has shown that the firmware rfkill settings are persistent over
reboots. So blacklisting the driver is not good enough, if the wifi is blocked
at the firmware level the wifi needs to be explictly unblocked through the
ideapad-laptop interface.

And at least on the Lenovo Yoga 2 13 the VPCCMD_RF register which on devices
with hardware kill switch reports the hardware switch state, needs to be
explictly set to 1 (radio enabled / not blocked).

So this patch does 3 things to get proper rfkill handling on these models:

1) Instead of blacklisting the rfkill functionality, which means that people
with a firmware blocked wifi get stuck in that situation, ignore the value
reported by the not present hardware rfkill switch, as this is what is causing
ideapad-laptop to wrongly report all radios as hardware blocks. But do register
the rfkill interfaces so that the user can soft [un]block them.

2) On models without a hardware rfkill switch, explictly set VPCCMD_RF to 1

3) Drop the " 11" postfix from the dmi match string, as the entire Yoga 2
series is affected.

Yoga 2 11:
Reported-and-tested-by: Vincent Gerris <vgerris@gmail.com>

Yoga 2 13:
Tested-by: madls05 <http://ubuntuforums.org/showthread.php?t=2215044>

Yoga 2 Pro:
Reported-and-tested-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
2014-08-16 01:23:50 -07:00
..
acer-wmi.c acer-wmi: Add Aspire 5741 to video_vendor_dmi_table 2014-05-20 13:41:43 +02:00
acerhdf.c Drivers: platform: x86: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
alienware-wmi.c alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status 2014-06-10 19:04:17 -04:00
amilo-rfkill.c amilo-rfkill: Enable using amilo-rfkill with the FSC Amilo L1310. 2013-09-05 08:52:12 -04:00
apple-gmux.c More ACPI and power management updates for 3.13-rc1 2013-11-20 13:25:04 -08:00
asus-laptop.c Merge branch 'acpi-cleanup' 2014-01-12 23:44:09 +01:00
asus-nb-wmi.c WAPF 4 for ASUSTeK COMPUTER INC. X75VBP WLAN ON. 2014-08-16 01:23:49 -07:00
asus-wmi.c platform: x86: asus-wmi.c: Cleaning up uninitialized variables 2014-06-10 19:11:08 -04:00
asus-wmi.h asus-wmi: always report brightness key events 2013-02-27 08:30:37 -05:00
classmate-laptop.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
compal-laptop.c compal-laptop: Use devm_hwmon_device_register_with_groups 2014-01-21 08:44:03 -05:00
dell-laptop.c dell-laptop: Only install the i8042 filter when rfkill is active 2014-01-21 08:44:17 -05:00
dell-smo8800.c platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) 2014-06-10 19:11:10 -04:00
dell-wmi-aio.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
dell-wmi.c Merge branch 'acpi-cleanup' 2014-01-12 23:44:09 +01:00
eeepc-laptop.c eeepc-laptop: rename _set and _get arguments in macro 2014-08-16 01:23:49 -07:00
eeepc-wmi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
fujitsu-laptop.c fujitsu-laptop: Clear build warnings 2014-08-16 01:23:49 -07:00
fujitsu-tablet.c fujitsu-tablet: add support for Lifebook T901 and T902 2014-04-06 12:58:15 -04:00
hdaps.c platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
hp-wireless.c hp-wireless: new driver for hp wireless button for Windows 8 2014-01-21 08:44:18 -05:00
hp-wmi.c hp-wmi: Enable hotkeys on some systems 2014-06-10 19:11:11 -04:00
hp_accel.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08:00
ibm_rtl.c efi: Make 'efi_enabled' a function to query EFI facilities 2013-01-30 11:51:59 -08:00
ideapad-laptop.c ideapad-laptop: Change Lenovo Yoga 2 series rfkill handling 2014-08-16 01:23:50 -07:00
intel-rst.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel-smartconnect.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel_ips.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
intel_ips.h drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915. 2010-12-23 09:51:36 +00:00
intel_menlow.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel_mid_powerbtn.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
intel_mid_thermal.c ix86/mid/thermal: Introduce the use of the managed version of kzalloc 2014-06-10 19:11:07 -04:00
intel_oaktrail.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
intel_pmic_gpio.c platform-drivers-x86: intel_pmic_gpio: Fix off-by-one valid offset range check 2014-06-09 17:39:58 -04:00
intel_scu_ipc.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04:00
Kconfig platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) 2014-06-10 19:11:10 -04:00
Makefile platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) 2014-06-10 19:11:10 -04:00
msi-laptop.c x86: msi-laptop: fix memleak 2013-07-10 15:42:40 -04:00
msi-wmi.c msi-wmi: Add MSI Wind support 2013-02-24 14:49:54 -08:00
mxm-wmi.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08:00
panasonic-laptop.c Fix sleep / suspend keys for Toughbook CF-51 2014-04-06 12:58:11 -04:00
pvpanic.c pvpanic: Set high notifier priority 2014-06-09 17:45:36 -04:00
samsung-laptop.c platform/x86: samsung-laptop: Add support for Samsung's NP7[34]0U3E models. 2014-06-09 17:45:16 -04:00
samsung-q10.c backlight: Remove trivial get_brightness implementations 2014-06-23 13:24:22 +01:00
sony-laptop.c sony-laptop: fix doesn't work lid resume settings on Vaio Pro 2014-08-16 01:23:49 -07:00
tc1100-wmi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
thinkpad_acpi.c thinkpad_acpi: Update mapping for F12 hotkey on *40 models to KEY_FILE 2014-08-16 01:23:50 -07:00
topstar-laptop.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
toshiba_acpi.c platform/x86/toshiba-apci.c possible bad if test? 2014-08-16 01:23:49 -07:00
toshiba_bluetooth.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
wmi.c Merge branch 'acpi-cleanup' 2014-01-12 23:44:09 +01:00
xo1-rfkill.c Drivers: platform: x86: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
xo15-ebook.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00