diff options
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/include/mach/platform.h | 2 | ||||
-rw-r--r-- | sound/soc/ep93xx/edb93xx.c | 4 | ||||
-rw-r--r-- | sound/soc/ep93xx/snappercl15.c | 4 |
4 files changed, 7 insertions, 22 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 | ||
diff --git a/sound/soc/ep93xx/edb93xx.c b/sound/soc/ep93xx/edb93xx.c index bae5cbbbd2b2..e01cb02abd3a 100644 --- a/sound/soc/ep93xx/edb93xx.c +++ b/sound/soc/ep93xx/edb93xx.c | |||
@@ -85,9 +85,7 @@ static int __devinit edb93xx_probe(struct platform_device *pdev) | |||
85 | struct snd_soc_card *card = &snd_soc_edb93xx; | 85 | struct snd_soc_card *card = &snd_soc_edb93xx; |
86 | int ret; | 86 | int ret; |
87 | 87 | ||
88 | ret = ep93xx_i2s_acquire(EP93XX_SYSCON_DEVCFG_I2SONAC97, | 88 | ret = ep93xx_i2s_acquire(); |
89 | EP93XX_SYSCON_I2SCLKDIV_ORIDE | | ||
90 | EP93XX_SYSCON_I2SCLKDIV_SPOL); | ||
91 | if (ret) | 89 | if (ret) |
92 | return ret; | 90 | return ret; |
93 | 91 | ||
diff --git a/sound/soc/ep93xx/snappercl15.c b/sound/soc/ep93xx/snappercl15.c index ccae34a3f280..a193cea3cf3c 100644 --- a/sound/soc/ep93xx/snappercl15.c +++ b/sound/soc/ep93xx/snappercl15.c | |||
@@ -103,9 +103,7 @@ static int __devinit snappercl15_probe(struct platform_device *pdev) | |||
103 | struct snd_soc_card *card = &snd_soc_snappercl15; | 103 | struct snd_soc_card *card = &snd_soc_snappercl15; |
104 | int ret; | 104 | int ret; |
105 | 105 | ||
106 | ret = ep93xx_i2s_acquire(EP93XX_SYSCON_DEVCFG_I2SONAC97, | 106 | ret = ep93xx_i2s_acquire(); |
107 | EP93XX_SYSCON_I2SCLKDIV_ORIDE | | ||
108 | EP93XX_SYSCON_I2SCLKDIV_SPOL); | ||
109 | if (ret) | 107 | if (ret) |
110 | return ret; | 108 | return ret; |
111 | 109 | ||