0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef __DRM_PRIVACY_SCREEN_CONSUMER_H__
0010 #define __DRM_PRIVACY_SCREEN_CONSUMER_H__
0011
0012 #include <linux/device.h>
0013 #include <drm/drm_connector.h>
0014
0015 struct drm_privacy_screen;
0016
0017 #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN)
0018 struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
0019 const char *con_id);
0020 void drm_privacy_screen_put(struct drm_privacy_screen *priv);
0021
0022 int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
0023 enum drm_privacy_screen_status sw_state);
0024 void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
0025 enum drm_privacy_screen_status *sw_state_ret,
0026 enum drm_privacy_screen_status *hw_state_ret);
0027
0028 int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
0029 struct notifier_block *nb);
0030 int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
0031 struct notifier_block *nb);
0032 #else
0033 static inline struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
0034 const char *con_id)
0035 {
0036 return ERR_PTR(-ENODEV);
0037 }
0038 static inline void drm_privacy_screen_put(struct drm_privacy_screen *priv)
0039 {
0040 }
0041 static inline int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
0042 enum drm_privacy_screen_status sw_state)
0043 {
0044 return -ENODEV;
0045 }
0046 static inline void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
0047 enum drm_privacy_screen_status *sw_state_ret,
0048 enum drm_privacy_screen_status *hw_state_ret)
0049 {
0050 *sw_state_ret = PRIVACY_SCREEN_DISABLED;
0051 *hw_state_ret = PRIVACY_SCREEN_DISABLED;
0052 }
0053 static inline int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
0054 struct notifier_block *nb)
0055 {
0056 return -ENODEV;
0057 }
0058 static inline int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
0059 struct notifier_block *nb)
0060 {
0061 return -ENODEV;
0062 }
0063 #endif
0064
0065 #endif