@@ -1292,7 +1292,6 @@ static int mv_xor_probe(struct platform_device *pdev)
const struct mbus_dram_target_info *dram;
struct mv_xor_device *xordev;
struct mv_xor_platform_data *pdata = dev_get_platdata(&pdev->dev);
- struct resource *res;
unsigned int max_engines, max_channels;
int i, ret;
@@ -1302,23 +1301,13 @@ static int mv_xor_probe(struct platform_device *pdev)
if (!xordev)
return -ENOMEM;
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res)
- return -ENODEV;
+ xordev->xor_base = devm_platform_ioremap_resource(pdev, 0);
+ if (IS_ERR(xordev->xor_base))
+ return PTR_ERR(xordev->xor_base);
- xordev->xor_base = devm_ioremap(&pdev->dev, res->start,
- resource_size(res));
- if (!xordev->xor_base)
- return -EBUSY;
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
- if (!res)
- return -ENODEV;
-
- xordev->xor_high_base = devm_ioremap(&pdev->dev, res->start,
- resource_size(res));
- if (!xordev->xor_high_base)
- return -EBUSY;
+ xordev->xor_high_base = devm_platform_ioremap_resource(pdev, 1);
+ if (IS_ERR(xordev->xor_high_base))
+ return PTR_ERR(xordev->xor_high_base);
platform_set_drvdata(pdev, xordev);
Simplifies probe slightly by removing explicit struct resource pointers and platform_get_resource calls. Signed-off-by: Rosen Penev <rosenp@gmail.com> --- drivers/dma/mv_xor.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-)