1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #ifndef __DRIVERS_GFX_GENERIC_CHIP_H__
4 #define __DRIVERS_GFX_GENERIC_CHIP_H__
6 #include <acpi/acpi_device.h>
8 /* Config for electronic privacy screen */
9 struct drivers_gfx_generic_privacy_screen_config
{
10 /* Is privacy screen available on this graphics device */
12 /* ACPI namespace path to privacy screen detection function */
13 const char *detect_function
;
14 /* ACPI namespace path to privacy screen status function */
15 const char *status_function
;
16 /* ACPI namespace path to privacy screen enable function */
17 const char *enable_function
;
18 /* ACPI namespace path to privacy screen disable function */
19 const char *disable_function
;
21 * GPIO used for controlling the privacy screen. If provided,
22 * the gpio mechanism takes preference over the functions ptrs
23 * above, if any (GPIO functions override the function ptrs).
25 struct acpi_gpio gpio
;
28 /* Config for an output device as defined in section A.5 of the ACPI spec */
29 struct drivers_gfx_generic_device_config
{
30 /* ACPI device name of the output device */
32 /* Value to use for _HID Name, will take precedence over _ADR */
34 /* The address of the output device. See section A.3.2 */
36 /* Electronic privacy screen specific config */
37 struct drivers_gfx_generic_privacy_screen_config privacy
;
40 /* Config for an ACPI video device defined in Appendix A of the ACPI spec */
41 struct drivers_gfx_generic_config
{
43 * ACPI device name of the graphics card, "GFX0" will be used if name is
47 /* The number of output devices defined */
49 /* Config for output devices */
50 struct drivers_gfx_generic_device_config device
[5];
53 #endif /* __DRIVERS_GFX_GENERIC_CHIP_H__ */