aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/mcbsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-omap/mcbsp.c')
-rw-r--r--arch/arm/plat-omap/mcbsp.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index 2af5bd5a1344..9cf83c4da9fa 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -201,6 +201,14 @@ static int omap_mcbsp_check(unsigned int id)
201static void omap_mcbsp_dsp_request(void) 201static void omap_mcbsp_dsp_request(void)
202{ 202{
203 if (cpu_is_omap15xx() || cpu_is_omap16xx()) { 203 if (cpu_is_omap15xx() || cpu_is_omap16xx()) {
204 int ret;
205
206 ret = omap_dsp_request_mem();
207 if (ret < 0) {
208 printk(KERN_ERR "Could not get dsp memory: %i\n", ret);
209 return;
210 }
211
204 clk_enable(mcbsp_dsp_ck); 212 clk_enable(mcbsp_dsp_ck);
205 clk_enable(mcbsp_api_ck); 213 clk_enable(mcbsp_api_ck);
206 214
@@ -219,6 +227,7 @@ static void omap_mcbsp_dsp_request(void)
219static void omap_mcbsp_dsp_free(void) 227static void omap_mcbsp_dsp_free(void)
220{ 228{
221 if (cpu_is_omap15xx() || cpu_is_omap16xx()) { 229 if (cpu_is_omap15xx() || cpu_is_omap16xx()) {
230 omap_dsp_release_mem();
222 clk_disable(mcbsp_dspxor_ck); 231 clk_disable(mcbsp_dspxor_ck);
223 clk_disable(mcbsp_dsp_ck); 232 clk_disable(mcbsp_dsp_ck);
224 clk_disable(mcbsp_api_ck); 233 clk_disable(mcbsp_api_ck);
@@ -1024,6 +1033,8 @@ EXPORT_SYMBOL(omap_mcbsp_set_io_type);
1024EXPORT_SYMBOL(omap_mcbsp_free); 1033EXPORT_SYMBOL(omap_mcbsp_free);
1025EXPORT_SYMBOL(omap_mcbsp_start); 1034EXPORT_SYMBOL(omap_mcbsp_start);
1026EXPORT_SYMBOL(omap_mcbsp_stop); 1035EXPORT_SYMBOL(omap_mcbsp_stop);
1036EXPORT_SYMBOL(omap_mcbsp_pollread);
1037EXPORT_SYMBOL(omap_mcbsp_pollwrite);
1027EXPORT_SYMBOL(omap_mcbsp_xmit_word); 1038EXPORT_SYMBOL(omap_mcbsp_xmit_word);
1028EXPORT_SYMBOL(omap_mcbsp_recv_word); 1039EXPORT_SYMBOL(omap_mcbsp_recv_word);
1029EXPORT_SYMBOL(omap_mcbsp_xmit_buffer); 1040EXPORT_SYMBOL(omap_mcbsp_xmit_buffer);