[PATCH] drm/vc4: use platform_register_drivers

Eric Anholt eric at anholt.net
Mon Mar 20 17:27:47 UTC 2017


Emil Velikov <emil.l.velikov at gmail.com> writes:

> Hi Philipp,
>
> I think you patch is OK, just a small question about the existing code.
> It might be better suited for Eric... not sure.
>
> On 17 March 2017 at 17:00, Philipp Zabel <p.zabel at pengutronix.de> wrote:
>> 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 at pengutronix.de>
>> ---
>>  drivers/gpu/drm/vc4/vc4_drv.c | 22 ++++++++--------------
>>  1 file changed, 8 insertions(+), 14 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
>> index 205c1961ffb4c..61e674baf3a6f 100644
>> --- a/drivers/gpu/drm/vc4/vc4_drv.c
>> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
>> @@ -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);
> Is there any reason why vc4_platform_driver isn't part of the
> component_drivers array ?

It could be moved in.

>>  }
>>
>>  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);
> Order seems wrong here - shouldn't one unregister vc4_platform_driver
> first here ?
> Perhaps that 's the reason why it is handled separately in vc4_drm_register.

I don't think it matters either way.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170320/5bec8329/attachment.sig>


More information about the dri-devel mailing list