ASoC: fsl: imx-es8328: Switch to using gpiod API
This updates the driver to gpiod API, and removes yet another use of of_get_named_gpio(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://msgid.link/r/20240318200804.181516-1-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
3ca49e7f94
commit
9855f05e55
@@ -3,7 +3,7 @@
|
|||||||
// Copyright 2012 Freescale Semiconductor, Inc.
|
// Copyright 2012 Freescale Semiconductor, Inc.
|
||||||
// Copyright 2012 Linaro Ltd.
|
// Copyright 2012 Linaro Ltd.
|
||||||
|
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio/consumer.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_platform.h>
|
#include <linux/of_platform.h>
|
||||||
@@ -23,7 +23,7 @@ struct imx_es8328_data {
|
|||||||
struct snd_soc_card card;
|
struct snd_soc_card card;
|
||||||
char codec_dai_name[DAI_NAME_SIZE];
|
char codec_dai_name[DAI_NAME_SIZE];
|
||||||
char platform_name[DAI_NAME_SIZE];
|
char platform_name[DAI_NAME_SIZE];
|
||||||
int jack_gpio;
|
struct gpio_desc *jack_gpiod;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct snd_soc_jack_gpio headset_jack_gpios[] = {
|
static struct snd_soc_jack_gpio headset_jack_gpios[] = {
|
||||||
@@ -54,8 +54,8 @@ static int imx_es8328_dai_init(struct snd_soc_pcm_runtime *rtd)
|
|||||||
struct imx_es8328_data, card);
|
struct imx_es8328_data, card);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
/* Headphone jack detection */
|
if (data->jack_gpiod) {
|
||||||
if (gpio_is_valid(data->jack_gpio)) {
|
/* Headphone jack detection */
|
||||||
ret = snd_soc_card_jack_new_pins(rtd->card, "Headphone",
|
ret = snd_soc_card_jack_new_pins(rtd->card, "Headphone",
|
||||||
SND_JACK_HEADSET | SND_JACK_BTN_0,
|
SND_JACK_HEADSET | SND_JACK_BTN_0,
|
||||||
&headset_jack,
|
&headset_jack,
|
||||||
@@ -64,7 +64,7 @@ static int imx_es8328_dai_init(struct snd_soc_pcm_runtime *rtd)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
headset_jack_gpios[0].gpio = data->jack_gpio;
|
headset_jack_gpios[0].desc = data->jack_gpiod;
|
||||||
ret = snd_soc_jack_add_gpios(&headset_jack,
|
ret = snd_soc_jack_add_gpios(&headset_jack,
|
||||||
ARRAY_SIZE(headset_jack_gpios),
|
ARRAY_SIZE(headset_jack_gpios),
|
||||||
headset_jack_gpios);
|
headset_jack_gpios);
|
||||||
@@ -174,7 +174,11 @@ static int imx_es8328_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
data->dev = dev;
|
data->dev = dev;
|
||||||
|
|
||||||
data->jack_gpio = of_get_named_gpio(pdev->dev.of_node, "jack-gpio", 0);
|
data->jack_gpiod = devm_gpiod_get_optional(dev, "jack", GPIOD_IN);
|
||||||
|
if (IS_ERR(data->jack_gpiod)) {
|
||||||
|
ret = PTR_ERR(data->jack_gpiod);
|
||||||
|
goto put_device;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CPU == Platform
|
* CPU == Platform
|
||||||
|
Reference in New Issue
Block a user