[PATCH] drm/ssd130x: Drop _helper prefix from struct drm_*_helper_funcs callbacks

Thomas Zimmermann tzimmermann at suse.de
Thu Sep 21 08:52:14 UTC 2023


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 at 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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230921/ed7f9b0b/attachment-0001.sig>


More information about the dri-devel mailing list