video.h 1.7 KB

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