new file mode 100644
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright(c) 2019 Intel Corporation.
+ */
+
+/*
+ * This file includes the general functions related to hdac_hdmi codec,
+ * which is used by the different boards
+ */
+
+#ifndef __SOUND_SOC_HDAC_HDMI_COMMON
+#define __SOUND_SOC_HDAC_HDMI_COMMON
+
+static int hdac_hdmi_add_device_link(struct device *consumer,
+ struct device *supplier,
+ struct device_link **link)
+{
+ /*
+ * Setup a device_link between machine device and HDMI codec device.
+ * The machine device is the consumer and the HDMI codec device is
+ * the supplier. With this setting, we can make sure that the audio
+ * domain in display power will be always turned on before operating
+ * on the HDMI audio codec registers.
+ */
+ if (!(*link))
+ *link = device_link_add(consumer, supplier, DL_FLAG_RPM_ACTIVE);
+
+ if (!(*link))
+ dev_warn(consumer,
+ "failed creating device_link for HDMI codec\n");
+
+ return 0;
+}
+
+static int hdac_hdmi_del_device_link(struct device_link **link)
+{
+ /*
+ * delete the device_link between machine device and HDMI codec device.
+ */
+ if (*link)
+ device_link_del(*link);
+
+ return 0;
+}
+
+#endif /* __SOUND_SOC_HDAC_HDMI_COMMON */