Re: [PATCH 2/2] hid: add PM support to PicoLCD device

From: Bruno PrÃmont
Date: Tue Apr 27 2010 - 16:17:13 EST


On Tue, 27 April 2010 Jiri Kosina <jkosina@xxxxxxx> wrote:
> On Sun, 25 Apr 2010, Bruno PrÃmont wrote:
>
> > Add PM support in order to turn off backlight on suspend, restore
> > it on resume and especially restore complete state on reset-resume.
> >
> > Signed-off-by: Bruno PrÃmont <bonbons@xxxxxxxxxxxxxxxxx>
> > ---
> > drivers/hid/hid-picolcd.c | 61 +++++++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 61 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c
> > index aa6f2e1..c652390 100644
> > --- a/drivers/hid/hid-picolcd.c
> > +++ b/drivers/hid/hid-picolcd.c
> > @@ -852,6 +852,20 @@ static inline int picolcd_resume_backlight(struct picolcd_data *data)
> > return picolcd_set_brightness(data->backlight);
> > }
> >
> > +#ifdef CONFIG_PM
> > +static void picolcd_suspend_backlight(struct picolcd_data *data)
> > +{
> > + int bl_power = data->lcd_power;
> > + if (!data->backlight)
> > + return;
> > +
> > + data->backlight->props.power = FB_BLANK_POWERDOWN;
> > + picolcd_set_brightness(data->backlight);
> > + data->lcd_power = data->backlight->props.power = bl_power;
> > +}
> > +#else
> > +#define picolcd_suspend_backlight(a)
> > +#endif /* CONFIG_PM */
>
> Stylistic thing -- it would be nice if this was actually
>
> static inline void picolcd_suspend_backlight(struct picolcd_data *data)
> {
> return 0;
> }
>
> But why do you need to have it defined in !CONFIG_PM situation anyway?
> It's not used otherwise at all.

Yeah, I could drop the #else branch (of #ifconfig CONFIG_PM).

Is gcc quiet about defined but unused static inline functions?
It's in order to avoid those warnings that I used #define bla().
(same in other occasions of stubs returning void.

Might be I forgot the inline keyword for the case I got the warning
about defined but unused function. Will check tomorrow.

> > #else
> > static inline int picolcd_init_backlight(struct picolcd_data *data,
> > struct hid_report *report)
> > @@ -865,6 +879,7 @@ static inline int picolcd_resume_backlight(struct picolcd_data *data)
> > {
> > return 0;
> > }
> > +#define picolcd_suspend_backlight(a)
>
> Any why is it defined once more here?

Thats in the case where CONFIG_HID_PICOLCD_BACKLIGHT is not defined.
c.f. the #else at the beginning of this quote.


Thanks,
Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/