Skip to content

Commit 8793bee

Browse files
Linus Walleijbroonie
authored andcommitted
ASoC: rt5682s: Convert to use GPIO descriptors
Convert the RT5682S to use GPIO descriptors and drop the legacy GPIO headers. We remove the global GPIO number from the platform data, but it is still possible to create board files using GPIO descriptor tables, if desired. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20230817-descriptors-asoc-rt-v2-5-02fa2ca3e5b0@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent ed11701 commit 8793bee

3 files changed

Lines changed: 9 additions & 12 deletions

File tree

include/sound/rt5682s.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ enum rt5682s_dai_clks {
3232
};
3333

3434
struct rt5682s_platform_data {
35-
36-
int ldo1_en; /* GPIO for LDO1_EN */
37-
3835
enum rt5682s_dmic1_data_pin dmic1_data_pin;
3936
enum rt5682s_dmic1_clk_pin dmic1_clk_pin;
4037
enum rt5682s_jd_src jd_src;

sound/soc/codecs/rt5682s.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
#include <linux/platform_device.h>
1616
#include <linux/spi/spi.h>
1717
#include <linux/acpi.h>
18-
#include <linux/gpio.h>
19-
#include <linux/of_gpio.h>
18+
#include <linux/gpio/consumer.h>
2019
#include <linux/mutex.h>
2120
#include <sound/core.h>
2221
#include <sound/pcm.h>
@@ -2973,9 +2972,6 @@ static int rt5682s_parse_dt(struct rt5682s_priv *rt5682s, struct device *dev)
29732972
device_property_read_u32(dev, "realtek,amic-delay-ms",
29742973
&rt5682s->pdata.amic_delay);
29752974

2976-
rt5682s->pdata.ldo1_en = of_get_named_gpio(dev->of_node,
2977-
"realtek,ldo1-en-gpios", 0);
2978-
29792975
if (device_property_read_string_array(dev, "clock-output-names",
29802976
rt5682s->pdata.dai_clk_names,
29812977
RT5682S_DAI_NUM_CLKS) < 0)
@@ -3172,10 +3168,12 @@ static int rt5682s_i2c_probe(struct i2c_client *i2c)
31723168
return ret;
31733169
}
31743170

3175-
if (gpio_is_valid(rt5682s->pdata.ldo1_en)) {
3176-
if (devm_gpio_request_one(&i2c->dev, rt5682s->pdata.ldo1_en,
3177-
GPIOF_OUT_INIT_HIGH, "rt5682s"))
3178-
dev_err(&i2c->dev, "Fail gpio_request gpio_ldo\n");
3171+
rt5682s->ldo1_en = devm_gpiod_get_optional(&i2c->dev,
3172+
"realtek,ldo1-en",
3173+
GPIOD_OUT_HIGH);
3174+
if (IS_ERR(rt5682s->ldo1_en)) {
3175+
dev_err(&i2c->dev, "Fail gpio request ldo1_en\n");
3176+
return PTR_ERR(rt5682s->ldo1_en);
31793177
}
31803178

31813179
/* Sleep for 50 ms minimum */

sound/soc/codecs/rt5682s.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include <sound/rt5682s.h>
1313
#include <linux/regulator/consumer.h>
14+
#include <linux/gpio/consumer.h>
1415
#include <linux/clk.h>
1516
#include <linux/clkdev.h>
1617
#include <linux/clk-provider.h>
@@ -1446,6 +1447,7 @@ enum {
14461447
struct rt5682s_priv {
14471448
struct snd_soc_component *component;
14481449
struct rt5682s_platform_data pdata;
1450+
struct gpio_desc *ldo1_en;
14491451
struct regmap *regmap;
14501452
struct snd_soc_jack *hs_jack;
14511453
struct regulator_bulk_data supplies[RT5682S_NUM_SUPPLIES];

0 commit comments

Comments
 (0)