summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ep93xx/vision_ep9307.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2023-12-01 14:20:35 +0100
committerMark Brown <broonie@kernel.org>2023-12-01 16:59:21 +0000
commit42d1178d223ba9498c1ed40a5fc243a43d35ec97 (patch)
tree28d8504fdbb1314b65368b223f94ff91cc14519b /arch/arm/mach-ep93xx/vision_ep9307.c
parent194ef700d4e255686173a03b65e15cac637cc15a (diff)
downloadlinux-stable-42d1178d223ba9498c1ed40a5fc243a43d35ec97.tar.gz
linux-stable-42d1178d223ba9498c1ed40a5fc243a43d35ec97.tar.bz2
linux-stable-42d1178d223ba9498c1ed40a5fc243a43d35ec97.zip
ASoC: cs4271: Convert to GPIO descriptors
This converts the Cirrus CS4271 ASoC codec driver to use GPIO descriptors. It turns out that there are two in-kernel users of the platform data passing mechanism so these are switched over as well. One locally defined GPIO "gpio_disabled" is declared in the state struct but completely unused in the driver, so we delete it. Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20231201-descriptors-sound-cirrus-v2-6-ee9f9d4655eb@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'arch/arm/mach-ep93xx/vision_ep9307.c')
-rw-r--r--arch/arm/mach-ep93xx/vision_ep9307.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c
index 30d9cf3791eb..9471938df64c 100644
--- a/arch/arm/mach-ep93xx/vision_ep9307.c
+++ b/arch/arm/mach-ep93xx/vision_ep9307.c
@@ -164,7 +164,7 @@ static struct i2c_board_info vision_i2c_info[] __initdata = {
* SPI CS4271 Audio Codec
*************************************************************************/
static struct cs4271_platform_data vision_cs4271_data = {
- .gpio_nreset = EP93XX_GPIO_LINE_H(2),
+ /* Intentionally left blank */
};
/*************************************************************************
@@ -241,6 +241,15 @@ static struct spi_board_info vision_spi_board_info[] __initdata = {
},
};
+static struct gpiod_lookup_table vision_spi_cs4271_gpio_table = {
+ .dev_id = "spi0.0", /* cs4271 @ CS0 */
+ .table = {
+ /* RESET */
+ GPIO_LOOKUP_IDX("H", 2, NULL, 0, GPIO_ACTIVE_LOW),
+ { },
+ },
+};
+
static struct gpiod_lookup_table vision_spi_cs_gpio_table = {
.dev_id = "spi0",
.table = {
@@ -292,6 +301,7 @@ static void __init vision_init_machine(void)
ep93xx_register_i2c(vision_i2c_info,
ARRAY_SIZE(vision_i2c_info));
+ gpiod_add_lookup_table(&vision_spi_cs4271_gpio_table);
gpiod_add_lookup_table(&vision_spi_mmc_gpio_table);
gpiod_add_lookup_table(&vision_spi_cs_gpio_table);
ep93xx_register_spi(&vision_spi_master, vision_spi_board_info,