Messages in this thread | | | Date | Thu, 21 Sep 2023 10:52:14 +0200 | Subject | Re: [PATCH] drm/ssd130x: Drop _helper prefix from struct drm_*_helper_funcs callbacks | From | Thomas Zimmermann <> |
| |
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] | |