diff options
author | Dmitry Torokhov <dtor_core@ameritech.net> | 2006-03-22 03:07:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 10:53:56 -0500 |
commit | d39b6cfe664079ca79ae1cfebac4725a877fd61d (patch) | |
tree | 85a4a2784819406ac86d4f30d9764cb363c2c83b /drivers/char | |
parent | f4a641d66c6e135dcfc861521e8008faed2411e1 (diff) |
[PATCH] vr41xx: convert to the new platform device interface
The patch does the following for v441xx seris drivers:
- stop using platform_device_register_simple() as it is going away
- mark ->probe() and ->remove() methods as __devinit and __devexit
respectively
- initialize "owner" field in driver structure so there is a link
from /sys/modules to the driver
- mark *_init() and *_exit() functions as __init and __exit
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/vr41xx_giu.c | 19 | ||||
-rw-r--r-- | drivers/char/vr41xx_rtc.c | 30 |
2 files changed, 33 insertions, 16 deletions
diff --git a/drivers/char/vr41xx_giu.c b/drivers/char/vr41xx_giu.c index 2267c7b81799..05e6e814d86f 100644 --- a/drivers/char/vr41xx_giu.c +++ b/drivers/char/vr41xx_giu.c | |||
@@ -613,7 +613,7 @@ static struct file_operations gpio_fops = { | |||
613 | .release = gpio_release, | 613 | .release = gpio_release, |
614 | }; | 614 | }; |
615 | 615 | ||
616 | static int giu_probe(struct platform_device *dev) | 616 | static int __devinit giu_probe(struct platform_device *dev) |
617 | { | 617 | { |
618 | unsigned long start, size, flags = 0; | 618 | unsigned long start, size, flags = 0; |
619 | unsigned int nr_pins = 0; | 619 | unsigned int nr_pins = 0; |
@@ -697,7 +697,7 @@ static int giu_probe(struct platform_device *dev) | |||
697 | return cascade_irq(GIUINT_IRQ, giu_get_irq); | 697 | return cascade_irq(GIUINT_IRQ, giu_get_irq); |
698 | } | 698 | } |
699 | 699 | ||
700 | static int giu_remove(struct platform_device *dev) | 700 | static int __devexit giu_remove(struct platform_device *dev) |
701 | { | 701 | { |
702 | iounmap(giu_base); | 702 | iounmap(giu_base); |
703 | 703 | ||
@@ -712,9 +712,10 @@ static struct platform_device *giu_platform_device; | |||
712 | 712 | ||
713 | static struct platform_driver giu_device_driver = { | 713 | static struct platform_driver giu_device_driver = { |
714 | .probe = giu_probe, | 714 | .probe = giu_probe, |
715 | .remove = giu_remove, | 715 | .remove = __devexit_p(giu_remove), |
716 | .driver = { | 716 | .driver = { |
717 | .name = "GIU", | 717 | .name = "GIU", |
718 | .owner = THIS_MODULE, | ||
718 | }, | 719 | }, |
719 | }; | 720 | }; |
720 | 721 | ||
@@ -722,9 +723,15 @@ static int __init vr41xx_giu_init(void) | |||
722 | { | 723 | { |
723 | int retval; | 724 | int retval; |
724 | 725 | ||
725 | giu_platform_device = platform_device_register_simple("GIU", -1, NULL, 0); | 726 | giu_platform_device = platform_device_alloc("GIU", -1); |
726 | if (IS_ERR(giu_platform_device)) | 727 | if (!giu_platform_device) |
727 | return PTR_ERR(giu_platform_device); | 728 | return -ENOMEM; |
729 | |||
730 | retval = platform_device_add(giu_platform_device); | ||
731 | if (retval < 0) { | ||
732 | platform_device_put(giu_platform_device); | ||
733 | return retval; | ||
734 | } | ||
728 | 735 | ||
729 | retval = platform_driver_register(&giu_device_driver); | 736 | retval = platform_driver_register(&giu_device_driver); |
730 | if (retval < 0) | 737 | if (retval < 0) |
diff --git a/drivers/char/vr41xx_rtc.c b/drivers/char/vr41xx_rtc.c index bc1b4a15212c..b109d9a502d6 100644 --- a/drivers/char/vr41xx_rtc.c +++ b/drivers/char/vr41xx_rtc.c | |||
@@ -558,7 +558,7 @@ static struct miscdevice rtc_miscdevice = { | |||
558 | .fops = &rtc_fops, | 558 | .fops = &rtc_fops, |
559 | }; | 559 | }; |
560 | 560 | ||
561 | static int rtc_probe(struct platform_device *pdev) | 561 | static int __devinit rtc_probe(struct platform_device *pdev) |
562 | { | 562 | { |
563 | unsigned int irq; | 563 | unsigned int irq; |
564 | int retval; | 564 | int retval; |
@@ -631,7 +631,7 @@ static int rtc_probe(struct platform_device *pdev) | |||
631 | return 0; | 631 | return 0; |
632 | } | 632 | } |
633 | 633 | ||
634 | static int rtc_remove(struct platform_device *dev) | 634 | static int __devexit rtc_remove(struct platform_device *dev) |
635 | { | 635 | { |
636 | int retval; | 636 | int retval; |
637 | 637 | ||
@@ -653,13 +653,14 @@ static struct platform_device *rtc_platform_device; | |||
653 | 653 | ||
654 | static struct platform_driver rtc_device_driver = { | 654 | static struct platform_driver rtc_device_driver = { |
655 | .probe = rtc_probe, | 655 | .probe = rtc_probe, |
656 | .remove = rtc_remove, | 656 | .remove = __devexit_p(rtc_remove), |
657 | .driver = { | 657 | .driver = { |
658 | .name = rtc_name, | 658 | .name = rtc_name, |
659 | .owner = THIS_MODULE, | ||
659 | }, | 660 | }, |
660 | }; | 661 | }; |
661 | 662 | ||
662 | static int __devinit vr41xx_rtc_init(void) | 663 | static int __init vr41xx_rtc_init(void) |
663 | { | 664 | { |
664 | int retval; | 665 | int retval; |
665 | 666 | ||
@@ -684,10 +685,20 @@ static int __devinit vr41xx_rtc_init(void) | |||
684 | break; | 685 | break; |
685 | } | 686 | } |
686 | 687 | ||
687 | rtc_platform_device = platform_device_register_simple("RTC", -1, | 688 | rtc_platform_device = platform_device_alloc("RTC", -1); |
688 | rtc_resource, ARRAY_SIZE(rtc_resource)); | 689 | if (!rtc_platform_device) |
689 | if (IS_ERR(rtc_platform_device)) | 690 | return -ENOMEM; |
690 | return PTR_ERR(rtc_platform_device); | 691 | |
692 | retval = platform_device_add_resources(rtc_platform_device, | ||
693 | rtc_resource, ARRAY_SIZE(rtc_resource)); | ||
694 | |||
695 | if (retval == 0) | ||
696 | retval = platform_device_add(rtc_platform_device); | ||
697 | |||
698 | if (retval < 0) { | ||
699 | platform_device_put(rtc_platform_device); | ||
700 | return retval; | ||
701 | } | ||
691 | 702 | ||
692 | retval = platform_driver_register(&rtc_device_driver); | 703 | retval = platform_driver_register(&rtc_device_driver); |
693 | if (retval < 0) | 704 | if (retval < 0) |
@@ -696,10 +707,9 @@ static int __devinit vr41xx_rtc_init(void) | |||
696 | return retval; | 707 | return retval; |
697 | } | 708 | } |
698 | 709 | ||
699 | static void __devexit vr41xx_rtc_exit(void) | 710 | static void __exit vr41xx_rtc_exit(void) |
700 | { | 711 | { |
701 | platform_driver_unregister(&rtc_device_driver); | 712 | platform_driver_unregister(&rtc_device_driver); |
702 | |||
703 | platform_device_unregister(rtc_platform_device); | 713 | platform_device_unregister(rtc_platform_device); |
704 | } | 714 | } |
705 | 715 | ||