Merge tag 'xfs-6.4-rc1-fixes' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[linux-block.git] / include / drm / drm_privacy_screen_machine.h
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright (C) 2020 Red Hat, Inc.
4  *
5  * Authors:
6  * Hans de Goede <hdegoede@redhat.com>
7  */
8
9 #ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__
10 #define __DRM_PRIVACY_SCREEN_MACHINE_H__
11
12 #include <linux/list.h>
13
14 /**
15  * struct drm_privacy_screen_lookup -  static privacy-screen lookup list entry
16  *
17  * Used for the static lookup-list for mapping privacy-screen consumer
18  * dev-connector pairs to a privacy-screen provider.
19  */
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. */
24         const char *dev_id;
25         /** @con_id: Consumer connector name or NULL to match all connectors. */
26         const char *con_id;
27         /** @provider: dev_name() of the privacy_screen provider. */
28         const char *provider;
29 };
30
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);
33
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);
37 #else
38 static inline void drm_privacy_screen_lookup_init(void)
39 {
40 }
41 static inline void drm_privacy_screen_lookup_exit(void)
42 {
43 }
44 #endif
45
46 #endif