mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
/* SPDX-License-Identifier: MIT */ |
|
/* |
|
* Copyright (C) 2020 Red Hat, Inc. |
|
* |
|
* Authors: |
|
* Hans de Goede <[email protected]> |
|
*/ |
|
|
|
#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
|
|
|