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