xref: /OK3568_Linux_fs/kernel/include/linux/hdmi-notifier.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef LINUX_HDMI_NOTIFIER_H
3 #define LINUX_HDMI_NOTIFIER_H
4 
5 #include <linux/types.h>
6 
7 enum {
8 	HDMI_CONNECTED,
9 	HDMI_DISCONNECTED,
10 	HDMI_NEW_EDID,
11 	HDMI_NEW_ELD,
12 };
13 
14 struct hdmi_event_base {
15 	struct device *source;
16 };
17 
18 struct hdmi_event_new_edid {
19 	struct hdmi_event_base base;
20 	const void *edid;
21 	size_t size;
22 };
23 
24 struct hdmi_event_new_eld {
25 	struct hdmi_event_base base;
26 	unsigned char eld[128];
27 };
28 
29 union hdmi_event {
30 	struct hdmi_event_base base;
31 	struct hdmi_event_new_edid edid;
32 	struct hdmi_event_new_eld eld;
33 };
34 
35 struct notifier_block;
36 
37 int hdmi_register_notifier(struct notifier_block *nb);
38 int hdmi_unregister_notifier(struct notifier_block *nb);
39 
40 void hdmi_event_connect(struct device *dev);
41 void hdmi_event_disconnect(struct device *dev);
42 void hdmi_event_new_edid(struct device *dev, const void *edid, size_t size);
43 void hdmi_event_new_eld(struct device *dev, const void *eld);
44 
45 #endif
46