2013-04-06 18:33:03

by Tony Prisk

[permalink] [raw]
Subject: PWM backlight build warning

Hi Thierry,

Sorry it's taken so long to report this but I've been tied up with other
patches recently. I noticed a build warning on the pwm_bl driver in
3.9-rcX but I'm not sure what the correct resolution would be. This patch:

commit e2c17bc6f717a8847df2a867caec6ba4fe85f3fc
backlight: convert pwm_bl to dev_pm_ops

Should be no functional changes, mainly a reorganisation to support
future work.

[[email protected]: fix CONFIG_PM=n build]
Signed-off-by: Mark Brown <[email protected]>
Cc: Richard Purdie <[email protected]>
Cc: Florian Tobias Schandinat <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>

has introduced a two build warnings in my config:
drivers/video/backlight/pwm_bl.c:278:12: warning:
?pwm_backlight_suspend? defined but not used [-Wunused-function]
drivers/video/backlight/pwm_bl.c:292:12: warning: ?pwm_backlight_resume?
defined but not used [-Wunused-function]

Although I noticed it doesn't have your acked-by ;)


Selecting "Run-time PM core functionality" without "Suspend to RAM and
standby" causes the unused function warning.
With CONFIG_PM=n, no warnings. With CONFIG_PM=y and CONFIG_PM_SLEEP=y,
no warnings.

The problem occurs because when CONFIG_PM=y but CONFIG_PM_SLEEP=n:

#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
const struct dev_pm_ops name = { \
SET_SYSTEM_SLEEP_PM_OPS(syspend_fn, resume_fn) \
}

#ifdef CONFIG_PM_SLEEP
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
.suspend = suspend_fn, \
.resume = resume_fn, \
.freeze = suspend_fn, \
.thaw = resume_fn, \
.poweroff = suspend_fn, \
.restore = resume_fn,
#else
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
#endif

I guess this would be a problem on every driver that has been converted
to SIMPLE_DEV_PM_OPS.
I don't know enough about the PM code to offer a fix, or whethermy
chosen config is just 'invalid'.

Regards
Tony P


2013-04-06 20:02:58

by Mark Brown

[permalink] [raw]
Subject: Re: PWM backlight build warning

On Sun, Apr 07, 2013 at 06:33:35AM +1200, Tony Prisk wrote:

> The problem occurs because when CONFIG_PM=y but CONFIG_PM_SLEEP=n:

> I guess this would be a problem on every driver that has been
> converted to SIMPLE_DEV_PM_OPS.
> I don't know enough about the PM code to offer a fix, or whethermy
> chosen config is just 'invalid'.

You just need to put the system suspend functions inside an ifdef
CONFIG_PM_SLEEP instead of CONFIG_PM.


Attachments:
(No filename) (438.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments

2013-04-06 21:10:56

by Thierry Reding

[permalink] [raw]
Subject: Re: PWM backlight build warning

On Sat, Apr 06, 2013 at 09:02:51PM +0100, Mark Brown wrote:
> On Sun, Apr 07, 2013 at 06:33:35AM +1200, Tony Prisk wrote:
>
> > The problem occurs because when CONFIG_PM=y but CONFIG_PM_SLEEP=n:
>
> > I guess this would be a problem on every driver that has been
> > converted to SIMPLE_DEV_PM_OPS.
> > I don't know enough about the PM code to offer a fix, or whethermy
> > chosen config is just 'invalid'.
>
> You just need to put the system suspend functions inside an ifdef
> CONFIG_PM_SLEEP instead of CONFIG_PM.

I carry a fix for that in my for-next branch.

Thierry


Attachments:
(No filename) (576.00 B)
(No filename) (836.00 B)
Download all attachments

2013-04-06 22:06:23

by Tony Prisk

[permalink] [raw]
Subject: Re: PWM backlight build warning

On 07/04/13 09:10, Thierry Reding wrote:
> On Sat, Apr 06, 2013 at 09:02:51PM +0100, Mark Brown wrote:
>> On Sun, Apr 07, 2013 at 06:33:35AM +1200, Tony Prisk wrote:
>>
>>> The problem occurs because when CONFIG_PM=y but CONFIG_PM_SLEEP=n:
>>> I guess this would be a problem on every driver that has been
>>> converted to SIMPLE_DEV_PM_OPS.
>>> I don't know enough about the PM code to offer a fix, or whethermy
>>> chosen config is just 'invalid'.
>> You just need to put the system suspend functions inside an ifdef
>> CONFIG_PM_SLEEP instead of CONFIG_PM.
> I carry a fix for that in my for-next branch.
>
> Thierry
Ahh ok, all is good then.

Regards
Tony P