/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __DRIVERS_GFX_GENERIC_CHIP_H__ #define __DRIVERS_GFX_GENERIC_CHIP_H__ #include /* Config for electronic privacy screen */ struct drivers_gfx_generic_privacy_screen_config { /* Is privacy screen available on this graphics device */ int enabled; /* ACPI namespace path to privacy screen detection function */ const char *detect_function; /* ACPI namespace path to privacy screen status function */ const char *status_function; /* ACPI namespace path to privacy screen enable function */ const char *enable_function; /* ACPI namespace path to privacy screen disable function */ const char *disable_function; /* * GPIO used for controlling the privacy screen. If provided, * the gpio mechanism takes preference over the functions ptrs * above, if any (GPIO functions override the function ptrs). */ struct acpi_gpio gpio; }; /* Config for an output device as defined in section A.5 of the ACPI spec */ struct drivers_gfx_generic_device_config { /* ACPI device name of the output device */ const char *name; /* The address of the output device. See section A.3.2 */ unsigned int addr; /* Electronic privacy screen specific config */ struct drivers_gfx_generic_privacy_screen_config privacy; }; /* Config for an ACPI video device defined in Appendix A of the ACPI spec */ struct drivers_gfx_generic_config { /* * ACPI device name of the graphics card, "GFX0" will be used if name is * not set */ const char *name; /* The number of output devices defined */ int device_count; /* Config for output devices */ struct drivers_gfx_generic_device_config device[5]; }; extern struct device *find_gfx_dev(void); #endif /* __DRIVERS_GFX_GENERIC_CHIP_H__ */