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