/* SPDX-License-Identifier: MIT */
/*
* Copyright ( C ) 2020 Red Hat , Inc .
*
* Authors :
* Hans de Goede < hdegoede @ redhat . com >
*/
#ifndef __DRM_PRIVACY_SCREEN_CONSUMER_H__
#define __DRM_PRIVACY_SCREEN_CONSUMER_H__
#include <linux/device.h>
#include <drm/drm_connector.h>
struct drm_privacy_screen;
#if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN)
struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
const char *con_id);
void drm_privacy_screen_put(struct drm_privacy_screen *priv);
int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
enum drm_privacy_screen_status sw_state);
void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
enum drm_privacy_screen_status *sw_state_ret,
enum drm_privacy_screen_status *hw_state_ret);
int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
struct notifier_block *nb);
int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
struct notifier_block *nb);
#else
static inline struct drm_privacy_screen *drm_privacy_screen_get(struct device *dev,
const char *con_id)
{
return ERR_PTR(-ENODEV);
}
static inline void drm_privacy_screen_put(struct drm_privacy_screen *priv)
{
}
static inline int drm_privacy_screen_set_sw_state(struct drm_privacy_screen *priv,
enum drm_privacy_screen_status sw_state)
{
return -ENODEV;
}
static inline void drm_privacy_screen_get_state(struct drm_privacy_screen *priv,
enum drm_privacy_screen_status *sw_state_ret,
enum drm_privacy_screen_status *hw_state_ret)
{
*sw_state_ret = PRIVACY_SCREEN_DISABLED;
*hw_state_ret = PRIVACY_SCREEN_DISABLED;
}
static inline int drm_privacy_screen_register_notifier(struct drm_privacy_screen *priv,
struct notifier_block *nb)
{
return -ENODEV;
}
static inline int drm_privacy_screen_unregister_notifier(struct drm_privacy_screen *priv,
struct notifier_block *nb)
{
return -ENODEV;
}
#endif
#endif
Messung V0.5 in Prozent C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland