| /* 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 |