| /* SPDX-License-Identifier: MIT */ |
| /* |
| * Copyright (C) 2020 Red Hat, Inc. |
| * |
| * Authors: |
| * Hans de Goede <hdegoede@redhat.com> |
| */ |
| |
| #ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__ |
| #define __DRM_PRIVACY_SCREEN_MACHINE_H__ |
| |
| #include <linux/list.h> |
| |
| /** |
| * struct drm_privacy_screen_lookup - static privacy-screen lookup list entry |
| * |
| * Used for the static lookup-list for mapping privacy-screen consumer |
| * dev-connector pairs to a privacy-screen provider. |
| */ |
| struct drm_privacy_screen_lookup { |
| /** @list: Lookup list list-entry. */ |
| struct list_head list; |
| /** @dev_id: Consumer device name or NULL to match all devices. */ |
| const char *dev_id; |
| /** @con_id: Consumer connector name or NULL to match all connectors. */ |
| const char *con_id; |
| /** @provider: dev_name() of the privacy_screen provider. */ |
| const char *provider; |
| }; |
| |
| void drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup); |
| void drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup); |
| |
| #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) && IS_ENABLED(CONFIG_X86) |
| void drm_privacy_screen_lookup_init(void); |
| void drm_privacy_screen_lookup_exit(void); |
| #else |
| static inline void drm_privacy_screen_lookup_init(void) |
| { |
| } |
| static inline void drm_privacy_screen_lookup_exit(void) |
| { |
| } |
| #endif |
| |
| #endif |