162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020 Red Hat, Inc. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Authors: 662306a36Sopenharmony_ci * Hans de Goede <hdegoede@redhat.com> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __DRM_PRIVACY_SCREEN_MACHINE_H__ 1062306a36Sopenharmony_ci#define __DRM_PRIVACY_SCREEN_MACHINE_H__ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <linux/list.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/** 1562306a36Sopenharmony_ci * struct drm_privacy_screen_lookup - static privacy-screen lookup list entry 1662306a36Sopenharmony_ci * 1762306a36Sopenharmony_ci * Used for the static lookup-list for mapping privacy-screen consumer 1862306a36Sopenharmony_ci * dev-connector pairs to a privacy-screen provider. 1962306a36Sopenharmony_ci */ 2062306a36Sopenharmony_cistruct drm_privacy_screen_lookup { 2162306a36Sopenharmony_ci /** @list: Lookup list list-entry. */ 2262306a36Sopenharmony_ci struct list_head list; 2362306a36Sopenharmony_ci /** @dev_id: Consumer device name or NULL to match all devices. */ 2462306a36Sopenharmony_ci const char *dev_id; 2562306a36Sopenharmony_ci /** @con_id: Consumer connector name or NULL to match all connectors. */ 2662306a36Sopenharmony_ci const char *con_id; 2762306a36Sopenharmony_ci /** @provider: dev_name() of the privacy_screen provider. */ 2862306a36Sopenharmony_ci const char *provider; 2962306a36Sopenharmony_ci}; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_civoid drm_privacy_screen_lookup_add(struct drm_privacy_screen_lookup *lookup); 3262306a36Sopenharmony_civoid drm_privacy_screen_lookup_remove(struct drm_privacy_screen_lookup *lookup); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) && IS_ENABLED(CONFIG_X86) 3562306a36Sopenharmony_civoid drm_privacy_screen_lookup_init(void); 3662306a36Sopenharmony_civoid drm_privacy_screen_lookup_exit(void); 3762306a36Sopenharmony_ci#else 3862306a36Sopenharmony_cistatic inline void drm_privacy_screen_lookup_init(void) 3962306a36Sopenharmony_ci{ 4062306a36Sopenharmony_ci} 4162306a36Sopenharmony_cistatic inline void drm_privacy_screen_lookup_exit(void) 4262306a36Sopenharmony_ci{ 4362306a36Sopenharmony_ci} 4462306a36Sopenharmony_ci#endif 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci#endif 47