[PATCH] ASoC: samsung: Use iio_get_channel_type() accessor.
Jonathan Cameron
jic23 at kernel.org
Sun Aug 21 18:09:14 CEST 2022
From: Jonathan Cameron <Jonathan.Cameron at huawei.com>
struct iio_chan_spec is meant to be opaque to IIO consumer drivers
which should only use the interfaces in linux/iio/consumer.h.
Use the provided accessor function to find get the type of the
channel instead of directly reading it form the structure.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
Cc: Sylwester Nawrocki <s.nawrocki at samsung.com>
---
sound/soc/samsung/aries_wm8994.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/soc/samsung/aries_wm8994.c b/sound/soc/samsung/aries_wm8994.c
index e7d52d27132e..0fbbf3b02c09 100644
--- a/sound/soc/samsung/aries_wm8994.c
+++ b/sound/soc/samsung/aries_wm8994.c
@@ -1,7 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+
#include <linux/extcon.h>
#include <linux/iio/consumer.h>
-#include <linux/iio/iio.h>
#include <linux/input-event-codes.h>
#include <linux/mfd/wm8994/registers.h>
#include <linux/module.h>
@@ -543,6 +542,7 @@ static int aries_audio_probe(struct platform_device *pdev)
struct aries_wm8994_data *priv;
struct snd_soc_dai_link *dai_link;
const struct of_device_id *match;
+ enum iio_chan_type channel_type;
int ret, i;
if (!np)
@@ -594,7 +594,11 @@ static int aries_audio_probe(struct platform_device *pdev)
return dev_err_probe(dev, PTR_ERR(priv->adc),
"Failed to get ADC channel");
- if (priv->adc->channel->type != IIO_VOLTAGE)
+ ret = iio_get_channel_type(priv->adc, &channel_type);
+ if (ret)
+ return dev_err_probe(dev, ret,
+ "Failed to get ADC channel type");
+ if (channel_type != IIO_VOLTAGE)
return -EINVAL;
priv->gpio_headset_key = devm_gpiod_get(dev, "headset-key",
--
2.37.2
More information about the Alsa-devel
mailing list