diff options
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-davinci.c | 1 | ||||
-rw-r--r-- | drivers/rtc/rtc-ds1307.c | 4 | ||||
-rw-r--r-- | drivers/rtc/rtc-ds1374.c | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-mpc5121.c | 14 | ||||
-rw-r--r-- | drivers/rtc/rtc-rx8025.c | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-s35390a.c | 2 | ||||
-rw-r--r-- | drivers/rtc/rtc-s3c.c | 9 |
7 files changed, 16 insertions, 18 deletions
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c index 92a8f6cacda9..34647fc1ee98 100644 --- a/drivers/rtc/rtc-davinci.c +++ b/drivers/rtc/rtc-davinci.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/bcd.h> | 29 | #include <linux/bcd.h> |
30 | #include <linux/platform_device.h> | 30 | #include <linux/platform_device.h> |
31 | #include <linux/io.h> | 31 | #include <linux/io.h> |
32 | #include <linux/slab.h> | ||
32 | 33 | ||
33 | /* | 34 | /* |
34 | * The DaVinci RTC is a simple RTC with the following | 35 | * The DaVinci RTC is a simple RTC with the following |
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index de033b7ac21f..d827ce570a8c 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c | |||
@@ -777,7 +777,7 @@ static int __devinit ds1307_probe(struct i2c_client *client, | |||
777 | 777 | ||
778 | read_rtc: | 778 | read_rtc: |
779 | /* read RTC registers */ | 779 | /* read RTC registers */ |
780 | tmp = ds1307->read_block_data(ds1307->client, 0, 8, buf); | 780 | tmp = ds1307->read_block_data(ds1307->client, ds1307->offset, 8, buf); |
781 | if (tmp != 8) { | 781 | if (tmp != 8) { |
782 | pr_debug("read error %d\n", tmp); | 782 | pr_debug("read error %d\n", tmp); |
783 | err = -EIO; | 783 | err = -EIO; |
@@ -862,7 +862,7 @@ read_rtc: | |||
862 | if (ds1307->regs[DS1307_REG_HOUR] & DS1307_BIT_PM) | 862 | if (ds1307->regs[DS1307_REG_HOUR] & DS1307_BIT_PM) |
863 | tmp += 12; | 863 | tmp += 12; |
864 | i2c_smbus_write_byte_data(client, | 864 | i2c_smbus_write_byte_data(client, |
865 | DS1307_REG_HOUR, | 865 | ds1307->offset + DS1307_REG_HOUR, |
866 | bin2bcd(tmp)); | 866 | bin2bcd(tmp)); |
867 | } | 867 | } |
868 | 868 | ||
diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 61945734ad00..1f0007fd4431 100644 --- a/drivers/rtc/rtc-ds1374.c +++ b/drivers/rtc/rtc-ds1374.c | |||
@@ -403,7 +403,6 @@ out_irq: | |||
403 | free_irq(client->irq, client); | 403 | free_irq(client->irq, client); |
404 | 404 | ||
405 | out_free: | 405 | out_free: |
406 | i2c_set_clientdata(client, NULL); | ||
407 | kfree(ds1374); | 406 | kfree(ds1374); |
408 | return ret; | 407 | return ret; |
409 | } | 408 | } |
@@ -422,7 +421,6 @@ static int __devexit ds1374_remove(struct i2c_client *client) | |||
422 | } | 421 | } |
423 | 422 | ||
424 | rtc_device_unregister(ds1374->rtc); | 423 | rtc_device_unregister(ds1374->rtc); |
425 | i2c_set_clientdata(client, NULL); | ||
426 | kfree(ds1374); | 424 | kfree(ds1374); |
427 | return 0; | 425 | return 0; |
428 | } | 426 | } |
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c index f0dbf9cb8f9c..db5d8c416d26 100644 --- a/drivers/rtc/rtc-mpc5121.c +++ b/drivers/rtc/rtc-mpc5121.c | |||
@@ -279,7 +279,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op, | |||
279 | if (!rtc) | 279 | if (!rtc) |
280 | return -ENOMEM; | 280 | return -ENOMEM; |
281 | 281 | ||
282 | rtc->regs = of_iomap(op->node, 0); | 282 | rtc->regs = of_iomap(op->dev.of_node, 0); |
283 | if (!rtc->regs) { | 283 | if (!rtc->regs) { |
284 | dev_err(&op->dev, "%s: couldn't map io space\n", __func__); | 284 | dev_err(&op->dev, "%s: couldn't map io space\n", __func__); |
285 | err = -ENOSYS; | 285 | err = -ENOSYS; |
@@ -290,7 +290,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op, | |||
290 | 290 | ||
291 | dev_set_drvdata(&op->dev, rtc); | 291 | dev_set_drvdata(&op->dev, rtc); |
292 | 292 | ||
293 | rtc->irq = irq_of_parse_and_map(op->node, 1); | 293 | rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1); |
294 | err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED, | 294 | err = request_irq(rtc->irq, mpc5121_rtc_handler, IRQF_DISABLED, |
295 | "mpc5121-rtc", &op->dev); | 295 | "mpc5121-rtc", &op->dev); |
296 | if (err) { | 296 | if (err) { |
@@ -299,7 +299,7 @@ static int __devinit mpc5121_rtc_probe(struct of_device *op, | |||
299 | goto out_dispose; | 299 | goto out_dispose; |
300 | } | 300 | } |
301 | 301 | ||
302 | rtc->irq_periodic = irq_of_parse_and_map(op->node, 0); | 302 | rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0); |
303 | err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd, | 303 | err = request_irq(rtc->irq_periodic, mpc5121_rtc_handler_upd, |
304 | IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev); | 304 | IRQF_DISABLED, "mpc5121-rtc_upd", &op->dev); |
305 | if (err) { | 305 | if (err) { |
@@ -365,9 +365,11 @@ static struct of_device_id mpc5121_rtc_match[] __devinitdata = { | |||
365 | }; | 365 | }; |
366 | 366 | ||
367 | static struct of_platform_driver mpc5121_rtc_driver = { | 367 | static struct of_platform_driver mpc5121_rtc_driver = { |
368 | .owner = THIS_MODULE, | 368 | .driver = { |
369 | .name = "mpc5121-rtc", | 369 | .name = "mpc5121-rtc", |
370 | .match_table = mpc5121_rtc_match, | 370 | .owner = THIS_MODULE, |
371 | .of_match_table = mpc5121_rtc_match, | ||
372 | }, | ||
371 | .probe = mpc5121_rtc_probe, | 373 | .probe = mpc5121_rtc_probe, |
372 | .remove = __devexit_p(mpc5121_rtc_remove), | 374 | .remove = __devexit_p(mpc5121_rtc_remove), |
373 | }; | 375 | }; |
diff --git a/drivers/rtc/rtc-rx8025.c b/drivers/rtc/rtc-rx8025.c index b65c82f792d9..789f62f9b47d 100644 --- a/drivers/rtc/rtc-rx8025.c +++ b/drivers/rtc/rtc-rx8025.c | |||
@@ -632,7 +632,6 @@ errout_reg: | |||
632 | rtc_device_unregister(rx8025->rtc); | 632 | rtc_device_unregister(rx8025->rtc); |
633 | 633 | ||
634 | errout_free: | 634 | errout_free: |
635 | i2c_set_clientdata(client, NULL); | ||
636 | kfree(rx8025); | 635 | kfree(rx8025); |
637 | 636 | ||
638 | errout: | 637 | errout: |
@@ -656,7 +655,6 @@ static int __devexit rx8025_remove(struct i2c_client *client) | |||
656 | 655 | ||
657 | rx8025_sysfs_unregister(&client->dev); | 656 | rx8025_sysfs_unregister(&client->dev); |
658 | rtc_device_unregister(rx8025->rtc); | 657 | rtc_device_unregister(rx8025->rtc); |
659 | i2c_set_clientdata(client, NULL); | ||
660 | kfree(rx8025); | 658 | kfree(rx8025); |
661 | return 0; | 659 | return 0; |
662 | } | 660 | } |
diff --git a/drivers/rtc/rtc-s35390a.c b/drivers/rtc/rtc-s35390a.c index def4d396d0b0..f789e002c9b0 100644 --- a/drivers/rtc/rtc-s35390a.c +++ b/drivers/rtc/rtc-s35390a.c | |||
@@ -275,7 +275,6 @@ exit_dummy: | |||
275 | if (s35390a->client[i]) | 275 | if (s35390a->client[i]) |
276 | i2c_unregister_device(s35390a->client[i]); | 276 | i2c_unregister_device(s35390a->client[i]); |
277 | kfree(s35390a); | 277 | kfree(s35390a); |
278 | i2c_set_clientdata(client, NULL); | ||
279 | 278 | ||
280 | exit: | 279 | exit: |
281 | return err; | 280 | return err; |
@@ -292,7 +291,6 @@ static int s35390a_remove(struct i2c_client *client) | |||
292 | 291 | ||
293 | rtc_device_unregister(s35390a->rtc); | 292 | rtc_device_unregister(s35390a->rtc); |
294 | kfree(s35390a); | 293 | kfree(s35390a); |
295 | i2c_set_clientdata(client, NULL); | ||
296 | 294 | ||
297 | return 0; | 295 | return 0; |
298 | } | 296 | } |
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index e5972b2c17b7..70b68d35f969 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c | |||
@@ -495,8 +495,6 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev) | |||
495 | pr_debug("s3c2410_rtc: RTCCON=%02x\n", | 495 | pr_debug("s3c2410_rtc: RTCCON=%02x\n", |
496 | readb(s3c_rtc_base + S3C2410_RTCCON)); | 496 | readb(s3c_rtc_base + S3C2410_RTCCON)); |
497 | 497 | ||
498 | s3c_rtc_setfreq(&pdev->dev, 1); | ||
499 | |||
500 | device_init_wakeup(&pdev->dev, 1); | 498 | device_init_wakeup(&pdev->dev, 1); |
501 | 499 | ||
502 | /* register RTC and exit */ | 500 | /* register RTC and exit */ |
@@ -510,14 +508,17 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev) | |||
510 | goto err_nortc; | 508 | goto err_nortc; |
511 | } | 509 | } |
512 | 510 | ||
511 | s3c_rtc_cpu_type = platform_get_device_id(pdev)->driver_data; | ||
512 | |||
513 | if (s3c_rtc_cpu_type == TYPE_S3C64XX) | 513 | if (s3c_rtc_cpu_type == TYPE_S3C64XX) |
514 | rtc->max_user_freq = 32768; | 514 | rtc->max_user_freq = 32768; |
515 | else | 515 | else |
516 | rtc->max_user_freq = 128; | 516 | rtc->max_user_freq = 128; |
517 | 517 | ||
518 | s3c_rtc_cpu_type = platform_get_device_id(pdev)->driver_data; | ||
519 | |||
520 | platform_set_drvdata(pdev, rtc); | 518 | platform_set_drvdata(pdev, rtc); |
519 | |||
520 | s3c_rtc_setfreq(&pdev->dev, 1); | ||
521 | |||
521 | return 0; | 522 | return 0; |
522 | 523 | ||
523 | err_nortc: | 524 | err_nortc: |