Message ID | 20180921100045.20181-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: pxa_camera: Fix check for pdev->dev.of_node | expand |
On Fri, Sep 21, 2018 at 3:00 AM Nathan Chancellor <natechancellor@gmail.com> wrote: > > Clang warns that the address of a pointer will always evaluated as true > in a boolean context. > > drivers/media/platform/pxa_camera.c:2400:17: warning: address of > 'pdev->dev.of_node' will always evaluate to 'true' > [-Wpointer-bool-conversion] > if (&pdev->dev.of_node && !pcdev->pdata) { > ~~~~~~~~~~^~~~~~~ ~~ > 1 warning generated. > > Judging from the rest of the kernel, it seems like this was an error and > just the value of of_node should be checked rather than the address. > > Reported-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/media/platform/pxa_camera.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c > index 3288d22de2a0..6717834e8041 100644 > --- a/drivers/media/platform/pxa_camera.c > +++ b/drivers/media/platform/pxa_camera.c > @@ -2397,7 +2397,7 @@ static int pxa_camera_probe(struct platform_device *pdev) > pcdev->res = res; > > pcdev->pdata = pdev->dev.platform_data; > - if (&pdev->dev.of_node && !pcdev->pdata) { > + if (pdev->dev.of_node && !pcdev->pdata) { pdev->dev.of_node is a `struct device_node *`, so this is the correct way to check that it's not NULL. It's use in pxa_camera_pdata_from_dt() is necessitated on the caller checking that it's not NULL. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd); > } else { > pcdev->platform_flags = pcdev->pdata->flags; > -- > 2.19.0 >
diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c index 3288d22de2a0..6717834e8041 100644 --- a/drivers/media/platform/pxa_camera.c +++ b/drivers/media/platform/pxa_camera.c @@ -2397,7 +2397,7 @@ static int pxa_camera_probe(struct platform_device *pdev) pcdev->res = res; pcdev->pdata = pdev->dev.platform_data; - if (&pdev->dev.of_node && !pcdev->pdata) { + if (pdev->dev.of_node && !pcdev->pdata) { err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd); } else { pcdev->platform_flags = pcdev->pdata->flags;
Clang warns that the address of a pointer will always evaluated as true in a boolean context. drivers/media/platform/pxa_camera.c:2400:17: warning: address of 'pdev->dev.of_node' will always evaluate to 'true' [-Wpointer-bool-conversion] if (&pdev->dev.of_node && !pcdev->pdata) { ~~~~~~~~~~^~~~~~~ ~~ 1 warning generated. Judging from the rest of the kernel, it seems like this was an error and just the value of of_node should be checked rather than the address. Reported-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/media/platform/pxa_camera.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)