diff options
author | Ryan Mallon <rmallon@gmail.com> | 2012-01-10 19:04:42 -0500 |
---|---|---|
committer | Ryan Mallon <rmallon@gmail.com> | 2012-03-13 20:41:08 -0400 |
commit | f15855bfaad29b2badd4a5c30ad73e0542a19d16 (patch) | |
tree | 3e3b4680725ae0cc5935d9fc031c1b705a6fa6a9 /arch/arm/mach-ep93xx | |
parent | 258249ec0eaea479eead856ee49e336415f4b1df (diff) |
ep93xx: Don't use system controller defines in audio drivers
Both the Snapper CL15 and EDB93xx audio drivers set the same audio
configuration in ep93xx_i2s_acquire. Remove the arguments to
ep93xx_i2s_acquire so that the audio drivers no longer need the
EP93XX_SYSCON defines exported.
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: Mika Westerberg <mika.westerberg@iki.fi>
Acked-by: Hartley Sweeten <hsweeten@visionengravers.com>
Diffstat (limited to 'arch/arm/mach-ep93xx')
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/include/mach/platform.h | 2 |
2 files changed, 5 insertions, 16 deletions
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 24203f9a6796..b5c1dae8327f 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -817,23 +817,12 @@ void __init ep93xx_register_i2s(void) | |||
817 | #define EP93XX_I2SCLKDIV_MASK (EP93XX_SYSCON_I2SCLKDIV_ORIDE | \ | 817 | #define EP93XX_I2SCLKDIV_MASK (EP93XX_SYSCON_I2SCLKDIV_ORIDE | \ |
818 | EP93XX_SYSCON_I2SCLKDIV_SPOL) | 818 | EP93XX_SYSCON_I2SCLKDIV_SPOL) |
819 | 819 | ||
820 | int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config) | 820 | int ep93xx_i2s_acquire(void) |
821 | { | 821 | { |
822 | unsigned val; | 822 | unsigned val; |
823 | 823 | ||
824 | /* Sanity check */ | 824 | ep93xx_devcfg_set_clear(EP93XX_SYSCON_DEVCFG_I2SONAC97, |
825 | if (i2s_pins & ~EP93XX_SYSCON_DEVCFG_I2S_MASK) | 825 | EP93XX_SYSCON_DEVCFG_I2S_MASK); |
826 | return -EINVAL; | ||
827 | if (i2s_config & ~EP93XX_I2SCLKDIV_MASK) | ||
828 | return -EINVAL; | ||
829 | |||
830 | /* Must have only one of I2SONSSP/I2SONAC97 set */ | ||
831 | if ((i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONSSP) == | ||
832 | (i2s_pins & EP93XX_SYSCON_DEVCFG_I2SONAC97)) | ||
833 | return -EINVAL; | ||
834 | |||
835 | ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_I2S_MASK); | ||
836 | ep93xx_devcfg_set_bits(i2s_pins); | ||
837 | 826 | ||
838 | /* | 827 | /* |
839 | * This is potentially racy with the clock api for i2s_mclk, sclk and | 828 | * This is potentially racy with the clock api for i2s_mclk, sclk and |
@@ -843,7 +832,7 @@ int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config) | |||
843 | */ | 832 | */ |
844 | val = __raw_readl(EP93XX_SYSCON_I2SCLKDIV); | 833 | val = __raw_readl(EP93XX_SYSCON_I2SCLKDIV); |
845 | val &= ~EP93XX_I2SCLKDIV_MASK; | 834 | val &= ~EP93XX_I2SCLKDIV_MASK; |
846 | val |= i2s_config; | 835 | val |= EP93XX_SYSCON_I2SCLKDIV_ORIDE | EP93XX_SYSCON_I2SCLKDIV_SPOL; |
847 | ep93xx_syscon_swlocked_write(val, EP93XX_SYSCON_I2SCLKDIV); | 836 | ep93xx_syscon_swlocked_write(val, EP93XX_SYSCON_I2SCLKDIV); |
848 | 837 | ||
849 | return 0; | 838 | return 0; |
diff --git a/arch/arm/mach-ep93xx/include/mach/platform.h b/arch/arm/mach-ep93xx/include/mach/platform.h index d4c934931f9d..ad63d4be693f 100644 --- a/arch/arm/mach-ep93xx/include/mach/platform.h +++ b/arch/arm/mach-ep93xx/include/mach/platform.h | |||
@@ -59,7 +59,7 @@ void ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data); | |||
59 | int ep93xx_keypad_acquire_gpio(struct platform_device *pdev); | 59 | int ep93xx_keypad_acquire_gpio(struct platform_device *pdev); |
60 | void ep93xx_keypad_release_gpio(struct platform_device *pdev); | 60 | void ep93xx_keypad_release_gpio(struct platform_device *pdev); |
61 | void ep93xx_register_i2s(void); | 61 | void ep93xx_register_i2s(void); |
62 | int ep93xx_i2s_acquire(unsigned i2s_pins, unsigned i2s_config); | 62 | int ep93xx_i2s_acquire(void); |
63 | void ep93xx_i2s_release(void); | 63 | void ep93xx_i2s_release(void); |
64 | void ep93xx_register_ac97(void); | 64 | void ep93xx_register_ac97(void); |
65 | 65 | ||