diff options
author | Hans de Goede <hdegoede@redhat.com> | 2021-10-05 22:23:14 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2021-10-14 13:12:21 +0200 |
commit | a1a98689301b9af0313e4c1ba44558e8b67ff76e (patch) | |
tree | 90193340cfdbb1f68176948c2ce9f7afade41253 /drivers/gpu/drm/Kconfig | |
parent | drm/connector: Add support for privacy-screen properties (v4) (diff) | |
download | linux-a1a98689301b9af0313e4c1ba44558e8b67ff76e.tar.xz linux-a1a98689301b9af0313e4c1ba44558e8b67ff76e.zip |
drm: Add privacy-screen class (v4)
On some new laptops the LCD panel has a builtin electronic privacy-screen.
We want to export this functionality as a property on the drm connector
object. But often this functionality is not exposed on the GPU but on some
other (ACPI) device.
This commit adds a privacy-screen class allowing the driver for these
other devices to register themselves as a privacy-screen provider; and
allowing the drm/kms code to get a privacy-screen provider associated
with a specific GPU/connector combo.
Changes in v2:
- Make CONFIG_DRM_PRIVACY_SCREEN a bool which controls if the drm_privacy
code gets built as part of the main drm module rather then making it
a tristate which builds its own module.
- Add a #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) check to
drm_privacy_screen_consumer.h and define stubs when the check fails.
Together these 2 changes fix several dependency issues.
- Remove module related code now that this is part of the main drm.ko
- Use drm_class as class for the privacy-screen devices instead of
adding a separate class for this
Changes in v3:
- Make the static inline drm_privacy_screen_get_state() stub set sw_state
and hw_state to PRIVACY_SCREEN_DISABLED to squelch an uninitialized
variable warning when CONFIG_DRM_PRIVICAY_SCREEN is not set
Changes in v4:
- Make drm_privacy_screen_set_sw_state() skip calling out to the hw if
hw_state == new_sw_state
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211005202322.700909-3-hdegoede@redhat.com
Diffstat (limited to 'drivers/gpu/drm/Kconfig')
-rw-r--r-- | drivers/gpu/drm/Kconfig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index a4c020a9a0eb..b91f0ce8154c 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -496,3 +496,7 @@ config DRM_PANEL_ORIENTATION_QUIRKS config DRM_LIB_RANDOM bool default n + +config DRM_PRIVACY_SCREEN + bool + default n |