Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4436380rdb; Fri, 15 Sep 2023 02:00:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGCu9i+LR2LTy+7a6Uvt0uAVx9Fz3n5flqd7PCn8utlLa6vXWRPlLwI9kEjP7I7qrcJHhPt X-Received: by 2002:a05:6358:618c:b0:140:f6ab:b11e with SMTP id w12-20020a056358618c00b00140f6abb11emr1415992rww.28.1694768458049; Fri, 15 Sep 2023 02:00:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694768458; cv=none; d=google.com; s=arc-20160816; b=z8fqSKLz9gPIZf45dlMVk/QEbF2panXH8fT+d7rwiNCcLEHKcKzP31u1j2cUX6pTvZ c3Cz3BZK5LV/8fv6Pwo6Dlgups8aZEoAW+oXqh3s6c4HxI8U1lzd202PUPvKpEuvaPnV /Pqga1XxJJuY/54uXvizlARNyy7DvmNCv3f5/G6baZ/u0tCD8KeAJELWY3nVkU/RR9Ji XBrwj+PiFVCK8zRQXXDHgf4Wev4I0XeutimlbzxoO8B1b9vOnPQdIewSylwMCMW2FkTU +Ajex+uElGTKONi1m71OkW8SMCsgVSNPNqWOfBDbfHs+aieselkheqZnfPB/gwp6dhkr BGMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=2luLdiv6RJKoGkaUJjq1MeJ4VYea/Wcqct49MtBM5cw=; fh=KH8HnsdO2yip8Q9uuYy0FWJVbOcjQeNq7C+3VKM5Hzg=; b=BFU8Lnru06S8e9z4A3O77v81JXXeMyj1pr+yPOtnN0Ubw/ylIU0PeSVKobJQAEqiki KbH2665fJ5FAcxdCnd7kyQ/VO30mk/GpDA+xTKXlJn0YsOlvYb5u6yHiYSCzWb+a/lGg X4gTqKuqM6MJo0+X1wc8th/rSQtgoBJvsls/elPB/wUIKczT0Tqi1zRrJwp1rtl++yzV OLIZSh9EZs5+ltFcZEhL+yqPbpmL9wDGHIkGWXQyT3SB05NMHyplMJlnxS7JYJ7tdoaR DqHK3d4f6kqyo0qs6nR4BLNrWmHbh7Fl8TC2GOYrTbyHp3zqgMJpKpprnzqn9tB2ohJa GzCg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id m130-20020a633f88000000b0057458518e20si2425194pga.164.2023.09.15.02.00.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 02:00:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 984FE831E298; Fri, 15 Sep 2023 01:55:34 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233452AbjIOIzI (ORCPT + 99 others); Fri, 15 Sep 2023 04:55:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233316AbjIOIyb (ORCPT ); Fri, 15 Sep 2023 04:54:31 -0400 Received: from andre.telenet-ops.be (andre.telenet-ops.be [IPv6:2a02:1800:120:4::f00:15]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD32F2D47 for ; Fri, 15 Sep 2023 01:54:18 -0700 (PDT) Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed40:7135:da8b:ba1d:1a7c]) by andre.telenet-ops.be with bizsmtp id m8uE2A00N3q21w7018uEer; Fri, 15 Sep 2023 10:54:16 +0200 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtp (Exim 4.95) (envelope-from ) id 1qh4aJ-003lGu-Id; Fri, 15 Sep 2023 10:54:14 +0200 Received: from geert by rox.of.borg with local (Exim 4.95) (envelope-from ) id 1qh4ac-00Gdbt-IE; Fri, 15 Sep 2023 10:54:14 +0200 From: Geert Uytterhoeven To: Laurent Pinchart , Kieran Bingham , David Airlie , Daniel Vetter , Thomas Zimmermann , Magnus Damm Cc: dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Laurent Pinchart Subject: [PATCH v4 16/41] drm: renesas: shmobile: Improve error handling Date: Fri, 15 Sep 2023 10:53:31 +0200 Message-Id: <6dfac76e5b1c7dda3f96801ce83845a4235e2ccd.1694767209.git.geert+renesas@glider.be> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Fri, 15 Sep 2023 01:55:34 -0700 (PDT) Prepare for DT conversion, where panel probe can be deferred, by streamlining error propagation and handling: - Use dev_err_probe() to avoid printing error messages in case of probe deferral, - Propagate errors where needed. Signed-off-by: Geert Uytterhoeven Reviewed-by: Laurent Pinchart --- v4: - No changes, v3: - No changes, v2: - Add Reviewed-by. --- drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c | 3 ++- drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c | 14 +++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c index 9c3d8b3cf57d5eb6..399fedd42271cb49 100644 --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c @@ -253,7 +253,8 @@ static int shmob_drm_probe(struct platform_device *pdev) ret = shmob_drm_modeset_init(sdev); if (ret < 0) { - dev_err(&pdev->dev, "failed to initialize mode setting\n"); + dev_err_probe(&pdev->dev, ret, + "failed to initialize mode setting\n"); goto err_free_drm_dev; } diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c index 3051318ddc7999bc..1a62e7f8a8a9e6df 100644 --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_kms.c @@ -157,9 +157,17 @@ int shmob_drm_modeset_init(struct shmob_drm_device *sdev) if (ret) return ret; - shmob_drm_crtc_create(sdev); - shmob_drm_encoder_create(sdev); - shmob_drm_connector_create(sdev, &sdev->encoder); + ret = shmob_drm_crtc_create(sdev); + if (ret < 0) + return ret; + + ret = shmob_drm_encoder_create(sdev); + if (ret < 0) + return ret; + + ret = shmob_drm_connector_create(sdev, &sdev->encoder); + if (ret < 0) + return ret; drm_kms_helper_poll_init(sdev->ddev); -- 2.34.1