1 /* SPDX-License-Identifier: MIT */
3 * Copyright (C) 2020 Red Hat, Inc.
6 * Hans de Goede <hdegoede@redhat.com>
9 #ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__
10 #define __DRM_PRIVACY_SCREEN_MACHINE_H__
12 #include <linux/list.h>
15 * struct drm_privacy_screen_lookup - static privacy-screen lookup list entry
17 * Used for the static lookup-list for mapping privacy-screen consumer
18 * dev-connector pairs to a privacy-screen provider.
20 struct drm_privacy_screen_lookup {
21 /** @list: Lookup list list-entry. */
22 struct list_head list;
23 /** @dev_id: Consumer device name or NULL to match all devices. */
25 /** @con_id: Consumer connector name or NULL to match all connectors. */
27 /** @provider: dev_name() of the privacy_screen provider. */
31 void drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup);
32 void drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup);
34 #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) && IS_ENABLED(CONFIG_X86)
35 void drm_privacy_screen_lookup_init(void);
36 void drm_privacy_screen_lookup_exit(void);
38 static inline void drm_privacy_screen_lookup_init(void)
41 static inline void drm_privacy_screen_lookup_exit(void)