From: Trilok Soni <[EMAIL PROTECTED]>
Signed-off-by: Trilok Soni <[EMAIL PROTECTED]>
---
arch/arm/mach-davinci/mcbsp.c | 41 +++++++++++++++++++----------------------
1 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/arch/arm/mach-davinci/mcbsp.c b/arch/arm/mach-davinci/mcbsp.c
index 95531e3..40125e5 100644
--- a/arch/arm/mach-davinci/mcbsp.c
+++ b/arch/arm/mach-davinci/mcbsp.c
@@ -22,17 +22,16 @@
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/clk.h>
-
-#include <asm/delay.h>
-#include <asm/io.h>
-#include <asm/irq.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/irq.h>
#include <asm/arch/memory.h>
#include <asm/arch/edma.h>
#include <asm/arch/irqs.h>
#include <asm/arch/mcbsp.h>
-struct clk *mbspclk = NULL;
+struct clk *mbspclk;
/* #define CONFIG_MCBSP_DEBUG */
@@ -186,6 +185,7 @@ void davinci_mcbsp_config(unsigned int id,
DAVINCI_MCBSP_WRITE(io_base, SPCR2, config->spcr2);
DAVINCI_MCBSP_WRITE(io_base, SPCR1, config->spcr1);
}
+EXPORT_SYMBOL(davinci_mcbsp_config);
static int davinci_mcbsp_check(unsigned int id)
{
@@ -213,6 +213,7 @@ int davinci_mcbsp_request(unsigned int id)
return 0;
}
+EXPORT_SYMBOL(davinci_mcbsp_request);
void davinci_mcbsp_free(unsigned int id)
{
@@ -231,6 +232,7 @@ void davinci_mcbsp_free(unsigned int id)
return;
}
+EXPORT_SYMBOL(davinci_mcbsp_free);
/*
* Here we start the McBSP, by enabling the sample
@@ -272,6 +274,7 @@ void davinci_mcbsp_start(unsigned int id)
/* Dump mcbsp reg */
davinci_mcbsp_dump_reg(id);
}
+EXPORT_SYMBOL(davinci_mcbsp_start);
void davinci_mcbsp_stop(unsigned int id)
{
@@ -299,6 +302,7 @@ void davinci_mcbsp_stop(unsigned int id)
w = DAVINCI_MCBSP_READ(io_base, SPCR2);
DAVINCI_MCBSP_WRITE(io_base, SPCR2, w & ~(1 << 7));
}
+EXPORT_SYMBOL(davinci_mcbsp_stop);
/*
* IRQ based word transmission.
@@ -318,6 +322,7 @@ void davinci_mcbsp_xmit_word(unsigned int id, u32 word)
DAVINCI_MCBSP_WRITE(io_base, DXR2, word >> 16);
DAVINCI_MCBSP_WRITE(io_base, DXR1, word & 0xffff);
}
+EXPORT_SYMBOL(davinci_mcbsp_xmit_word);
u32 davinci_mcbsp_recv_word(unsigned int id)
{
@@ -338,6 +343,7 @@ u32 davinci_mcbsp_recv_word(unsigned int id)
return (word_lsb | (word_msb << 16));
}
+EXPORT_SYMBOL(davinci_mcbsp_recv_word);
/*
* Simple DMA based buffer rx/tx routines.
@@ -358,7 +364,7 @@ int davinci_mcbsp_xmit_buffer(unsigned int id, dma_addr_t
buffer,
if (davinci_request_dma
(mcbsp[id].dma_tx_sync, "McBSP TX", davinci_mcbsp_tx_dma_callback,
&mcbsp[id], &dma_tx_ch, &tcc, EVENTQ_0)) {
- DBG("DAVINCI-McBSP: Unable to request DMA channel for McBSP%d
TX."
+ DBG("McBSP: Unable to request DMA channel for McBSP%d TX"
"Trying IRQ based TX\n", id + 1);
return -EAGAIN;
}
@@ -383,6 +389,7 @@ int davinci_mcbsp_xmit_buffer(unsigned int id, dma_addr_t
buffer,
wait_for_completion(&(mcbsp[id].tx_dma_completion));
return 0;
}
+EXPORT_SYMBOL(davinci_mcbsp_xmit_buffer);
int davinci_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
unsigned int length)
@@ -423,11 +430,13 @@ int davinci_mcbsp_recv_buffer(unsigned int id, dma_addr_t
buffer,
wait_for_completion(&(mcbsp[id].rx_dma_completion));
return 0;
}
+EXPORT_SYMBOL(davinci_mcbsp_recv_buffer);
-struct clk * davinci_mcbsp_get_clock(void)
+struct clk *davinci_mcbsp_get_clock(void)
{
return mbspclk;
}
+EXPORT_SYMBOL(davinci_mcbsp_get_clock);
struct davinci_mcbsp_info {
u32 virt_base;
@@ -451,12 +460,11 @@ static int __init davinci_mcbsp_init(void)
printk(KERN_INFO "Initializing DaVinci McBSP system\n");
- clkp = clk_get (NULL, "McBSPCLK");
+ clkp = clk_get(NULL, "McBSPCLK");
if (IS_ERR(clkp)) {
printk(KERN_ERR "mcbsp: could not acquire McBSP clk\n");
return PTR_ERR(clkp);
- }
- else {
+ } else {
mbspclk = clkp;
clk_enable(mbspclk);
@@ -495,7 +503,7 @@ static void __exit davinci_mcbsp_exit(void)
mcbsp[i].dma_rx_lch = -1;
}
- clk_disable (mbspclk);
+ clk_disable(mbspclk);
return;
}
@@ -503,17 +511,6 @@ static void __exit davinci_mcbsp_exit(void)
module_init(davinci_mcbsp_init);
module_exit(davinci_mcbsp_exit);
-EXPORT_SYMBOL(davinci_mcbsp_config);
-EXPORT_SYMBOL(davinci_mcbsp_request);
-EXPORT_SYMBOL(davinci_mcbsp_free);
-EXPORT_SYMBOL(davinci_mcbsp_start);
-EXPORT_SYMBOL(davinci_mcbsp_stop);
-EXPORT_SYMBOL(davinci_mcbsp_xmit_word);
-EXPORT_SYMBOL(davinci_mcbsp_recv_word);
-EXPORT_SYMBOL(davinci_mcbsp_xmit_buffer);
-EXPORT_SYMBOL(davinci_mcbsp_recv_buffer);
-EXPORT_SYMBOL(davinci_mcbsp_get_clock);
-
MODULE_AUTHOR("Texas Instruments");
MODULE_DESCRIPTION("McBSP driver for DaVinci.");
MODULE_LICENSE("GPL");
--
1.5.5
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source