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