[Intel-gfx] [PATCH v2 00/29] drm/kms: Stop registering multiple /sys/class/backlight devs for a single display

Hans de Goede
2022-07-12T19:39:28Z

Hi All,

As mentioned in my RFC titled "drm/kms: control display brightness through
drm_connector properties":
https://lore.kernel.org/dri-devel/0d188965-d809-81b5-74ce-7d30c49fee2d@redhat.com/

The first step towards this is to deal with some existing technical debt
in backlight handling on x86/ACPI boards, specifically we need to stop
registering multiple /sys/class/backlight devs for a single display.

This series implements my RFC describing my plan for these cleanups:
https://lore.kernel.org/dri-devel/98519ba0-7f18-201a-ea34-652f50343158@redhat.com/

This new version addresses the few small remarks made on version 1 (mainly
changing patch 1/29) and more importantly this finishes the refactoring by
else addressing all the bits from the "Other issues" section of
the refactor RFC (resulting in patches 15-29 which are new in v2).

Please review and test! I hope to be able to make an immutable branch
based on 5.20-rc1 + this series available for merging into the various
touched subsystems once 5.20-rc2 is out.

Regards,

Hans

Hans de Goede (29):
ACPI: video: Add acpi_video_backlight_use_native() helper
drm/i915: Don't register backlight when another backlight should be
used
drm/amdgpu: Don't register backlight when another backlight should be
used
drm/radeon: Don't register backlight when another backlight should be
used
drm/nouveau: Don't register backlight when another backlight should be
used
ACPI: video: Drop backlight_device_get_by_type() call from
acpi_video_get_backlight_type()
ACPI: video: Remove acpi_video_bus from list before tearing it down
ACPI: video: Simplify acpi_video_unregister_backlight()
ACPI: video: Make backlight class device registration a separate step
ACPI: video: Remove code to unregister acpi_video backlight when a
native backlight registers
drm/i915: Call acpi_video_register_backlight() (v2)
drm/nouveau: Register ACPI video backlight when nv_backlight
registration fails
drm/amdgpu: Register ACPI video backlight when skipping amdgpu
backlight registration
drm/radeon: Register ACPI video backlight when skipping radeon
backlight registration
ACPI: video: Refactor acpi_video_get_backlight_type() a bit
ACPI: video: Add Nvidia WMI EC brightness control detection
ACPI: video: Add Apple GMUX brightness control detection
platform/x86: apple-gmux: Stop calling acpi/video.h functions
platform/x86: toshiba_acpi: Stop using
acpi_video_set_dmi_backlight_type()
platform/x86: acer-wmi: Move backlight DMI quirks to
acpi/video_detect.c
platform/x86: asus-wmi: Drop DMI chassis-type check from backlight
handling
platform/x86: asus-wmi: Move acpi_backlight=vendor quirks to ACPI
video_detect.c
platform/x86: asus-wmi: Move acpi_backlight=native quirks to ACPI
video_detect.c
platform/x86: samsung-laptop: Move acpi_backlight=[vendor|native]
quirks to ACPI video_detect.c
ACPI: video: Remove acpi_video_set_dmi_backlight_type()
ACPI: video: Drop "Samsung X360" acpi_backlight=native quirk
ACPI: video: Drop Clevo/TUXEDO NL5xRU and NL5xNU acpi_backlight=native
quirks
ACPI: video: Fix indentation of video_detect_dmi_table[] entries
drm/todo: Add entry about dealing with brightness control on devices
with > 1 panel

Documentation/gpu/todo.rst | 68 +++
drivers/acpi/Kconfig | 1 +
drivers/acpi/acpi_video.c | 59 ++-
drivers/acpi/video_detect.c | 415 +++++++++++-------
drivers/gpu/drm/Kconfig | 12 +
.../gpu/drm/amd/amdgpu/atombios_encoders.c | 14 +-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +
drivers/gpu/drm/gma500/Kconfig | 2 +
drivers/gpu/drm/i915/Kconfig | 2 +
.../gpu/drm/i915/display/intel_backlight.c | 7 +
drivers/gpu/drm/i915/display/intel_display.c | 8 +
drivers/gpu/drm/i915/display/intel_panel.c | 3 +
drivers/gpu/drm/i915/i915_drv.h | 2 +
drivers/gpu/drm/nouveau/nouveau_backlight.c | 14 +
drivers/gpu/drm/radeon/atombios_encoders.c | 7 +
drivers/gpu/drm/radeon/radeon_encoders.c | 11 +-
.../gpu/drm/radeon/radeon_legacy_encoders.c | 7 +
drivers/platform/x86/acer-wmi.c | 66 ---
drivers/platform/x86/apple-gmux.c | 3 -
drivers/platform/x86/asus-nb-wmi.c | 21 -
drivers/platform/x86/asus-wmi.c | 13 -
drivers/platform/x86/asus-wmi.h | 2 -
drivers/platform/x86/eeepc-wmi.c | 25 +-
drivers/platform/x86/samsung-laptop.c | 87 ----
drivers/platform/x86/toshiba_acpi.c | 16 -
include/acpi/video.h | 9 +-
26 files changed, 468 insertions(+), 415 deletions(-)

--
2.36.0