Message ID | 1604719151-28491-1-git-send-email-wangqing@vivo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V2] drm: msm: adreno: use IS_ERR() instead of null pointer check | expand |
On 07/11/2020 06:19, Wang Qing wrote: > a6xx_gmu_get_mmio() never return null in case of error, but ERR_PTR(), so > we should use IS_ERR() instead of null pointer check and IS_ERR_OR_NULL(). Not quite. a6xx_gmu_get_mmio() can return NULL, as it uses ioremap() internally. And ioremap returns NULL in case of error. So the proper check should be IS_ERR_OR_NULL(). > > Signed-off-by: Wang Qing <wangqing@vivo.com> > --- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > index 491fee4..82420f7 > --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > @@ -492,7 +492,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > void __iomem *seqptr = a6xx_gmu_get_mmio(pdev, "gmu_pdc_seq"); > uint32_t pdc_address_offset; > > - if (!pdcptr || !seqptr) > + if (IS_ERR(pdcptr) || IS_ERR(seqptr)) > goto err; > > if (adreno_is_a618(adreno_gpu) || adreno_is_a640(adreno_gpu)) > @@ -580,9 +580,9 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > wmb(); > > err: > - if (!IS_ERR_OR_NULL(pdcptr)) > + if (!IS_ERR(pdcptr)) > iounmap(pdcptr); > - if (!IS_ERR_OR_NULL(seqptr)) > + if (!IS_ERR(seqptr)) > iounmap(seqptr); > } > >
On 07/11/2020 06:19, Wang Qing wrote: > a6xx_gmu_get_mmio() never return null in case of error, but ERR_PTR(), so > we should use IS_ERR() instead of null pointer check and IS_ERR_OR_NULL(). > > Signed-off-by: Wang Qing <wangqing@vivo.com> As a second thought, ioremap's NULL is converted to ERR_PTR(-EINVAL), so the patch is correct. > --- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > index 491fee4..82420f7 > --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > @@ -492,7 +492,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > void __iomem *seqptr = a6xx_gmu_get_mmio(pdev, "gmu_pdc_seq"); > uint32_t pdc_address_offset; > > - if (!pdcptr || !seqptr) > + if (IS_ERR(pdcptr) || IS_ERR(seqptr)) > goto err; > > if (adreno_is_a618(adreno_gpu) || adreno_is_a640(adreno_gpu)) > @@ -580,9 +580,9 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) > wmb(); > > err: > - if (!IS_ERR_OR_NULL(pdcptr)) > + if (!IS_ERR(pdcptr)) > iounmap(pdcptr); > - if (!IS_ERR_OR_NULL(seqptr)) > + if (!IS_ERR(seqptr)) > iounmap(seqptr); > } > >
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c index 491fee4..82420f7 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -492,7 +492,7 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) void __iomem *seqptr = a6xx_gmu_get_mmio(pdev, "gmu_pdc_seq"); uint32_t pdc_address_offset; - if (!pdcptr || !seqptr) + if (IS_ERR(pdcptr) || IS_ERR(seqptr)) goto err; if (adreno_is_a618(adreno_gpu) || adreno_is_a640(adreno_gpu)) @@ -580,9 +580,9 @@ static void a6xx_gmu_rpmh_init(struct a6xx_gmu *gmu) wmb(); err: - if (!IS_ERR_OR_NULL(pdcptr)) + if (!IS_ERR(pdcptr)) iounmap(pdcptr); - if (!IS_ERR_OR_NULL(seqptr)) + if (!IS_ERR(seqptr)) iounmap(seqptr); }
a6xx_gmu_get_mmio() never return null in case of error, but ERR_PTR(), so we should use IS_ERR() instead of null pointer check and IS_ERR_OR_NULL(). Signed-off-by: Wang Qing <wangqing@vivo.com> --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)