Received: by 2002:a25:1104:0:0:0:0:0 with SMTP id 4csp994948ybr; Sat, 23 May 2020 03:45:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJziTLjqsUCE02/MlhtrkXgl/L2F4+U2mVV7hhNWu1+DVhTFxHEARdQhfgy5/p0pa0Ukj5qL X-Received: by 2002:a50:88c6:: with SMTP id d64mr6662707edd.324.1590230744130; Sat, 23 May 2020 03:45:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590230744; cv=none; d=google.com; s=arc-20160816; b=yzMRKHYeQX9VfyvtYlKO2xC/9AFDSACN5o8+taqZiWz3oF3te5NVau0DP+3dw6VdKM aGy03qIJkC/lFOBVS1AS164hlsOBlkqdJozzHkSWXr7svYzJmY9Zuz5bVTIPnBX/zQrB yVRqFvNblgbFgsv56s2OJM51g4qUFGRzYYRXTzVopvsawUHX8KXnOPJaSqvctcgiARek 4z+xru7Bo1r77/ZJYa4+T+Ao5xE36PmzcGRR/diD6a8Ywji1+fTO/M5eDqOw4bo2hxvV QvZTKMPqNexSbGNEdkfueN9+z5pUVTl7zxHun/uJRy/ug88s7ee5Cj33IJJhkh2GHMXE rr0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=i9Y6QpCbWVRCXtRcJMTOvc72aVrNwctB/aqTbtLDj2A=; b=jMvwoo6unGB8bzX4YlexSRxh/cC1wL9dpRaHP33lMePls3llQ6U9QGkL57gzqNpZzO kR6vnrbZ3cI2vPku9BXsJhGTOo2f3Q7Omj+iXq/6K8FUV/mpb5tn0vyjveM1pQc68g4Q im0T7M8Q+uGXY/2MUUv4WAAy/D4LY+ufbQk20ski5mMeMTK7nKoJd0GSpxgMFTzjMvL4 hmFSxCRiebTvsuiNkjQZuiDkC8MMgciotaY02W1qLrUc4WRREIrNZvsZ83Qn6o2HjTL6 4TJZbym1l8mMVYy5b1sveLNnOMymTTGvVOlbsQBKFjMkCkNe3eXE0hqMwMT0+JfMfUbe lTpQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u20si5881072edo.434.2020.05.23.03.45.21; Sat, 23 May 2020 03:45:44 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731296AbgEWKmU (ORCPT + 99 others); Sat, 23 May 2020 06:42:20 -0400 Received: from v6.sk ([167.172.42.174]:40074 "EHLO v6.sk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731237AbgEWKmR (ORCPT ); Sat, 23 May 2020 06:42:17 -0400 Received: from localhost (v6.sk [IPv6:::1]) by v6.sk (Postfix) with ESMTP id B8966610CD; Sat, 23 May 2020 10:41:45 +0000 (UTC) From: Lubomir Rintel To: Lucas Stach Cc: Russell King , Christian Gmeiner , etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Lubomir Rintel Subject: [PATCH v2 2/4] drm/etnaviv: Don't ignore errors on getting clocks Date: Sat, 23 May 2020 12:41:35 +0200 Message-Id: <20200523104137.12562-3-lkundrak@v3.sk> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200523104137.12562-1-lkundrak@v3.sk> References: <20200523104137.12562-1-lkundrak@v3.sk> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There might be good reasons why the getting a clock failed. To treat the clocks as optional we're specifically only interested in ignoring -ENOENT, and devm_clk_get_optional() does just that. Note that this preserves the original behavior of all clocks being optional. The binding document mandates the "bus" clock while the dove machine only specifies "core". Signed-off-by: Lubomir Rintel --- Changes since v1: - Fix the actual return value --- drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index c6dacfe3d321..f303172c091d 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -1786,26 +1786,26 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev) } /* Get Clocks: */ - gpu->clk_reg = devm_clk_get(&pdev->dev, "reg"); + gpu->clk_reg = devm_clk_get_optional(&pdev->dev, "reg"); DBG("clk_reg: %p", gpu->clk_reg); if (IS_ERR(gpu->clk_reg)) - gpu->clk_reg = NULL; + return PTR_ERR(gpu->clk_reg); - gpu->clk_bus = devm_clk_get(&pdev->dev, "bus"); + gpu->clk_bus = devm_clk_get_optional(&pdev->dev, "bus"); DBG("clk_bus: %p", gpu->clk_bus); if (IS_ERR(gpu->clk_bus)) - gpu->clk_bus = NULL; + return PTR_ERR(gpu->clk_bus); - gpu->clk_core = devm_clk_get(&pdev->dev, "core"); + gpu->clk_core = devm_clk_get_optional(&pdev->dev, "core"); DBG("clk_core: %p", gpu->clk_core); if (IS_ERR(gpu->clk_core)) - gpu->clk_core = NULL; + return PTR_ERR(gpu->clk_core); gpu->base_rate_core = clk_get_rate(gpu->clk_core); - gpu->clk_shader = devm_clk_get(&pdev->dev, "shader"); + gpu->clk_shader = devm_clk_get_optional(&pdev->dev, "shader"); DBG("clk_shader: %p", gpu->clk_shader); if (IS_ERR(gpu->clk_shader)) - gpu->clk_shader = NULL; + return PTR_ERR(gpu->clk_shader); gpu->base_rate_shader = clk_get_rate(gpu->clk_shader); /* TODO: figure out max mapped size */ -- 2.26.2