aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-at91sam9.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 20:12:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 20:12:13 -0400
commit7f0ef0267e20d62d45d527911a993b1e998f4968 (patch)
treede51abc7da5903f59d83e23937f22420164c9477 /drivers/rtc/rtc-at91sam9.c
parent862f0012549110d6f2586bf54b52ed4540cbff3a (diff)
parent9307c29524502c21f0e8a6d96d850b2f5bc0bd9a (diff)
Merge branch 'akpm' (updates from Andrew Morton)
Merge first patch-bomb from Andrew Morton: - various misc bits - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been distracted. There has been quite a bit of activity. - About half the MM queue - Some backlight bits - Various lib/ updates - checkpatch updates - zillions more little rtc patches - ptrace - signals - exec - procfs - rapidio - nbd - aoe - pps - memstick - tools/testing/selftests updates * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (445 commits) tools/testing/selftests: don't assume the x bit is set on scripts selftests: add .gitignore for kcmp selftests: fix clean target in kcmp Makefile selftests: add .gitignore for vm selftests: add hugetlbfstest self-test: fix make clean selftests: exit 1 on failure kernel/resource.c: remove the unneeded assignment in function __find_resource aio: fix wrong comment in aio_complete() drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode drivers/memstick/host/r592.c: convert to module_pci_driver drivers/memstick/host/jmb38x_ms: convert to module_pci_driver pps-gpio: add device-tree binding and support drivers/pps/clients/pps-gpio.c: convert to module_platform_driver drivers/pps/clients/pps-gpio.c: convert to devm_* helpers drivers/parport/share.c: use kzalloc Documentation/accounting/getdelays.c: avoid strncpy in accounting tool aoe: update internal version number to v83 aoe: update copyright date aoe: perform I/O completions in parallel ...
Diffstat (limited to 'drivers/rtc/rtc-at91sam9.c')
-rw-r--r--drivers/rtc/rtc-at91sam9.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
index b60a34cb145a..309b8b342d9c 100644
--- a/drivers/rtc/rtc-at91sam9.c
+++ b/drivers/rtc/rtc-at91sam9.c
@@ -324,16 +324,14 @@ static int at91_rtc_probe(struct platform_device *pdev)
324 rtc->rtt = devm_ioremap(&pdev->dev, r->start, resource_size(r)); 324 rtc->rtt = devm_ioremap(&pdev->dev, r->start, resource_size(r));
325 if (!rtc->rtt) { 325 if (!rtc->rtt) {
326 dev_err(&pdev->dev, "failed to map registers, aborting.\n"); 326 dev_err(&pdev->dev, "failed to map registers, aborting.\n");
327 ret = -ENOMEM; 327 return -ENOMEM;
328 goto fail;
329 } 328 }
330 329
331 rtc->gpbr = devm_ioremap(&pdev->dev, r_gpbr->start, 330 rtc->gpbr = devm_ioremap(&pdev->dev, r_gpbr->start,
332 resource_size(r_gpbr)); 331 resource_size(r_gpbr));
333 if (!rtc->gpbr) { 332 if (!rtc->gpbr) {
334 dev_err(&pdev->dev, "failed to map gpbr registers, aborting.\n"); 333 dev_err(&pdev->dev, "failed to map gpbr registers, aborting.\n");
335 ret = -ENOMEM; 334 return -ENOMEM;
336 goto fail;
337 } 335 }
338 336
339 mr = rtt_readl(rtc, MR); 337 mr = rtt_readl(rtc, MR);
@@ -350,17 +348,15 @@ static int at91_rtc_probe(struct platform_device *pdev)
350 348
351 rtc->rtcdev = devm_rtc_device_register(&pdev->dev, pdev->name, 349 rtc->rtcdev = devm_rtc_device_register(&pdev->dev, pdev->name,
352 &at91_rtc_ops, THIS_MODULE); 350 &at91_rtc_ops, THIS_MODULE);
353 if (IS_ERR(rtc->rtcdev)) { 351 if (IS_ERR(rtc->rtcdev))
354 ret = PTR_ERR(rtc->rtcdev); 352 return PTR_ERR(rtc->rtcdev);
355 goto fail;
356 }
357 353
358 /* register irq handler after we know what name we'll use */ 354 /* register irq handler after we know what name we'll use */
359 ret = devm_request_irq(&pdev->dev, rtc->irq, at91_rtc_interrupt, 355 ret = devm_request_irq(&pdev->dev, rtc->irq, at91_rtc_interrupt,
360 IRQF_SHARED, dev_name(&rtc->rtcdev->dev), rtc); 356 IRQF_SHARED, dev_name(&rtc->rtcdev->dev), rtc);
361 if (ret) { 357 if (ret) {
362 dev_dbg(&pdev->dev, "can't share IRQ %d?\n", rtc->irq); 358 dev_dbg(&pdev->dev, "can't share IRQ %d?\n", rtc->irq);
363 goto fail; 359 return ret;
364 } 360 }
365 361
366 /* NOTE: sam9260 rev A silicon has a ROM bug which resets the 362 /* NOTE: sam9260 rev A silicon has a ROM bug which resets the
@@ -374,10 +370,6 @@ static int at91_rtc_probe(struct platform_device *pdev)
374 dev_name(&rtc->rtcdev->dev)); 370 dev_name(&rtc->rtcdev->dev));
375 371
376 return 0; 372 return 0;
377
378fail:
379 platform_set_drvdata(pdev, NULL);
380 return ret;
381} 373}
382 374
383/* 375/*
@@ -391,7 +383,6 @@ static int at91_rtc_remove(struct platform_device *pdev)
391 /* disable all interrupts */ 383 /* disable all interrupts */
392 rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN)); 384 rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN));
393 385
394 platform_set_drvdata(pdev, NULL);
395 return 0; 386 return 0;
396} 387}
397 388