diff options
author | Boris BREZILLON <boris.brezillon@free-electrons.com> | 2014-09-23 07:14:09 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-11-13 10:07:59 -0500 |
commit | d41da3ee1a9c46d175ca4cdca369f35c35f89cdc (patch) | |
tree | 504dccf40eb42aa114bdec932f93df90360a61eb /drivers/rtc/rtc-at91sam9.c | |
parent | 272f1dfa617ac2eb02a34f534d8d24a6b97eeb08 (diff) |
rtc: at91sam9: replace devm_ioremap by devm_ioremap_resource
Replace devm_ioremap calls by devm_ioremap_resource which already check
resource consistency (resource != NULL) and print an error in case of
failure.
Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Johan Hovold <johan@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'drivers/rtc/rtc-at91sam9.c')
-rw-r--r-- | drivers/rtc/rtc-at91sam9.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c index 74a9ca0bbeb4..38a26931b659 100644 --- a/drivers/rtc/rtc-at91sam9.c +++ b/drivers/rtc/rtc-at91sam9.c | |||
@@ -306,18 +306,11 @@ static const struct rtc_class_ops at91_rtc_ops = { | |||
306 | */ | 306 | */ |
307 | static int at91_rtc_probe(struct platform_device *pdev) | 307 | static int at91_rtc_probe(struct platform_device *pdev) |
308 | { | 308 | { |
309 | struct resource *r, *r_gpbr; | 309 | struct resource *r; |
310 | struct sam9_rtc *rtc; | 310 | struct sam9_rtc *rtc; |
311 | int ret, irq; | 311 | int ret, irq; |
312 | u32 mr; | 312 | u32 mr; |
313 | 313 | ||
314 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); | ||
315 | r_gpbr = platform_get_resource(pdev, IORESOURCE_MEM, 1); | ||
316 | if (!r || !r_gpbr) { | ||
317 | dev_err(&pdev->dev, "need 2 ressources\n"); | ||
318 | return -ENODEV; | ||
319 | } | ||
320 | |||
321 | irq = platform_get_irq(pdev, 0); | 314 | irq = platform_get_irq(pdev, 0); |
322 | if (irq < 0) { | 315 | if (irq < 0) { |
323 | dev_err(&pdev->dev, "failed to get interrupt resource\n"); | 316 | dev_err(&pdev->dev, "failed to get interrupt resource\n"); |
@@ -335,18 +328,16 @@ static int at91_rtc_probe(struct platform_device *pdev) | |||
335 | device_init_wakeup(&pdev->dev, 1); | 328 | device_init_wakeup(&pdev->dev, 1); |
336 | 329 | ||
337 | platform_set_drvdata(pdev, rtc); | 330 | platform_set_drvdata(pdev, rtc); |
338 | rtc->rtt = devm_ioremap(&pdev->dev, r->start, resource_size(r)); | ||
339 | if (!rtc->rtt) { | ||
340 | dev_err(&pdev->dev, "failed to map registers, aborting.\n"); | ||
341 | return -ENOMEM; | ||
342 | } | ||
343 | 331 | ||
344 | rtc->gpbr = devm_ioremap(&pdev->dev, r_gpbr->start, | 332 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
345 | resource_size(r_gpbr)); | 333 | rtc->rtt = devm_ioremap_resource(&pdev->dev, r); |
346 | if (!rtc->gpbr) { | 334 | if (IS_ERR(rtc->rtt)) |
347 | dev_err(&pdev->dev, "failed to map gpbr registers, aborting.\n"); | 335 | return PTR_ERR(rtc->rtt); |
348 | return -ENOMEM; | 336 | |
349 | } | 337 | r = platform_get_resource(pdev, IORESOURCE_MEM, 1); |
338 | rtc->gpbr = devm_ioremap_resource(&pdev->dev, r); | ||
339 | if (IS_ERR(rtc->gpbr)) | ||
340 | return PTR_ERR(rtc->rtt); | ||
350 | 341 | ||
351 | mr = rtt_readl(rtc, MR); | 342 | mr = rtt_readl(rtc, MR); |
352 | 343 | ||