[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130610163134.1c4124abba64c5f7099cb4ff@linux-foundation.org>
Date: Mon, 10 Jun 2013 16:31:34 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: Jingoo Han <jg1.han@...sung.com>,
"'Shuah Khan'" <shuah.kh@...sung.com>, linux-fbdev@...r.kernel.org,
linux-kernel@...r.kernel.org, shuahkhan@...il.com,
rpurdie@...ys.net, FlorianSchandinat@....de, plagnioj@...osoft.com,
tomi.valkeinen@...com, rafael.j.wysocki@...el.com
Subject: Re: [PATCH] backlight: add CONFIG_PM_SLEEP to suspend/resume
functions
On Fri, 07 Jun 2013 12:02:31 +0200 Arnd Bergmann <arnd@...db.de> wrote:
> On Friday 07 June 2013 10:39:20 Jingoo Han wrote:
> > Add CONFIG_PM_SLEEP to suspend/resume functions to fix the following
> > build warning when CONFIG_PM_SLEEP is not selected. This is because
> > sleep PM callbacks defined by SIMPLE_DEV_PM_OPS are only used when
> > the CONFIG_PM_SLEEP is enabled.
> >
> > drivers/video/backlight/backlight.c:211:12: warning: 'backlight_suspend' defined but not used [-Wunused-function]
> > drivers/video/backlight/backlight.c:225:12: warning: 'backlight_resume' defined but not used [-Wunused-function]
> >
> > Signed-off-by: Jingoo Han <jg1.han@...sung.com>
> > ---
> > drivers/video/backlight/backlight.c | 2 ++
> > 1 file changed, 2 insertions(+)
>
> Your patch looks ok, but I find it extremely annoying to have new warnings
> like this one come up every single day in linux-next. It really shouldn't
> be this hard to use a macro called SIMPLE_DEV_PM_OPS() correctly.
>
> Below is an implementation of SIMPLE_DEV_PM_OPS and UNIVERSAL_DEV_PM_OPS
> that avoids this issue by introducing an unused reference to the suspend
> and resume functions. gcc is smart enough to leave out that unused code
> by itself, and it would actually improve compile-time coverage to have
> something like this, besides being harder to misuse.
>
> This would be a better approach if we didn't already have all the "#ifdef
> CONFIG_PM_SLEEP" in place that hide the functions now. Unfortunately we
> already have over 300 uses of SIMPLE_DEV_PM_OPS/UNIVERSAL_DEV_PM_OPS
> in the kernel today, so removing all the #ifdef atomically without
> creating more build errors is rather hard to do.
>
> Maybe someone has an idea how to extend my approach so it works with
> and without the #ifdef, to let us transition to a situation that no
> longer needs them.
You could create new macros, and add a checkpatch rule to remind people
to not use the old ones. Then people can migrate over from the old
macros at a leisurely pace.
The problem will be in thinking up decent names for the new macros.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists