[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210312113929.17512-6-srinivas.kandagatla@linaro.org>
Date: Fri, 12 Mar 2021 11:39:29 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: broonie@...nel.org, vkoul@...nel.org
Cc: robh@...nel.org, devicetree@...r.kernel.org,
yung-chuan.liao@...ux.intel.com,
pierre-louis.bossart@...ux.intel.com, sanyog.r.kale@...el.com,
linux-kernel@...r.kernel.org,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Subject: [PATCH v3 5/5] ASoC: codecs: wsa881x: add static port map support
Two instances of WSA881x(Speaker Right, Speaker Left) ports
are statically mapped to master ports. Allow the driver to parse
those mappings from device tree.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
---
sound/soc/codecs/wsa881x.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sound/soc/codecs/wsa881x.c b/sound/soc/codecs/wsa881x.c
index db87e07b11c9..b3568aec0cd0 100644
--- a/sound/soc/codecs/wsa881x.c
+++ b/sound/soc/codecs/wsa881x.c
@@ -1093,6 +1093,7 @@ static int wsa881x_probe(struct sdw_slave *pdev,
const struct sdw_device_id *id)
{
struct wsa881x_priv *wsa881x;
+ struct device *dev = &pdev->dev;
wsa881x = devm_kzalloc(&pdev->dev, sizeof(*wsa881x), GFP_KERNEL);
if (!wsa881x)
@@ -1105,6 +1106,12 @@ static int wsa881x_probe(struct sdw_slave *pdev,
return PTR_ERR(wsa881x->sd_n);
}
+ /* valid port numbers on this codec starts from 1, so skip 0th index */
+ if (of_property_read_u32_array(dev->of_node, "qcom,port-mapping",
+ &pdev->m_port_map[1],
+ WSA881X_MAX_SWR_PORTS))
+ dev_info(dev, "Static Port mapping not specified\n");
+
dev_set_drvdata(&pdev->dev, wsa881x);
wsa881x->slave = pdev;
wsa881x->dev = &pdev->dev;
--
2.21.0
Powered by blists - more mailing lists