diff options
author | Arnd Bergmann <arnd@arndb.de> | 2020-08-06 20:20:41 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-08-19 20:15:42 +0100 |
commit | 9666e27f90b995456f84f8b95eb4eacdb38a3c3b (patch) | |
tree | d7d048fd089c9983d65575cfaa6452d1d9e04ae6 /arch | |
parent | 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5 (diff) | |
download | linux-stable-9666e27f90b995456f84f8b95eb4eacdb38a3c3b.tar.gz linux-stable-9666e27f90b995456f84f8b95eb4eacdb38a3c3b.tar.bz2 linux-stable-9666e27f90b995456f84f8b95eb4eacdb38a3c3b.zip |
ASoC: samsung: h1940: turn into platform driver
Avoid machine specific headers by using a gpio lookup table
combined with a platform_driver for this board.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200806182059.2431-24-krzk@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-h1940.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c24xx/mach-h1940.c b/arch/arm/mach-s3c24xx/mach-h1940.c index f4710052843a..ecb84029e15c 100644 --- a/arch/arm/mach-s3c24xx/mach-h1940.c +++ b/arch/arm/mach-s3c24xx/mach-h1940.c @@ -475,6 +475,22 @@ static struct gpiod_lookup_table h1940_mmc_gpio_table = { }, }; +static struct gpiod_lookup_table h1940_audio_gpio_table = { + .dev_id = "h1940-audio", + .table = { + GPIO_LOOKUP("H1940_LATCH", + H1940_LATCH_AUDIO_POWER - H1940_LATCH_GPIO(0), + "speaker-power", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIOG", 4, "hp", GPIO_ACTIVE_HIGH), + { }, + }, +}; + +static struct platform_device h1940_audio = { + .name = "h1940-audio", + .id = -1, +}; + static struct pwm_lookup h1940_pwm_lookup[] = { PWM_LOOKUP("samsung-pwm", 0, "pwm-backlight", NULL, 36296, PWM_POLARITY_NORMAL), @@ -651,6 +667,7 @@ static struct platform_device *h1940_devices[] __initdata = { &s3c_device_ts, &power_supply, &h1940_battery, + &h1940_audio, }; static void __init h1940_map_io(void) @@ -690,6 +707,7 @@ static void __init h1940_init(void) s3c24xx_fb_set_platdata(&h1940_fb_info); gpiod_add_lookup_table(&h1940_mmc_gpio_table); + gpiod_add_lookup_table(&h1940_audio_gpio_table); s3c24xx_mci_set_platdata(&h1940_mmc_cfg); s3c24xx_udc_set_platdata(&h1940_udc_cfg); s3c24xx_ts_set_platdata(&h1940_ts_cfg); |