xref: /openbmc/linux/include/acpi/video.h (revision b802fb99)
1 #ifndef __ACPI_VIDEO_H
2 #define __ACPI_VIDEO_H
3 
4 #include <linux/errno.h> /* for ENODEV */
5 #include <linux/types.h> /* for bool */
6 
7 struct acpi_device;
8 
9 #define ACPI_VIDEO_CLASS	"video"
10 
11 #define ACPI_VIDEO_DISPLAY_CRT  1
12 #define ACPI_VIDEO_DISPLAY_TV   2
13 #define ACPI_VIDEO_DISPLAY_DVI  3
14 #define ACPI_VIDEO_DISPLAY_LCD  4
15 
16 #define ACPI_VIDEO_DISPLAY_LEGACY_MONITOR 0x0100
17 #define ACPI_VIDEO_DISPLAY_LEGACY_PANEL   0x0110
18 #define ACPI_VIDEO_DISPLAY_LEGACY_TV      0x0200
19 
20 enum acpi_backlight_type {
21 	acpi_backlight_undef = -1,
22 	acpi_backlight_none = 0,
23 	acpi_backlight_video,
24 	acpi_backlight_vendor,
25 	acpi_backlight_native,
26 };
27 
28 #if IS_ENABLED(CONFIG_ACPI_VIDEO)
29 extern int acpi_video_register(void);
30 extern void acpi_video_unregister(void);
31 extern int acpi_video_get_edid(struct acpi_device *device, int type,
32 			       int device_id, void **edid);
33 extern enum acpi_backlight_type acpi_video_get_backlight_type(void);
34 extern void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type);
35 /*
36  * Note: The value returned by acpi_video_handles_brightness_key_presses()
37  * may change over time and should not be cached.
38  */
39 extern bool acpi_video_handles_brightness_key_presses(void);
40 #else
41 static inline int acpi_video_register(void) { return 0; }
42 static inline void acpi_video_unregister(void) { return; }
43 static inline int acpi_video_get_edid(struct acpi_device *device, int type,
44 				      int device_id, void **edid)
45 {
46 	return -ENODEV;
47 }
48 static inline enum acpi_backlight_type acpi_video_get_backlight_type(void)
49 {
50 	return acpi_backlight_vendor;
51 }
52 static inline void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type)
53 {
54 }
55 static inline bool acpi_video_handles_brightness_key_presses(void)
56 {
57 	return false;
58 }
59 #endif
60 
61 #endif
62