Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3182317pxv; Mon, 12 Jul 2021 11:13:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbOg3NUONIEdc7hBgu51UOcbvo5C1s1ztFeQKOtamQd8T1tumE/fZJi6t1O8VQ9FRbTaTX X-Received: by 2002:a02:956a:: with SMTP id y97mr315335jah.58.1626113619431; Mon, 12 Jul 2021 11:13:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626113619; cv=none; d=google.com; s=arc-20160816; b=ORZKGVNFp5EkcHW4X8PXvAncUqlyJ+5AljA/pRi3dYfG4UMIQwgqiC3Qun6cBj2K/u 6GdHQF+aQgdRFQZ7nIVhgHdxXFMFIRp+KOpfrzI4FgehOMWWJa7i5z0TKiuU2ptIE7W7 U8f8sbZ4KuWIKZIcYHmDktazNHIGSCVEpPTQ2oEWoWEjNtgNe6+avzOzEL4bJbqzyTUG +0ohb23jI1Ky7/Tn6EQmzwVU+oFVBElDTQa+ehSRn8hC7mVFvK+LGdgPQrZUMoXPCgAM YkLng50XpuFz2BDC5NMO2vN1M13LZDmrt9uECf0oapKcgYaIGd7nsaV4pMeol8Stw3qw +iGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=MatrETLQn7TQZ/IH4M9ySJm5O3tpHwi/rkeazYtcRwc=; b=zBzk3eKPX7GKp89ZZJQOpcfqmzjuo69mfbLWfP/bxJ0k8LEJ9X1uyQnQEHS68MKObl B8y3VxDmkymEq3ayuHwydL0J2TEGl5+0hzJa4QwHy+RrgpjjHy8DNxYV1+PlQjcGNAIg ICyPzezMicE/chKanCe1DI5CBtaSUMr4Cbv8tyXOnS4HH+pVl0fSpcGwCMsJOVSwTyHL 5FRyg+QsRp8TCwpyxGi2+eK3LlRtxJj4SEnVjDS7ZLFqUUCQJfKQfdBprg//vyayP2IY DpCvUh8bJb7hO6jnDG9AO1UY2Y3YxEdrSwjkvgLwpWia14v3tvngPlwhq4j7B+KDl/7H FicQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g15si16949725iln.71.2021.07.12.11.13.27; Mon, 12 Jul 2021 11:13:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235843AbhGLSPK (ORCPT + 99 others); Mon, 12 Jul 2021 14:15:10 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:55378 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230477AbhGLSPK (ORCPT ); Mon, 12 Jul 2021 14:15:10 -0400 Received: from guri.fritz.box (unknown [IPv6:2a02:810a:880:f54:e464:19d5:3655:dde7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: dafna) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 784C11F422BE; Mon, 12 Jul 2021 19:12:17 +0100 (BST) From: Dafna Hirschfeld To: dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org Cc: dafna.hirschfeld@collabora.com, kernel@collabora.com, dafna3@gmail.com, chunkuang.hu@kernel.org, p.zabel@pengutronix.de, airlied@linux.ie, daniel@ffwll.ch, enric.balletbo@collabora.com, laurent.pinchart@ideasonboard.com Subject: [PATCH] drm/mediatek: Test component initialization earlier in the function mtk_drm_crtc_create Date: Mon, 12 Jul 2021 20:12:09 +0200 Message-Id: <20210712181209.27023-1-dafna.hirschfeld@collabora.com> X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The initialization is currently tested in a later stage in the function for no reason. In addition, the test '!comp' will never fail since comp is set with the '&' operator. Instead, test if a comp was not initialized by testing "!comp->dev". Signed-off-by: Dafna Hirschfeld --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index 474efb844249..06f40e589922 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -755,14 +755,22 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, for (i = 0; i < path_len; i++) { enum mtk_ddp_comp_id comp_id = path[i]; struct device_node *node; + struct mtk_ddp_comp *comp; node = priv->comp_node[comp_id]; + comp = &priv->ddp_comp[comp_id]; + if (!node) { dev_info(dev, "Not creating crtc %d because component %d is disabled or missing\n", pipe, comp_id); return 0; } + + if (!comp->dev) { + dev_err(dev, "Component %pOF not initialized\n", node); + return -ENODEV; + } } mtk_crtc = devm_kzalloc(dev, sizeof(*mtk_crtc), GFP_KERNEL); @@ -787,16 +795,8 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, for (i = 0; i < mtk_crtc->ddp_comp_nr; i++) { enum mtk_ddp_comp_id comp_id = path[i]; struct mtk_ddp_comp *comp; - struct device_node *node; - node = priv->comp_node[comp_id]; comp = &priv->ddp_comp[comp_id]; - if (!comp) { - dev_err(dev, "Component %pOF not initialized\n", node); - ret = -ENODEV; - return ret; - } - mtk_crtc->ddp_comp[i] = comp; if (comp->funcs) { -- 2.17.1