linux/drivers/gpu/drm/gma500
Hans de Goede c989a62484 drm/gma500: Call acpi_video_register_backlight()
On machines without an Intel video opregion the acpi_video driver
immediately probes the ACPI video bus and used to also immediately
register acpi_video# backlight devices when supported.

Once the drm/kms driver then loaded later and possibly registered
a native backlight device then the drivers/acpi/video_detect.c code
unregistered the acpi_video0 device to avoid there being 2 backlight
devices (when acpi_video_get_backlight_type()==native).

This means that userspace used to briefly see 2 devices and the
disappearing of acpi_video0 after a brief time confuses the systemd
backlight level save/restore code, see e.g.:
https://bbs.archlinux.org/viewtopic.php?id=269920

To fix this the ACPI video code has been modified to make backlight class
device registration a separate step, relying on the drm/kms driver to
ask for the acpi_video backlight registration after it is done setting up
its native backlight device.

Add a call to the new acpi_video_register_backlight() function after
setting up the gma500's native backlight, so that the acpi_video backlight
device gets registered on systems where the gma500's native backlight
device is not registered.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220917205920.647212-6-hdegoede@redhat.com
2022-09-18 21:03:21 +02:00
..
backlight.c drm/gma500: Don't register backlight when another backlight should be used 2022-09-18 21:03:17 +02:00
cdv_device.c drm/gma500: Refactor backlight support (v2) 2022-09-18 21:02:52 +02:00
cdv_device.h drm/gma500: Unify crtc helpers 2021-02-09 13:07:41 +01:00
cdv_intel_crt.c drm/gma500: Make cdv crt use ddc adapter from drm_connector 2022-06-02 10:06:43 +02:00
cdv_intel_display.c drm/gma500: Make use of the drm connector iterator 2022-03-23 11:20:22 +01:00
cdv_intel_dp.c drm/gma500: Fix comment typo 2022-08-29 09:44:12 +02:00
cdv_intel_hdmi.c drm/gma500: Make cdv hdmi use ddc adapter from drm_connector 2022-06-02 10:06:34 +02:00
cdv_intel_lvds.c drm/gma500: Read EDID from the correct i2c adapter 2022-06-02 10:06:51 +02:00
framebuffer.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
framebuffer.h
gem.c drm/gma500: Move GEM memory management functions to gem.c 2022-03-16 17:42:23 +01:00
gem.h drm/gma500: Move GEM memory management functions to gem.c 2022-03-16 17:42:23 +01:00
gma_device.c drm/gma500: Replace references to dev_private with helper function 2021-09-23 09:40:20 +02:00
gma_device.h
gma_display.c drm/gma500: Remove a couple of not useful function wrappers 2022-09-17 15:20:40 +02:00
gma_display.h drm/gma500: Remove a couple of not useful function wrappers 2022-09-17 15:20:40 +02:00
gtt.c drm/gma500: Move GTT memory-range setup into helper 2022-03-16 17:42:24 +01:00
gtt.h drm/gma500: Move GEM memory management functions to gem.c 2022-03-16 17:42:23 +01:00
intel_bios.c drm: Rename dp/ to display/ 2022-04-25 11:17:45 +02:00
intel_bios.h
intel_gmbus.c drm/gma500: Embed struct drm_device in struct drm_psb_private 2021-09-23 09:40:39 +02:00
intel_i2c.c drm/gma500: Make gma_i2c_chan a subclass of i2c_adapter 2022-06-02 10:06:21 +02:00
Kconfig ACPI: video: Add Nvidia WMI EC brightness control detection (v3) 2022-09-03 12:17:26 +02:00
Makefile drm/gma500: Drop DRM_GMA3600 config option 2021-02-09 17:14:11 +01:00
mid_bios.c drm/gma500: Embed struct drm_device in struct drm_psb_private 2021-09-23 09:40:39 +02:00
mid_bios.h
mmu.c drm/gma: Remove calls to kmap() 2022-01-24 17:02:43 +01:00
mmu.h
oaktrail_crtc.c drm/gma500: fix repeated words in comments 2022-09-07 14:25:39 +02:00
oaktrail_device.c drm/gma500: Refactor backlight support (v2) 2022-09-18 21:02:52 +02:00
oaktrail_hdmi_i2c.c gma500: clean up error handling in init 2020-12-03 10:50:57 +01:00
oaktrail_hdmi.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
oaktrail_lvds_i2c.c drm/gma500: Make oaktrail lvds use ddc adapter from drm_connector 2022-06-02 10:06:47 +02:00
oaktrail_lvds.c drm/gma500: Rewrite power management code 2022-09-17 15:20:40 +02:00
oaktrail.h
opregion.c drm/gma500: Refactor backlight support (v2) 2022-09-18 21:02:52 +02:00
opregion.h
power.c drm/gma500: Remove unnecessary suspend/resume wrappers 2022-09-17 15:20:40 +02:00
power.h drm/gma500: Remove unnecessary suspend/resume wrappers 2022-09-17 15:20:40 +02:00
psb_device.c drm/gma500: Refactor backlight support (v2) 2022-09-18 21:02:52 +02:00
psb_device.h
psb_drv.c drm/gma500: Call acpi_video_register_backlight() 2022-09-18 21:03:21 +02:00
psb_drv.h drm/gma500: Refactor backlight support (v2) 2022-09-18 21:02:52 +02:00
psb_intel_display.c drm: Remove unnecessary include statements of drm_plane_helper.h 2022-07-26 18:42:04 +02:00
psb_intel_drv.h drm/gma500: remove unused declarations in psb_intel_drv.h 2022-09-13 14:52:28 -04:00
psb_intel_lvds.c drm/gma500: Read EDID from the correct i2c adapter 2022-06-02 10:06:51 +02:00
psb_intel_modes.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
psb_intel_reg.h drm/gma500: Remove Medfield support 2021-02-09 17:14:11 +01:00
psb_intel_sdvo_regs.h
psb_intel_sdvo.c drm/gma500: Fix SDVO command debug printing 2022-08-29 09:42:17 +02:00
psb_irq.c drm/gma500: Rewrite power management code 2022-09-17 15:20:40 +02:00
psb_irq.h drm/gma500: Fix (vblank) IRQs not working after suspend/resume 2022-09-17 15:20:30 +02:00
psb_lid.c drm/gma500: Embed struct drm_device in struct drm_psb_private 2021-09-23 09:40:39 +02:00
psb_reg.h drm/gma500: Remove Medfield support 2021-02-09 17:14:11 +01:00