Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 /*
0003  * Copyright (C) 2020 Red Hat, Inc.
0004  *
0005  * Authors:
0006  * Hans de Goede <hdegoede@redhat.com>
0007  */
0008 
0009 #ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__
0010 #define __DRM_PRIVACY_SCREEN_MACHINE_H__
0011 
0012 #include <linux/list.h>
0013 
0014 /**
0015  * struct drm_privacy_screen_lookup -  static privacy-screen lookup list entry
0016  *
0017  * Used for the static lookup-list for mapping privacy-screen consumer
0018  * dev-connector pairs to a privacy-screen provider.
0019  */
0020 struct drm_privacy_screen_lookup {
0021     /** @list: Lookup list list-entry. */
0022     struct list_head list;
0023     /** @dev_id: Consumer device name or NULL to match all devices. */
0024     const char *dev_id;
0025     /** @con_id: Consumer connector name or NULL to match all connectors. */
0026     const char *con_id;
0027     /** @provider: dev_name() of the privacy_screen provider. */
0028     const char *provider;
0029 };
0030 
0031 void drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup);
0032 void drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup);
0033 
0034 #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) && IS_ENABLED(CONFIG_X86)
0035 void drm_privacy_screen_lookup_init(void);
0036 void drm_privacy_screen_lookup_exit(void);
0037 #else
0038 static inline void drm_privacy_screen_lookup_init(void)
0039 {
0040 }
0041 static inline void drm_privacy_screen_lookup_exit(void)
0042 {
0043 }
0044 #endif
0045 
0046 #endif