linux_dsm_epyc7002/drivers/platform/x86
Hans de Goede d13374154e acer-wmi: Switch to acpi_video_unregister_backlight
Switch from acpi_video_unregister(), to acpi_video_unregister_backlight(),
so that the hotkeys handler registered by acpi-video stays in place.

Since there are no mappings for the atkbd raw codes for the brightness
keys used by newer Acer models in /lib/udev/hwdb.d/60-keyboard.hwdb, and
since we map the wmi events with a code of KE_IGNORE, we rely on acpi-video
to do the hotkey handling for us.

For laptops such as the Acer Aspire 5750 which uses intel gfx this works
despite us calling acpi_video_unregister() because the following happens:

 1) acpi-video module gets loaded (as it is a dependency of acer-wmi and i915)
 2) acpi-video does NOT call acpi_video_register()
 3) acer-wmi loads (assume it loads before i915), calls
    acpi_video_dmi_promote_vendor(); which sets
    ACPI_VIDEO_BACKLIGHT_DMI_VENDOR
 4) calls acpi_video_unregister -> not registered, nop
 5) i915 loads, calls acpi_video_register
 6) acpi_video_register registers the acpi_notifier for the hotkeys,
    does NOT register a backlight device because of
    ACPI_VIDEO_BACKLIGHT_DMI_VENDOR

But on the Acer Aspire 5750G, which uses nvidia graphics the following happens:
 1) acpi-video module gets loaded (as it is a dependency of acer-wmi)
 2) acpi-video calls acpi_video_register()
 3) acpi_video_register registers the acpi_notifier for the hotkeys,
    and a backlight device
 4) acer-wmi loads, calls acpi_video_dmi_promote_vendor()
 5) calls acpi_video_unregister, this unregisters BOTH the acpi_notifier for
    the hotkeys AND the backlight device

And we end up without any handler for the brightness hotkeys. This patch fixes
this by switching over to acpi_video_unregister_backlight() which keeps the
hotkey handler in place.

References: https://bugzilla.kernel.org/show_bug.cgi?id=35622
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-05-20 13:41:43 +02:00
..
acer-wmi.c acer-wmi: Switch to acpi_video_unregister_backlight 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: cover some scenarios where memory allocations would fail 2014-04-10 12:11:56 -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 asus-nb-wmi: set wapf=4 for ASUSTeK COMPUTER INC. 1015E/U 2013-07-10 15:42:49 -04:00
asus-wmi.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08: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-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 Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08: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: Drop unneeded include 2014-03-20 02:43:05 +01: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_accel.c Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 2014-01-29 18:54:05 -08: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: detect "2009 BIOS or later" flag by WMI 0x0d for wireless cmd 2013-11-20 18:51:03 -05: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 Merge branch 'acpi-cleanup' 2014-01-12 23:44:09 +01:00
intel_ips.c drivers/platform/x86/intel_ips: Convert to module_pci_driver 2013-07-10 15:42:47 -04: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 platform: x86: remove unnecessary platform_set_drvdata() 2013-09-05 08:52:18 -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 x86 platform drivers: fix gpio leak 2013-07-10 15:42:51 -04:00
intel_scu_ipc.c ipc: add intel-mid's pci id macros 2014-01-21 08:47:15 -05:00
intel_scu_ipcutil.c intel_scu_ipc: Remove Moorestown support 2012-03-20 12:02:02 -04: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
Kconfig Add WMI driver for controlling AlienFX features on some Alienware products 2014-04-06 12:58:15 -04:00
Makefile Add WMI driver for controlling AlienFX features on some Alienware products 2014-04-06 12:58:15 -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 ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
samsung-laptop.c samsung-laptop: Disable on EFI hardware 2013-01-30 11:52:11 -08:00
samsung-q10.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
sony-laptop.c sony-laptop: remove useless sony-laptop versioning 2014-04-06 12:58:13 -04:00
tc1100-wmi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
thinkpad_acpi.c x86, acpi: LLVMLinux: Remove nested functions from Thinkpad ACPI 2014-04-06 12:58:15 -04:00
topstar-laptop.c platform:x86: Remove OOM message after input_allocate_device 2013-11-20 18:51:03 -05:00
toshiba_acpi.c toshiba_acpi: Fix whitespace 2014-04-06 12:58:14 -04: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