linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] backlight: lm3639: Unconditionally call led_classdev_unregister
@ 2018-09-21 20:21 Nathan Chancellor
  2018-09-21 22:48 ` Nick Desaulniers
  2018-10-09  9:10 ` Lee Jones
  0 siblings, 2 replies; 6+ messages in thread
From: Nathan Chancellor @ 2018-09-21 20:21 UTC (permalink / raw)
  To: Lee Jones, Daniel Thompson, Jingoo Han, Bartlomiej Zolnierkiewicz
  Cc: dri-devel, linux-fbdev, linux-kernel, Nick Desaulniers,
	Nathan Chancellor

Clang warns that the address of a pointer will always evaluated as true
in a boolean context.

drivers/video/backlight/lm3639_bl.c:403:14: warning: address of
'pchip->cdev_torch' will always evaluate to 'true'
[-Wpointer-bool-conversion]
        if (&pchip->cdev_torch)
        ~~   ~~~~~~~^~~~~~~~~~
drivers/video/backlight/lm3639_bl.c:405:14: warning: address of
'pchip->cdev_flash' will always evaluate to 'true'
[-Wpointer-bool-conversion]
        if (&pchip->cdev_flash)
        ~~   ~~~~~~~^~~~~~~~~~
2 warnings generated.

These statements have been present since 2012, introduced by
commit 0f59858d5119 ("backlight: add new lm3639 backlight
driver"). Given that they have been called unconditionally since
then presumably without any issues, removing the always true if
statements to fix the warnings without any real world changes.

Link: https://github.com/ClangBuiltLinux/linux/issues/119
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---

Alternatively, it's possible the address wasn't supposed to be taken or
the dev in these structs should be checked instead. I don't have this
hardware to make that call so I would appreciate some review and
opinions on what was intended here.

Thanks!

 drivers/video/backlight/lm3639_bl.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/video/backlight/lm3639_bl.c b/drivers/video/backlight/lm3639_bl.c
index cd50df5807ea..086611c7bc03 100644
--- a/drivers/video/backlight/lm3639_bl.c
+++ b/drivers/video/backlight/lm3639_bl.c
@@ -400,10 +400,8 @@ static int lm3639_remove(struct i2c_client *client)
 
 	regmap_write(pchip->regmap, REG_ENABLE, 0x00);
 
-	if (&pchip->cdev_torch)
-		led_classdev_unregister(&pchip->cdev_torch);
-	if (&pchip->cdev_flash)
-		led_classdev_unregister(&pchip->cdev_flash);
+	led_classdev_unregister(&pchip->cdev_torch);
+	led_classdev_unregister(&pchip->cdev_flash);
 	if (pchip->bled)
 		device_remove_file(&(pchip->bled->dev), &dev_attr_bled_mode);
 	return 0;
-- 
2.19.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-09  9:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-21 20:21 [PATCH] backlight: lm3639: Unconditionally call led_classdev_unregister Nathan Chancellor
2018-09-21 22:48 ` Nick Desaulniers
2018-09-21 23:10   ` Nathan Chancellor
2018-09-24 21:41     ` Nick Desaulniers
2018-09-26  8:59       ` Daniel Thompson
2018-10-09  9:10 ` Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).