On Wed, Apr 24, 2024 at 06:06:52PM +0530, Aravind Iddamsetty wrote: > > On 24/04/24 17:21, Maxime Ripard wrote: > > On Mon, Apr 22, 2024 at 12:27:53PM +0530, Aravind Iddamsetty wrote: > >> In scenarios where drm_dev_put is directly called by driver we want to > >> release devm_drm_dev_init_release action associated with struct > >> drm_device. > >> > >> v2: Directly expose the original function, instead of introducing a > >> helper (Rodrigo) > >> > >> v3: add kernel-doc (Maxime Ripard) > >> > >> Cc: Maxime Ripard <mripard@xxxxxxxxxx> > >> Cc: Thomas Hellstr_m <thomas.hellstrom@xxxxxxxxxxxxxxx> > >> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > >> > >> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > >> Signed-off-by: Aravind Iddamsetty <aravind.iddamsetty@xxxxxxxxxxxxxxx> > >> --- > >> drivers/gpu/drm/drm_drv.c | 13 +++++++++++++ > >> include/drm/drm_drv.h | 2 ++ > >> 2 files changed, 15 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c > >> index 243cacb3575c..9d0409165f1e 100644 > >> --- a/drivers/gpu/drm/drm_drv.c > >> +++ b/drivers/gpu/drm/drm_drv.c > >> @@ -714,6 +714,19 @@ static int devm_drm_dev_init(struct device *parent, > >> devm_drm_dev_init_release, dev); > >> } > >> > >> +/** > >> + * devm_drm_dev_release_action - Call the final release action of the device > >> + * @dev: DRM device > >> + * > >> + * In scenarios where drm_dev_put is directly called by driver we want to release > >> + * devm_drm_dev_init_release action associated with struct drm_device. > >> + */ > > I'm not entirely sure what you mean by that documentation. "In scenarios > > where drm_dev_put is directly called by the driver", we wouldn't need to > > consider that function at all, right? > > the drm_dev_put is not being invoked by drivers directly but that is > associated with devres releases and the scenario here I meant if > drivers want to have that called by themselves. Then that needs to be rephrased to mention both that it applies only to drivers using devm_drm_dev_alloc, and if they want to drop their reference earlier than anticipated. > > Also, we should reference it in drm_dev_put and devm_drm_dev_alloc too. > > sorry I didn't get this can you please elaborate. devm_drm_dev_alloc needs to point at this new function to mention that we can drop the reference explicitly. And drm_dev_put needs to mention that it only applies to non-devm drivers, and if we want to drop the reference on a devm driver, we need to call this new function. Maxime
Attachment:
signature.asc
Description: PGP signature