drm_privacy_screen_machine.h (1281B)
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_MACHINE_H__ 10#define __DRM_PRIVACY_SCREEN_MACHINE_H__ 11 12#include <linux/list.h> 13 14/** 15 * struct drm_privacy_screen_lookup - static privacy-screen lookup list entry 16 * 17 * Used for the static lookup-list for mapping privacy-screen consumer 18 * dev-connector pairs to a privacy-screen provider. 19 */ 20struct drm_privacy_screen_lookup { 21 /** @list: Lookup list list-entry. */ 22 struct list_head list; 23 /** @dev_id: Consumer device name or NULL to match all devices. */ 24 const char *dev_id; 25 /** @con_id: Consumer connector name or NULL to match all connectors. */ 26 const char *con_id; 27 /** @provider: dev_name() of the privacy_screen provider. */ 28 const char *provider; 29}; 30 31void drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup); 32void drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup); 33 34#if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) && IS_ENABLED(CONFIG_X86) 35void drm_privacy_screen_lookup_init(void); 36void drm_privacy_screen_lookup_exit(void); 37#else 38static inline void drm_privacy_screen_lookup_init(void) 39{ 40} 41static inline void drm_privacy_screen_lookup_exit(void) 42{ 43} 44#endif 45 46#endif