OSDN Git Service

drm/vc4: use platform_register_drivers
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 17 Mar 2017 17:00:59 +0000 (18:00 +0100)
committerEric Anholt <eric@anholt.net>
Fri, 17 Mar 2017 23:44:09 +0000 (16:44 -0700)
Use platform_register_drivers instead of open coding the iteration over
component platform drivers in the vc4_drv module.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Eric Anholt <eric@anholt.net>
Link: http://patchwork.freedesktop.org/patch/msgid/20170317170059.17821-1-p.zabel@pengutronix.de
drivers/gpu/drm/vc4/vc4_drv.c

index 205c196..61e674b 100644 (file)
@@ -349,26 +349,20 @@ static struct platform_driver vc4_platform_driver = {
 
 static int __init vc4_drm_register(void)
 {
-       int i, ret;
+       int ret;
+
+       ret = platform_register_drivers(component_drivers,
+                                       ARRAY_SIZE(component_drivers));
+       if (ret)
+               return ret;
 
-       for (i = 0; i < ARRAY_SIZE(component_drivers); i++) {
-               ret = platform_driver_register(component_drivers[i]);
-               if (ret) {
-                       while (--i >= 0)
-                               platform_driver_unregister(component_drivers[i]);
-                       return ret;
-               }
-       }
        return platform_driver_register(&vc4_platform_driver);
 }
 
 static void __exit vc4_drm_unregister(void)
 {
-       int i;
-
-       for (i = ARRAY_SIZE(component_drivers) - 1; i >= 0; i--)
-               platform_driver_unregister(component_drivers[i]);
-
+       platform_unregister_drivers(component_drivers,
+                                   ARRAY_SIZE(component_drivers));
        platform_driver_unregister(&vc4_platform_driver);
 }