diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-09-02 00:51:50 +0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-05 20:02:29 +0400 |
commit | e5480b7397f497482083da056f5f300dd4ca43f3 (patch) | |
tree | 061290ebaab25353cc16ef768230e77922059540 /drivers/spi | |
parent | f2eda27d1cd218f6544cd9367be47fb01c70a95d (diff) | |
download | linux-e5480b7397f497482083da056f5f300dd4ca43f3.tar.xz |
[ARM] omap: remove an io_v2p() usage
When omap_udc is also incorporated, this macro will no longer be used.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/omap2_mcspi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c index 9d2186fd74aa..576ae29c39d8 100644 --- a/drivers/spi/omap2_mcspi.c +++ b/drivers/spi/omap2_mcspi.c @@ -119,12 +119,14 @@ struct omap2_mcspi { struct clk *fck; /* Virtual base address of the controller */ void __iomem *base; + unsigned long phys; /* SPI1 has 4 channels, while SPI2 has 2 */ struct omap2_mcspi_dma *dma_channels; }; struct omap2_mcspi_cs { void __iomem *base; + unsigned long phys; int word_len; }; @@ -233,7 +235,7 @@ omap2_mcspi_txrx_dma(struct spi_device *spi, struct spi_transfer *xfer) c = count; word_len = cs->word_len; - base = (unsigned long) io_v2p(cs->base); + base = cs->phys; tx_reg = base + OMAP2_MCSPI_TX0; rx_reg = base + OMAP2_MCSPI_RX0; rx = xfer->rx_buf; @@ -633,6 +635,7 @@ static int omap2_mcspi_setup(struct spi_device *spi) if (!cs) return -ENOMEM; cs->base = mcspi->base + spi->chip_select * 0x14; + cs->phys = mcspi->phys + spi->chip_select * 0x14; spi->controller_state = cs; } @@ -1005,6 +1008,7 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev) goto err1; } + mcspi->phys = r->start; mcspi->base = (void __iomem *) io_p2v(r->start); INIT_WORK(&mcspi->work, omap2_mcspi_work); |