[v2,01/12] ASoC: intel: boards: define some general functions for hdac_hdmi
diff mbox series

Message ID 1554991793-14851-2-git-send-email-libin.yang@intel.com
State New
Headers show
Series
  • ASoC: intel: add device_link to HDMI audio
Related show

Commit Message

Yang, Libin April 11, 2019, 2:09 p.m. UTC
From: Libin Yang <libin.yang@intel.com>

Create hdac_hdmi_common.h and define some general functions related to
hdac_hdmi codec.

Signed-off-by: Libin Yang <libin.yang@intel.com>
---
 sound/soc/intel/boards/hdac_hdmi_common.h | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 sound/soc/intel/boards/hdac_hdmi_common.h

Patch
diff mbox series

diff --git a/sound/soc/intel/boards/hdac_hdmi_common.h b/sound/soc/intel/boards/hdac_hdmi_common.h
new file mode 100644
index 0000000..9e6f07a
--- /dev/null
+++ b/sound/soc/intel/boards/hdac_hdmi_common.h
@@ -0,0 +1,36 @@ 
+/* 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 | \
+					DL_FLAG_AUTOREMOVE_CONSUMER);
+
+	if (!(*link))
+		dev_warn(consumer,
+			 "failed creating device_link for HDMI codec\n");
+
+	return 0;
+}
+
+#endif /* __SOUND_SOC_HDAC_HDMI_COMMON */