On Wed, May 13, 2020 at 12:08 PM Lubomir Rintel <lkundrak@xxxxx> 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@xxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/etnaviv _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel