diff options
Diffstat (limited to 'target')
| -rw-r--r-- | target/linux/s3c24xx/files-2.6.30/sound/soc/s3c24xx/gta02_wm8753.c | 48 | 
1 files changed, 13 insertions, 35 deletions
| diff --git a/target/linux/s3c24xx/files-2.6.30/sound/soc/s3c24xx/gta02_wm8753.c b/target/linux/s3c24xx/files-2.6.30/sound/soc/s3c24xx/gta02_wm8753.c index 5f9ea7e42..1f8f9db9b 100644 --- a/target/linux/s3c24xx/files-2.6.30/sound/soc/s3c24xx/gta02_wm8753.c +++ b/target/linux/s3c24xx/files-2.6.30/sound/soc/s3c24xx/gta02_wm8753.c @@ -18,7 +18,6 @@  #include <linux/timer.h>  #include <linux/interrupt.h>  #include <linux/platform_device.h> -#include <linux/gpio.h>  #include <sound/core.h>  #include <sound/pcm.h>  #include <sound/soc.h> @@ -29,6 +28,8 @@  #include <plat/regs-iis.h>  #include <mach/regs-clock.h> +#include <mach/regs-gpio.h> +#include <mach/hardware.h>  #include <asm/io.h>  #include <mach/regs-gpioj.h>  #include <mach/gta02.h> @@ -242,10 +243,10 @@ static int lm4853_set_spk(struct snd_kcontrol *kcontrol,  	if (val) {  		lm4853_state |= LM4853_SPK; -		gpio_set_value(GTA02_GPIO_HP_IN, 0); +		s3c2410_gpio_setpin(GTA02_GPIO_HP_IN, 0);  	} else {  		lm4853_state &= ~LM4853_SPK; -		gpio_set_value(GTA02_GPIO_HP_IN, 1); +		s3c2410_gpio_setpin(GTA02_GPIO_HP_IN, 1);  	}  	return 0; @@ -264,10 +265,10 @@ static int lm4853_event(struct snd_soc_dapm_widget *w,  			int event)  {  	if (SND_SOC_DAPM_EVENT_ON(event)) -		gpio_set_value(GTA02_GPIO_AMP_SHUT, 0); +		s3c2410_gpio_setpin(GTA02_GPIO_AMP_SHUT, 0);  	if (SND_SOC_DAPM_EVENT_OFF(event)) -		gpio_set_value(GTA02_GPIO_AMP_SHUT, 1); +		s3c2410_gpio_setpin(GTA02_GPIO_AMP_SHUT, 1);  	return 0;  } @@ -448,40 +449,19 @@ static int __init neo1973_gta02_init(void)  	if (ret) {  		platform_device_put(neo1973_gta02_snd_device); -		return 0; +		return ret;  	}  	/* Initialise GPIOs used by amp */ -	ret = gpio_request(GTA02_GPIO_HP_IN, "GTA02_HP_IN"); -	if (ret) { -		pr_err("%s: Failed to register GPIO %d\n", __func__, GTA02_GPIO_HP_IN); -		goto err_unregister_device; -	} +	s3c2410_gpio_cfgpin(GTA02_GPIO_HP_IN, S3C2410_GPIO_OUTPUT); +	s3c2410_gpio_cfgpin(GTA02_GPIO_AMP_SHUT, S3C2410_GPIO_OUTPUT); -	ret = gpio_direction_output(GTA02_GPIO_HP_IN, 1); -	if (ret) { -		pr_err("%s: Failed to configure GPIO %d\n", __func__, GTA02_GPIO_HP_IN); -		goto err_unregister_device; -	} +	/* Amp off by default */ +	s3c2410_gpio_setpin(GTA02_GPIO_AMP_SHUT, 1); -	ret = gpio_request(GTA02_GPIO_AMP_SHUT, "GTA02_AMP_SHUT"); -	if (ret) { -		pr_err("%s: Failed to register GPIO %d\n", __func__, GTA02_GPIO_AMP_SHUT); -		goto err_free_gpio_hp_in; -	} +	/* Speaker off by default */ +	s3c2410_gpio_setpin(GTA02_GPIO_HP_IN, 1); -	ret = gpio_direction_output(GTA02_GPIO_AMP_SHUT, 1); -	if (ret) { -		pr_err("%s: Failed to configure GPIO %d\n", __func__, GTA02_GPIO_AMP_SHUT); -		goto err_free_gpio_hp_in; -	} - - -	return 0; -err_free_gpio_hp_in: -	gpio_free(GTA02_GPIO_HP_IN); -err_unregister_device: -	platform_device_unregister(neo1973_gta02_snd_device);  	return ret;  }  module_init(neo1973_gta02_init); @@ -490,8 +470,6 @@ static void __exit neo1973_gta02_exit(void)  {  	snd_soc_unregister_dai(&bt_dai);  	platform_device_unregister(neo1973_gta02_snd_device); -	gpio_free(GTA02_GPIO_HP_IN); -	gpio_free(GTA02_GPIO_AMP_SHUT);  }  module_exit(neo1973_gta02_exit); | 
