Re: [PATCH] drm/msm/a6xx: fix for kernels without CONFIG_NVMEM

From: Rob Clark
Date: Tue Feb 16 2021 - 22:09:24 EST


On Tue, Feb 16, 2021 at 12:10 PM Jonathan Marek <jonathan@xxxxxxxx> wrote:
>
> Ignore nvmem_cell_get() EOPNOTSUPP error in the same way as a ENOENT error,
> to fix the case where the kernel was compiled without CONFIG_NVMEM.
>
> Fixes: fe7952c629da ("drm/msm: Add speed-bin support to a618 gpu")
> Signed-off-by: Jonathan Marek <jonathan@xxxxxxxx>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> index ba8e9d3cf0fe..7fe5d97606aa 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
> @@ -1356,10 +1356,10 @@ static int a6xx_set_supported_hw(struct device *dev, struct a6xx_gpu *a6xx_gpu,
>
> cell = nvmem_cell_get(dev, "speed_bin");
> /*
> - * -ENOENT means that the platform doesn't support speedbin which is
> - * fine
> + * -ENOENT means no speed bin in device tree,
> + * -EOPNOTSUPP means kernel was built without CONFIG_NVMEM

very minor nit, it would be nice to at least preserve the gist of the
"which is fine" (ie. some variation of "this is an optional thing and
things won't catch fire without it" ;-))

(which is, I believe, is true, hopefully Akhil could confirm.. if not
we should have a harder dependency on CONFIG_NVMEM..)

BR,
-R

> */
> - if (PTR_ERR(cell) == -ENOENT)
> + if (PTR_ERR(cell) == -ENOENT || PTR_ERR(cell) == -EOPNOTSUPP)
> return 0;
> else if (IS_ERR(cell)) {
> DRM_DEV_ERROR(dev,
> --
> 2.26.1
>