brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · 7f66a90 Raw
66 lines · c
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_CONSUMER_H__10#define __DRM_PRIVACY_SCREEN_CONSUMER_H__11 12#include <linux/device.h>13#include <drm/drm_connector.h>14 15struct drm_privacy_screen;16 17#if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN)18struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,19						  const char *con_id);20void drm_privacy_screen_put(struct drm_privacy_screen *priv);21 22int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,23				    enum drm_privacy_screen_status sw_state);24void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,25				  enum drm_privacy_screen_status *sw_state_ret,26				  enum drm_privacy_screen_status *hw_state_ret);27 28int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,29					 struct notifier_block *nb);30int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,31					   struct notifier_block *nb);32#else33static inline struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,34								const char *con_id)35{36	return ERR_PTR(-ENODEV);37}38static inline void drm_privacy_screen_put(struct drm_privacy_screen *priv)39{40}41static inline int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,42						  enum drm_privacy_screen_status sw_state)43{44	return -ENODEV;45}46static inline void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,47						enum drm_privacy_screen_status *sw_state_ret,48						enum drm_privacy_screen_status *hw_state_ret)49{50	*sw_state_ret = PRIVACY_SCREEN_DISABLED;51	*hw_state_ret = PRIVACY_SCREEN_DISABLED;52}53static inline int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,54						       struct notifier_block *nb)55{56	return -ENODEV;57}58static inline int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,59							 struct notifier_block *nb)60{61	return -ENODEV;62}63#endif64 65#endif66