2013-03-10 18:12:41

by Tim Gardner

[permalink] [raw]
Subject: [PATCH linux-next] mfd: max8925: max8925_backlight_probe: Silence 'statement with no effect' warning

Commit 47ec340cb8e232671e7c4a4689ff32c3bdf329da 'mfd: max8925: Support dt for backlight'
caused a gcc warning if CONFIG_OF is not defined:

drivers/video/backlight/max8925_bl.c: In function 'max8925_backlight_probe':
drivers/video/backlight/max8925_bl.c:177:3: warning: statement with no effect [-Wunused-value]

gcc version 4.6.3

Convert max8925_backlight_dt_init() to an 'inline void' since it is only
called from one place where the return code is ignored. Protect the
guts of the function with '#ifdef CONFIG_OF'.

Cc: Richard Purdie <[email protected]>
Cc: Florian Tobias Schandinat <[email protected]>
Cc: [email protected]
Signed-off-by: Tim Gardner <[email protected]>
---
drivers/video/backlight/max8925_bl.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/video/backlight/max8925_bl.c b/drivers/video/backlight/max8925_bl.c
index 5ca11b0..199f887 100644
--- a/drivers/video/backlight/max8925_bl.c
+++ b/drivers/video/backlight/max8925_bl.c
@@ -101,10 +101,10 @@ static const struct backlight_ops max8925_backlight_ops = {
.get_brightness = max8925_backlight_get_brightness,
};

-#ifdef CONFIG_OF
-static int max8925_backlight_dt_init(struct platform_device *pdev,
+static inline void max8925_backlight_dt_init(struct platform_device *pdev,
struct max8925_backlight_pdata *pdata)
{
+#ifdef CONFIG_OF
struct device_node *nproot = pdev->dev.parent->of_node, *np;
int dual_string;

@@ -118,11 +118,8 @@ static int max8925_backlight_dt_init(struct platform_device *pdev,

of_property_read_u32(np, "maxim,max8925-dual-string", &dual_string);
pdata->dual_string = dual_string;
- return 0;
-}
-#else
-#define max8925_backlight_dt_init(x, y) (-1)
#endif
+}

static int max8925_backlight_probe(struct platform_device *pdev)
{
--
1.7.9.5


2013-03-11 15:29:11

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH linux-next] mfd: max8925: max8925_backlight_probe: Silence 'statement with no effect' warning

On Sunday 10 March 2013, Tim Gardner wrote:
> drivers/video/backlight/max8925_bl.c: In function 'max8925_backlight_probe':
> drivers/video/backlight/max8925_bl.c:177:3: warning: statement with no effect [-Wunused-value]
>
> gcc version 4.6.3
>
> Convert max8925_backlight_dt_init() to an 'inline void' since it is only
> called from one place where the return code is ignored. Protect the
> guts of the function with '#ifdef CONFIG_OF'.
>
> Cc: Richard Purdie <[email protected]>
> Cc: Florian Tobias Schandinat <[email protected]>
> Cc: [email protected]
> Signed-off-by: Tim Gardner <[email protected]>
> ---
> drivers/video/backlight/max8925_bl.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)

I had already sent a better patch for this earlier, see "mfd: max8925:
fix trivial build warning for non-dt". Unfortunately when I looked into
the problem again, I found more problems with the original patches,
apparently the DT bindings were never properly reviewed. It may be
better to revert the original patch for 3.9 and do it better for 3.10.

Arnd