Re: [PATCH] drm/msm/disp/dpu1/dpu_encoder: Drop unnecessary NULL checks after container_of

From: Bjorn Andersson
Date: Tue May 25 2021 - 12:18:13 EST


On Tue 25 May 06:29 CDT 2021, Guenter Roeck wrote:

> The result of container_of() operations is never NULL unless the embedded
> element is the first element of the structure. This is not the case here.
> The NULL checks on the result of container_of() are therefore unnecessary
> and misleading. Remove them.
>
> This change was made automatically with the following Coccinelle script.
>
> @@
> type t;
> identifier v;
> statement s;
> @@
>
> <+...
> (
> t v = container_of(...);
> |
> v = container_of(...);
> )
> ...
> when != v
> - if (\( !v \| v == NULL \) ) s
> ...+>
>

Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 8d942052db8a..a573fe211375 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -1453,11 +1453,6 @@ static void dpu_encoder_off_work(struct work_struct *work)
> struct dpu_encoder_virt *dpu_enc = container_of(work,
> struct dpu_encoder_virt, delayed_off_work.work);
>
> - if (!dpu_enc) {
> - DPU_ERROR("invalid dpu encoder\n");
> - return;
> - }
> -
> dpu_encoder_resource_control(&dpu_enc->base,
> DPU_ENC_RC_EVENT_ENTER_IDLE);
>
> @@ -1797,11 +1792,6 @@ static void dpu_encoder_vsync_event_work_handler(struct kthread_work *work)
> struct dpu_encoder_virt, vsync_event_work);
> ktime_t wakeup_time;
>
> - if (!dpu_enc) {
> - DPU_ERROR("invalid dpu encoder\n");
> - return;
> - }
> -
> if (dpu_encoder_vsync_time(&dpu_enc->base, &wakeup_time))
> return;
>
> --
> 2.25.1
>