lkml.org 
[lkml]   [2023]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] drm/ssd130x: Drop _helper prefix from struct drm_*_helper_funcs callbacks
From
Hi

Am 21.09.23 um 09:44 schrieb Maxime Ripard:
> Hi,
>
> On Mon, Sep 18, 2023 at 09:19:07AM +0200, Javier Martinez Canillas wrote:
>> Thomas Zimmermann <tzimmermann@suse.de> writes:
>>
>>> Hi
>>>
>>> Am 14.09.23 um 21:51 schrieb Javier Martinez Canillas:
>>>> The driver uses a naming convention where functions for struct drm_*_funcs
>>>> callbacks are named ssd130x_$object_$operation, while the callbacks for
>>>> struct drm_*_helper_funcs are named ssd130x_$object_helper_$operation.
>>>>
>>>> The idea is that this helper_ prefix in the function names denote that are
>>>> for struct drm_*_helper_funcs callbacks. This convention was copied from
>>>> other drivers, when ssd130x was written but Maxime pointed out that is the
>>>> exception rather than the norm.
>>>
>>> I guess you found this in my code. I want to point out that I use the
>>> _helper infix to signal that these are callback for
>>> drm_primary_plane_helper_funcs and *not* drm_primary_plane_funcs. The
>>> naming is intentional.
>>>
>>
>> Yes, that's what tried to say in the commit message and indeed I got the
>> convention from drivers in drivers/gpu/drm/tiny. In fact I believe these
>> function names are since first iteration of the driver, when was meant to
>> be a tiny driver.
>>
>> According to Maxime it's the exception rather than the rule and suggested
>> to change it, I don't really have a strong opinion on either naming TBH.
>
> Maybe that's just me, but the helper in the name indeed throws me off. In my
> mind, it's supposed to be used only for helpers, not functions implementing the
> helpers hooks.

Tying the function name to its _funcs structure makes perfect sense to
me, as it helps to structure the driver code. So I always use the
_helper_ infix.

In contrast, the DRM helpers that implement certain functionality does
not seem to follow any naming scheme. For example
drm_atomic_helper_check() implements struct
drm_mode_config_funcs.atomic_check. To me, it's not obvious that these
two belong together. And in the same structure, there's fb_create,
which is provided by drm_gem_fb_create_with_dirty(). This one doesn't
even mention that it's a helper.

Best regards
Thomas

>
> Maxime

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2023-09-21 23:21    [W:0.242 / U:1.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site