linux/include/drm/drm_privacy_screen_driver.h

/* SPDX-License-Identifier: MIT */
/*
 * Copyright (C) 2020 Red Hat, Inc.
 *
 * Authors:
 * Hans de Goede <[email protected]>
 */

#ifndef __DRM_PRIVACY_SCREEN_DRIVER_H__
#define __DRM_PRIVACY_SCREEN_DRIVER_H__

#include <linux/device.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <drm/drm_connector.h>

struct drm_privacy_screen;

/**
 * struct drm_privacy_screen_ops - drm_privacy_screen operations
 *
 * Defines the operations which the privacy-screen class code may call.
 * These functions should be implemented by the privacy-screen driver.
 */
struct drm_privacy_screen_ops {};

/**
 * struct drm_privacy_screen - central privacy-screen structure
 *
 * Central privacy-screen structure, this contains the struct device used
 * to register the screen in sysfs, the screen's state, ops, etc.
 */
struct drm_privacy_screen {};

static inline
void *drm_privacy_screen_get_drvdata(struct drm_privacy_screen *priv)
{}

struct drm_privacy_screen *drm_privacy_screen_register(
	struct device *parent, const struct drm_privacy_screen_ops *ops,
	void *data);
void drm_privacy_screen_unregister(struct drm_privacy_screen *priv);

void drm_privacy_screen_call_notifier_chain(struct drm_privacy_screen *priv);

#endif