unicore32: pwm: Use module_platform_driver()
authorThierry Reding <thierry.reding@avionic-design.de>
Thu, 30 Aug 2012 11:43:14 +0000 (13:43 +0200)
committerThierry Reding <thierry.reding@avionic-design.de>
Fri, 5 Oct 2012 18:56:40 +0000 (20:56 +0200)
Some of the boilerplate code can be eliminated by using this macro. The
driver was previously registered with an arch_initcall(), so technically
this is no longer the same, but when the driver is moved to the PWM
framework, deferred probing will take care of any driver probe ordering
issues.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Qin Rui <qinrui@mprc.pku.edu.cn>
Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
arch/unicore32/kernel/pwm.c

index 885bbcd..012c54a 100644 (file)
@@ -254,25 +254,6 @@ static struct platform_driver puv3_pwm_driver = {
        .probe          = puv3_pwm_probe,
        .remove         = __devexit_p(pwm_remove),
 };
-
-static int __init pwm_init(void)
-{
-       int ret = 0;
-
-       ret = platform_driver_register(&puv3_pwm_driver);
-       if (ret) {
-               printk(KERN_ERR "failed to register puv3_pwm_driver\n");
-               return ret;
-       }
-
-       return ret;
-}
-arch_initcall(pwm_init);
-
-static void __exit pwm_exit(void)
-{
-       platform_driver_unregister(&puv3_pwm_driver);
-}
-module_exit(pwm_exit);
+module_platform_driver(puv3_pwm_driver);
 
 MODULE_LICENSE("GPL v2");