aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/mv_xor.c
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2011-12-07 15:48:07 -0500
committerNicolas Pitre <nico@fluxnic.net>2011-12-13 18:46:55 -0500
commit63a9332b232bdab0df6ef18a9f39e8d58a82bda4 (patch)
tree52906e5888de9e634824d6005d9dbd3eb109bd2d /drivers/dma/mv_xor.c
parent45173d5ed4c9a397db31623bf6469efbd3a239cd (diff)
ARM: Orion: Get address map from plat-orion instead of via platform_data
Use an getter function in plat-orion/addr-map.c to get the address map structure, rather than pass it to drivers in the platform_data structures. When the drivers are built for none orion platforms, a dummy function is provided instead which returns NULL. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Michael Walle <michael@walle.cc> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Diffstat (limited to 'drivers/dma/mv_xor.c')
-rw-r--r--drivers/dma/mv_xor.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index 9a353c2216d0..e779b434af45 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -1250,7 +1250,7 @@ static int __devinit mv_xor_probe(struct platform_device *pdev)
1250 1250
1251static void 1251static void
1252mv_xor_conf_mbus_windows(struct mv_xor_shared_private *msp, 1252mv_xor_conf_mbus_windows(struct mv_xor_shared_private *msp,
1253 struct mbus_dram_target_info *dram) 1253 const struct mbus_dram_target_info *dram)
1254{ 1254{
1255 void __iomem *base = msp->xor_base; 1255 void __iomem *base = msp->xor_base;
1256 u32 win_enable = 0; 1256 u32 win_enable = 0;
@@ -1264,7 +1264,7 @@ mv_xor_conf_mbus_windows(struct mv_xor_shared_private *msp,
1264 } 1264 }
1265 1265
1266 for (i = 0; i < dram->num_cs; i++) { 1266 for (i = 0; i < dram->num_cs; i++) {
1267 struct mbus_dram_window *cs = dram->cs + i; 1267 const struct mbus_dram_window *cs = dram->cs + i;
1268 1268
1269 writel((cs->base & 0xffff0000) | 1269 writel((cs->base & 0xffff0000) |
1270 (cs->mbus_attr << 8) | 1270 (cs->mbus_attr << 8) |
@@ -1290,7 +1290,7 @@ static struct platform_driver mv_xor_driver = {
1290 1290
1291static int mv_xor_shared_probe(struct platform_device *pdev) 1291static int mv_xor_shared_probe(struct platform_device *pdev)
1292{ 1292{
1293 struct mv_xor_platform_shared_data *msd = pdev->dev.platform_data; 1293 const struct mbus_dram_target_info *dram;
1294 struct mv_xor_shared_private *msp; 1294 struct mv_xor_shared_private *msp;
1295 struct resource *res; 1295 struct resource *res;
1296 1296
@@ -1323,8 +1323,9 @@ static int mv_xor_shared_probe(struct platform_device *pdev)
1323 /* 1323 /*
1324 * (Re-)program MBUS remapping windows if we are asked to. 1324 * (Re-)program MBUS remapping windows if we are asked to.
1325 */ 1325 */
1326 if (msd != NULL && msd->dram != NULL) 1326 dram = mv_mbus_dram_info();
1327 mv_xor_conf_mbus_windows(msp, msd->dram); 1327 if (dram)
1328 mv_xor_conf_mbus_windows(msp, dram);
1328 1329
1329 return 0; 1330 return 0;
1330} 1331}