47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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
 |