From: Jani Nikula <jani.nikula@linux.intel.com>
To: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>,
intel-xe@lists.freedesktop.org
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Lucas De Marchi <lucas.demarchi@intel.com>
Subject: Re: [PATCH v2 1/4] drm/xe: Simplify function return using drmm_add_action_or_reset()
Date: Mon, 08 Apr 2024 18:08:10 +0300 [thread overview]
Message-ID: <87edbfao4l.fsf@intel.com> (raw)
In-Reply-To: <20240408144944.604448-2-himal.prasad.ghimiray@intel.com>
On Mon, 08 Apr 2024, Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> wrote:
> Instead of assigning the value of drmm_add_action_or_reset() to err and
> returning err in case of failure and 0 in case of success, simply return
> the result of drmm_add_action_or_reset().
>
> -v2:
> cleanup in xe_display too.
>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/display/xe_display.c | 8 +-------
> drivers/gpu/drm/xe/xe_device.c | 6 +-----
> drivers/gpu/drm/xe/xe_gsc_proxy.c | 7 +------
> drivers/gpu/drm/xe/xe_gt.c | 6 +-----
> drivers/gpu/drm/xe/xe_guc_pc.c | 6 +-----
> drivers/gpu/drm/xe/xe_hw_engine.c | 6 +-----
> 6 files changed, 6 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 6ec375c1c4b6..63b27fbcdaca 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -101,8 +101,6 @@ static void display_destroy(struct drm_device *dev, void *dummy)
> */
> int xe_display_create(struct xe_device *xe)
> {
> - int err;
> -
> spin_lock_init(&xe->display.fb_tracking.lock);
>
> xe->display.hotplug.dp_wq = alloc_ordered_workqueue("xe-dp", 0);
> @@ -110,11 +108,7 @@ int xe_display_create(struct xe_device *xe)
> drmm_mutex_init(&xe->drm, &xe->sb_lock);
> xe->enabled_irq_mask = ~0;
>
> - err = drmm_add_action_or_reset(&xe->drm, display_destroy, NULL);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(&xe->drm, display_destroy, NULL);
Up to the xe maintainers, but personally I prefer these as they were,
throughout the series.
The thing is, these functions will be maintained for a long time, and
there'll inevitably be a need to add more initializations and error
returns and cleanups. All of these "return foo()" style things make
future changes harder.
BR,
Jani.
> }
>
> static void xe_display_fini_nommio(struct drm_device *dev, void *dummy)
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 9083f5e02dd9..ce8d632cb961 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -588,11 +588,7 @@ int xe_device_probe(struct xe_device *xe)
>
> xe_hwmon_register(xe);
>
> - err = drmm_add_action_or_reset(&xe->drm, xe_device_sanitize, xe);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(&xe->drm, xe_device_sanitize, xe);
>
> err_fini_display:
> xe_display_driver_remove(xe);
> diff --git a/drivers/gpu/drm/xe/xe_gsc_proxy.c b/drivers/gpu/drm/xe/xe_gsc_proxy.c
> index 35e397b68dfc..1b908d238bd1 100644
> --- a/drivers/gpu/drm/xe/xe_gsc_proxy.c
> +++ b/drivers/gpu/drm/xe/xe_gsc_proxy.c
> @@ -403,7 +403,6 @@ static int proxy_channel_alloc(struct xe_gsc *gsc)
> struct xe_device *xe = gt_to_xe(gt);
> struct xe_bo *bo;
> void *csme;
> - int err;
>
> csme = kzalloc(GSC_PROXY_CHANNEL_SIZE, GFP_KERNEL);
> if (!csme)
> @@ -424,11 +423,7 @@ static int proxy_channel_alloc(struct xe_gsc *gsc)
> gsc->proxy.to_csme = csme;
> gsc->proxy.from_csme = csme + GSC_PROXY_BUFFER_SIZE;
>
> - err = drmm_add_action_or_reset(&xe->drm, proxy_channel_free, gsc);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(&xe->drm, proxy_channel_free, gsc);
> }
>
> /**
> diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
> index cfa5da900461..2421a8d34324 100644
> --- a/drivers/gpu/drm/xe/xe_gt.c
> +++ b/drivers/gpu/drm/xe/xe_gt.c
> @@ -560,11 +560,7 @@ int xe_gt_init(struct xe_gt *gt)
> if (err)
> return err;
>
> - err = drmm_add_action_or_reset(>_to_xe(gt)->drm, gt_fini, gt);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(>_to_xe(gt)->drm, gt_fini, gt);
> }
>
> static int do_gt_reset(struct xe_gt *gt)
> diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
> index 521ae24f2314..509649d0e65e 100644
> --- a/drivers/gpu/drm/xe/xe_guc_pc.c
> +++ b/drivers/gpu/drm/xe/xe_guc_pc.c
> @@ -937,9 +937,5 @@ int xe_guc_pc_init(struct xe_guc_pc *pc)
>
> pc->bo = bo;
>
> - err = drmm_add_action_or_reset(&xe->drm, xe_guc_pc_fini, pc);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(&xe->drm, xe_guc_pc_fini, pc);
> }
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index a688bb2d96ce..455f375c1cbd 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -550,11 +550,7 @@ static int hw_engine_init(struct xe_gt *gt, struct xe_hw_engine *hwe,
> if (xe->info.has_usm && hwe->class == XE_ENGINE_CLASS_COPY)
> gt->usm.reserved_bcs_instance = hwe->instance;
>
> - err = drmm_add_action_or_reset(&xe->drm, hw_engine_fini, hwe);
> - if (err)
> - return err;
> -
> - return 0;
> + return drmm_add_action_or_reset(&xe->drm, hw_engine_fini, hwe);
>
> err_kernel_lrc:
> xe_lrc_finish(&hwe->kernel_lrc);
--
Jani Nikula, Intel
next prev parent reply other threads:[~2024-04-08 15:08 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-08 14:49 [PATCH 0/4] Cleanup and fixes in drmm_add_action_or_reset usage Himal Prasad Ghimiray
2024-04-08 14:49 ` [PATCH v2 1/4] drm/xe: Simplify function return using drmm_add_action_or_reset() Himal Prasad Ghimiray
2024-04-08 15:08 ` Jani Nikula [this message]
2024-04-09 19:48 ` Lucas De Marchi
2024-04-08 14:49 ` [PATCH v2 2/4] drm/xe: Incase of action add failure, remove sysfs only once Himal Prasad Ghimiray
2024-04-09 19:52 ` Lucas De Marchi
2024-04-10 8:16 ` Ghimiray, Himal Prasad
2024-04-10 13:49 ` Lucas De Marchi
2024-04-08 14:49 ` [PATCH v2 3/4] drm/xe: Incase of action add failure, free_gsc_pkt " Himal Prasad Ghimiray
2024-04-08 17:32 ` Daniele Ceraolo Spurio
2024-04-08 14:49 ` [PATCH v2 4/4] drm/xe: Return NULL incase of drmm_add_action_or_reset failure Himal Prasad Ghimiray
2024-04-09 19:55 ` Lucas De Marchi
2024-04-08 16:58 ` ✓ CI.Patch_applied: success for Cleanup and fixes in drmm_add_action_or_reset usage (rev2) Patchwork
2024-04-08 16:58 ` ✓ CI.checkpatch: " Patchwork
2024-04-08 16:59 ` ✓ CI.KUnit: " Patchwork
2024-04-08 17:11 ` ✓ CI.Build: " Patchwork
2024-04-08 17:14 ` ✓ CI.Hooks: " Patchwork
2024-04-08 17:15 ` ✓ CI.checksparse: " Patchwork
2024-04-08 17:42 ` ✓ CI.BAT: " Patchwork
2024-04-08 21:14 ` ✗ CI.FULL: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87edbfao4l.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=rodrigo.vivi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.