1*a1a98689SHans de Goede /* SPDX-License-Identifier: MIT */
2*a1a98689SHans de Goede /*
3*a1a98689SHans de Goede  * Copyright (C) 2020 Red Hat, Inc.
4*a1a98689SHans de Goede  *
5*a1a98689SHans de Goede  * Authors:
6*a1a98689SHans de Goede  * Hans de Goede <hdegoede@redhat.com>
7*a1a98689SHans de Goede  */
8*a1a98689SHans de Goede 
9*a1a98689SHans de Goede #ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__
10*a1a98689SHans de Goede #define __DRM_PRIVACY_SCREEN_MACHINE_H__
11*a1a98689SHans de Goede 
12*a1a98689SHans de Goede #include <linux/list.h>
13*a1a98689SHans de Goede 
14*a1a98689SHans de Goede /**
15*a1a98689SHans de Goede  * struct drm_privacy_screen_lookup -  static privacy-screen lookup list entry
16*a1a98689SHans de Goede  *
17*a1a98689SHans de Goede  * Used for the static lookup-list for mapping privacy-screen consumer
18*a1a98689SHans de Goede  * dev-connector pairs to a privacy-screen provider.
19*a1a98689SHans de Goede  */
20*a1a98689SHans de Goede struct drm_privacy_screen_lookup {
21*a1a98689SHans de Goede 	/** @list: Lookup list list-entry. */
22*a1a98689SHans de Goede 	struct list_head list;
23*a1a98689SHans de Goede 	/** @dev_id: Consumer device name or NULL to match all devices. */
24*a1a98689SHans de Goede 	const char *dev_id;
25*a1a98689SHans de Goede 	/** @con_id: Consumer connector name or NULL to match all connectors. */
26*a1a98689SHans de Goede 	const char *con_id;
27*a1a98689SHans de Goede 	/** @provider: dev_name() of the privacy_screen provider. */
28*a1a98689SHans de Goede 	const char *provider;
29*a1a98689SHans de Goede };
30*a1a98689SHans de Goede 
31*a1a98689SHans de Goede void drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup);
32*a1a98689SHans de Goede void drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup);
33*a1a98689SHans de Goede 
34*a1a98689SHans de Goede static inline void drm_privacy_screen_lookup_init(void)
35*a1a98689SHans de Goede {
36*a1a98689SHans de Goede }
37*a1a98689SHans de Goede static inline void drm_privacy_screen_lookup_exit(void)
38*a1a98689SHans de Goede {
39*a1a98689SHans de Goede }
40*a1a98689SHans de Goede 
41*a1a98689SHans de Goede #endif
42