Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
d592dd1a
Commit
d592dd1a
authored
Sep 04, 2008
by
Russell King
Committed by
Russell King
Sep 05, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] omap: convert mcbsp to use ioremap()
Signed-off-by:
Russell King
<
rmk+kernel@arm.linux.org.uk
>
parent
55c381e4
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
29 deletions
+28
-29
arch/arm/mach-omap1/mcbsp.c
arch/arm/mach-omap1/mcbsp.c
+0
-8
arch/arm/mach-omap2/mcbsp.c
arch/arm/mach-omap2/mcbsp.c
+0
-4
arch/arm/plat-omap/include/mach/mcbsp.h
arch/arm/plat-omap/include/mach/mcbsp.h
+1
-2
arch/arm/plat-omap/mcbsp.c
arch/arm/plat-omap/mcbsp.c
+27
-15
No files found.
arch/arm/mach-omap1/mcbsp.c
View file @
d592dd1a
...
...
@@ -160,7 +160,6 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {
static
struct
omap_mcbsp_platform_data
omap730_mcbsp_pdata
[]
=
{
{
.
phys_base
=
OMAP730_MCBSP1_BASE
,
.
virt_base
=
io_p2v
(
OMAP730_MCBSP1_BASE
),
.
dma_rx_sync
=
OMAP_DMA_MCBSP1_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP1_TX
,
.
rx_irq
=
INT_730_McBSP1RX
,
...
...
@@ -169,7 +168,6 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP730_MCBSP2_BASE
,
.
virt_base
=
io_p2v
(
OMAP730_MCBSP2_BASE
),
.
dma_rx_sync
=
OMAP_DMA_MCBSP3_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP3_TX
,
.
rx_irq
=
INT_730_McBSP2RX
,
...
...
@@ -187,7 +185,6 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = {
static
struct
omap_mcbsp_platform_data
omap15xx_mcbsp_pdata
[]
=
{
{
.
phys_base
=
OMAP1510_MCBSP1_BASE
,
.
virt_base
=
OMAP1510_MCBSP1_BASE
,
.
dma_rx_sync
=
OMAP_DMA_MCBSP1_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP1_TX
,
.
rx_irq
=
INT_McBSP1RX
,
...
...
@@ -197,7 +194,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP1510_MCBSP2_BASE
,
.
virt_base
=
io_p2v
(
OMAP1510_MCBSP2_BASE
),
.
dma_rx_sync
=
OMAP_DMA_MCBSP2_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP2_TX
,
.
rx_irq
=
INT_1510_SPI_RX
,
...
...
@@ -206,7 +202,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP1510_MCBSP3_BASE
,
.
virt_base
=
OMAP1510_MCBSP3_BASE
,
.
dma_rx_sync
=
OMAP_DMA_MCBSP3_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP3_TX
,
.
rx_irq
=
INT_McBSP3RX
,
...
...
@@ -225,7 +220,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = {
static
struct
omap_mcbsp_platform_data
omap16xx_mcbsp_pdata
[]
=
{
{
.
phys_base
=
OMAP1610_MCBSP1_BASE
,
.
virt_base
=
OMAP1610_MCBSP1_BASE
,
.
dma_rx_sync
=
OMAP_DMA_MCBSP1_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP1_TX
,
.
rx_irq
=
INT_McBSP1RX
,
...
...
@@ -235,7 +229,6 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP1610_MCBSP2_BASE
,
.
virt_base
=
io_p2v
(
OMAP1610_MCBSP2_BASE
),
.
dma_rx_sync
=
OMAP_DMA_MCBSP2_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP2_TX
,
.
rx_irq
=
INT_1610_McBSP2_RX
,
...
...
@@ -244,7 +237,6 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP1610_MCBSP3_BASE
,
.
virt_base
=
OMAP1610_MCBSP3_BASE
,
.
dma_rx_sync
=
OMAP_DMA_MCBSP3_RX
,
.
dma_tx_sync
=
OMAP_DMA_MCBSP3_TX
,
.
rx_irq
=
INT_McBSP3RX
,
...
...
arch/arm/mach-omap2/mcbsp.c
View file @
d592dd1a
...
...
@@ -135,7 +135,6 @@ static struct omap_mcbsp_ops omap2_mcbsp_ops = {
static
struct
omap_mcbsp_platform_data
omap24xx_mcbsp_pdata
[]
=
{
{
.
phys_base
=
OMAP24XX_MCBSP1_BASE
,
.
virt_base
=
IO_ADDRESS
(
OMAP24XX_MCBSP1_BASE
),
.
dma_rx_sync
=
OMAP24XX_DMA_MCBSP1_RX
,
.
dma_tx_sync
=
OMAP24XX_DMA_MCBSP1_TX
,
.
rx_irq
=
INT_24XX_MCBSP1_IRQ_RX
,
...
...
@@ -145,7 +144,6 @@ static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP24XX_MCBSP2_BASE
,
.
virt_base
=
IO_ADDRESS
(
OMAP24XX_MCBSP2_BASE
),
.
dma_rx_sync
=
OMAP24XX_DMA_MCBSP2_RX
,
.
dma_tx_sync
=
OMAP24XX_DMA_MCBSP2_TX
,
.
rx_irq
=
INT_24XX_MCBSP2_IRQ_RX
,
...
...
@@ -164,7 +162,6 @@ static struct omap_mcbsp_platform_data omap24xx_mcbsp_pdata[] = {
static
struct
omap_mcbsp_platform_data
omap34xx_mcbsp_pdata
[]
=
{
{
.
phys_base
=
OMAP34XX_MCBSP1_BASE
,
.
virt_base
=
IO_ADDRESS
(
OMAP34XX_MCBSP1_BASE
),
.
dma_rx_sync
=
OMAP24XX_DMA_MCBSP1_RX
,
.
dma_tx_sync
=
OMAP24XX_DMA_MCBSP1_TX
,
.
rx_irq
=
INT_24XX_MCBSP1_IRQ_RX
,
...
...
@@ -174,7 +171,6 @@ static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = {
},
{
.
phys_base
=
OMAP34XX_MCBSP2_BASE
,
.
virt_base
=
IO_ADDRESS
(
OMAP34XX_MCBSP2_BASE
),
.
dma_rx_sync
=
OMAP24XX_DMA_MCBSP2_RX
,
.
dma_tx_sync
=
OMAP24XX_DMA_MCBSP2_TX
,
.
rx_irq
=
INT_24XX_MCBSP2_IRQ_RX
,
...
...
arch/arm/plat-omap/include/mach/mcbsp.h
View file @
d592dd1a
...
...
@@ -316,7 +316,6 @@ struct omap_mcbsp_ops {
struct
omap_mcbsp_platform_data
{
unsigned
long
phys_base
;
u32
virt_base
;
u8
dma_rx_sync
,
dma_tx_sync
;
u16
rx_irq
,
tx_irq
;
struct
omap_mcbsp_ops
*
ops
;
...
...
@@ -326,7 +325,7 @@ struct omap_mcbsp_platform_data {
struct
omap_mcbsp
{
struct
device
*
dev
;
unsigned
long
phys_base
;
u32
io_base
;
void
__iomem
*
io_base
;
u8
id
;
u8
free
;
omap_mcbsp_word_length
rx_word_length
;
...
...
arch/arm/plat-omap/mcbsp.c
View file @
d592dd1a
...
...
@@ -126,7 +126,7 @@ static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
*/
void
omap_mcbsp_config
(
unsigned
int
id
,
const
struct
omap_mcbsp_reg_cfg
*
config
)
{
u32
io_base
;
void
__iomem
*
io_base
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
printk
(
KERN_ERR
"%s: Invalid id (%d)
\n
"
,
__func__
,
id
+
1
);
...
...
@@ -134,8 +134,8 @@ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config)
}
io_base
=
mcbsp
[
id
].
io_base
;
dev_dbg
(
mcbsp
[
id
].
dev
,
"Configuring McBSP%d
io_base: 0x%8
x
\n
"
,
mcbsp
[
id
].
id
,
io
_base
);
dev_dbg
(
mcbsp
[
id
].
dev
,
"Configuring McBSP%d
phys_base: 0x%08l
x
\n
"
,
mcbsp
[
id
].
id
,
mcbsp
[
id
].
phys
_base
);
/* We write the given config */
OMAP_MCBSP_WRITE
(
io_base
,
SPCR2
,
config
->
spcr2
);
...
...
@@ -273,7 +273,7 @@ EXPORT_SYMBOL(omap_mcbsp_free);
*/
void
omap_mcbsp_start
(
unsigned
int
id
)
{
u32
io_base
;
void
__iomem
*
io_base
;
u16
w
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
...
...
@@ -310,7 +310,7 @@ EXPORT_SYMBOL(omap_mcbsp_start);
void
omap_mcbsp_stop
(
unsigned
int
id
)
{
u32
io_base
;
void
__iomem
*
io_base
;
u16
w
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
...
...
@@ -337,7 +337,7 @@ EXPORT_SYMBOL(omap_mcbsp_stop);
/* polled mcbsp i/o operations */
int
omap_mcbsp_pollwrite
(
unsigned
int
id
,
u16
buf
)
{
u32
base
;
void
__iomem
*
base
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
printk
(
KERN_ERR
"%s: Invalid id (%d)
\n
"
,
__func__
,
id
+
1
);
...
...
@@ -379,7 +379,7 @@ EXPORT_SYMBOL(omap_mcbsp_pollwrite);
int
omap_mcbsp_pollread
(
unsigned
int
id
,
u16
*
buf
)
{
u32
base
;
void
__iomem
*
base
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
printk
(
KERN_ERR
"%s: Invalid id (%d)
\n
"
,
__func__
,
id
+
1
);
...
...
@@ -424,7 +424,7 @@ EXPORT_SYMBOL(omap_mcbsp_pollread);
*/
void
omap_mcbsp_xmit_word
(
unsigned
int
id
,
u32
word
)
{
u32
io_base
;
void
__iomem
*
io_base
;
omap_mcbsp_word_length
word_length
;
if
(
!
omap_mcbsp_check_valid_id
(
id
))
{
...
...
@@ -445,7 +445,7 @@ EXPORT_SYMBOL(omap_mcbsp_xmit_word);
u32
omap_mcbsp_recv_word
(
unsigned
int
id
)
{
u32
io_base
;
void
__iomem
*
io_base
;
u16
word_lsb
,
word_msb
=
0
;
omap_mcbsp_word_length
word_length
;
...
...
@@ -469,7 +469,7 @@ EXPORT_SYMBOL(omap_mcbsp_recv_word);
int
omap_mcbsp_spi_master_xmit_word_poll
(
unsigned
int
id
,
u32
word
)
{
u32
io_base
;
void
__iomem
*
io_base
;
omap_mcbsp_word_length
tx_word_length
;
omap_mcbsp_word_length
rx_word_length
;
u16
spcr2
,
spcr1
,
attempts
=
0
,
word_lsb
,
word_msb
=
0
;
...
...
@@ -534,7 +534,8 @@ EXPORT_SYMBOL(omap_mcbsp_spi_master_xmit_word_poll);
int
omap_mcbsp_spi_master_recv_word_poll
(
unsigned
int
id
,
u32
*
word
)
{
u32
io_base
,
clock_word
=
0
;
u32
clock_word
=
0
;
void
__iomem
*
io_base
;
omap_mcbsp_word_length
tx_word_length
;
omap_mcbsp_word_length
rx_word_length
;
u16
spcr2
,
spcr1
,
attempts
=
0
,
word_lsb
,
word_msb
=
0
;
...
...
@@ -831,7 +832,12 @@ static int __init omap_mcbsp_probe(struct platform_device *pdev)
mcbsp
[
id
].
dma_rx_lch
=
-
1
;
mcbsp
[
id
].
phys_base
=
pdata
->
phys_base
;
mcbsp
[
id
].
io_base
=
pdata
->
virt_base
;
mcbsp
[
id
].
io_base
=
ioremap
(
pdata
->
phys_base
,
SZ_4K
);
if
(
!
mcbsp
[
id
].
io_base
)
{
ret
=
-
ENOMEM
;
goto
err_ioremap
;
}
/* Default I/O is IRQ based */
mcbsp
[
id
].
io_type
=
OMAP_MCBSP_IRQ_IO
;
mcbsp
[
id
].
tx_irq
=
pdata
->
tx_irq
;
...
...
@@ -842,18 +848,22 @@ static int __init omap_mcbsp_probe(struct platform_device *pdev)
if
(
pdata
->
clk_name
)
mcbsp
[
id
].
clk
=
clk_get
(
&
pdev
->
dev
,
pdata
->
clk_name
);
if
(
IS_ERR
(
mcbsp
[
id
].
clk
))
{
mcbsp
[
id
].
free
=
0
;
dev_err
(
&
pdev
->
dev
,
"Invalid clock configuration for McBSP%d.
\n
"
,
mcbsp
[
id
].
id
);
ret
=
-
EINVAL
;
goto
e
xit
;
ret
=
PTR_ERR
(
mcbsp
[
id
].
clk
)
;
goto
e
rr_clk
;
}
mcbsp
[
id
].
pdata
=
pdata
;
mcbsp
[
id
].
dev
=
&
pdev
->
dev
;
platform_set_drvdata
(
pdev
,
&
mcbsp
[
id
]);
return
0
;
err_clk:
iounmap
(
mcbsp
[
id
].
io_base
);
err_ioremap:
mcbsp
[
id
].
free
=
0
;
exit:
return
ret
;
}
...
...
@@ -872,6 +882,8 @@ static int omap_mcbsp_remove(struct platform_device *pdev)
clk_disable
(
mcbsp
->
clk
);
clk_put
(
mcbsp
->
clk
);
iounmap
(
mcbsp
->
io_base
);
mcbsp
->
clk
=
NULL
;
mcbsp
->
free
=
0
;
mcbsp
->
dev
=
NULL
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment