diff options
author | Andrew Lunn <andrew@lunn.ch> | 2011-12-07 15:48:07 -0500 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2011-12-13 18:46:55 -0500 |
commit | 63a9332b232bdab0df6ef18a9f39e8d58a82bda4 (patch) | |
tree | 52906e5888de9e634824d6005d9dbd3eb109bd2d /drivers/dma | |
parent | 45173d5ed4c9a397db31623bf6469efbd3a239cd (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')
-rw-r--r-- | drivers/dma/mv_xor.c | 11 |
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 | ||
1251 | static void | 1251 | static void |
1252 | mv_xor_conf_mbus_windows(struct mv_xor_shared_private *msp, | 1252 | mv_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 | ||
1291 | static int mv_xor_shared_probe(struct platform_device *pdev) | 1291 | static 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 | } |