[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOMZO5B582=tZ_YBCyVYFtGh=z5hZKFxP7XoUHEmH3jZsk2uYQ@mail.gmail.com>
Date: Wed, 13 May 2020 14:09:21 -0300
From: Fabio Estevam <festevam@...il.com>
To: Lubomir Rintel <lkundrak@...sk>
Cc: Lucas Stach <l.stach@...gutronix.de>,
linux-kernel <linux-kernel@...r.kernel.org>,
DRI mailing list <dri-devel@...ts.freedesktop.org>,
The etnaviv authors <etnaviv@...ts.freedesktop.org>,
Christian Gmeiner <christian.gmeiner@...il.com>,
Russell King <linux+etnaviv@...linux.org.uk>
Subject: Re: [PATCH 2/3] drm/etnaviv: Don't ignore errors on getting clocks
On Wed, May 13, 2020 at 12:08 PM Lubomir Rintel <lkundrak@...sk> wrote:
>
> 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.
>
> Signed-off-by: Lubomir Rintel <lkundrak@...sk>
> ---
> 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..e7dbb924f576 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 err;
>
> - gpu->clk_bus = devm_clk_get(&pdev->dev, "bus");
> + gpu->clk_bus = devm_clk_get_optional(&pdev->dev, "bus");
The binding doc Documentation/devicetree/bindings/gpu/vivante,gc.yaml
says that only the 'reg' clock could be optional, the others are
required.
> DBG("clk_bus: %p", gpu->clk_bus);
> if (IS_ERR(gpu->clk_bus))
> - gpu->clk_bus = NULL;
> + return err;
>
> - 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 err;
> 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 err;
> gpu->base_rate_shader = clk_get_rate(gpu->clk_shader);
>
> /* TODO: figure out max mapped size */
> --
> 2.26.2
>
> _______________________________________________
> etnaviv mailing list
> etnaviv@...ts.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/etnaviv
Powered by blists - more mailing lists