* [PATCH] [media] smiapp: make PM functions as __maybe_unused
@ 2016-10-26 20:38 Arnd Bergmann
2016-10-27 7:28 ` Sakari Ailus
0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2016-10-26 20:38 UTC (permalink / raw)
To: Sakari Ailus, Mauro Carvalho Chehab
Cc: Arnd Bergmann, Sebastian Reichel, linux-media, linux-kernel
The rework of the PM support has caused two functions to
be orphaned when CONFIG_PM is disabled:
media/i2c/smiapp/smiapp-core.c:1352:12: error: 'smiapp_power_off' defined but not used [-Werror=unused-function]
media/i2c/smiapp/smiapp-core.c:1206:12: error: 'smiapp_power_on' defined but not used [-Werror=unused-function]
This changes all four PM entry points to __maybe_unused and
removes the #ifdef markers for consistency. This avoids the
warnings even when something changes again.
Fixes: cbba45d43631 ("[media] smiapp: Use runtime PM")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/media/i2c/smiapp/smiapp-core.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index 59872b31f832..fc0142838834 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -1203,7 +1203,7 @@ static int smiapp_setup_flash_strobe(struct smiapp_sensor *sensor)
* Power management
*/
-static int smiapp_power_on(struct device *dev)
+static int __maybe_unused smiapp_power_on(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct v4l2_subdev *subdev = i2c_get_clientdata(client);
@@ -1349,7 +1349,7 @@ static int smiapp_power_on(struct device *dev)
return rval;
}
-static int smiapp_power_off(struct device *dev)
+static int __maybe_unused smiapp_power_off(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct v4l2_subdev *subdev = i2c_get_clientdata(client);
@@ -2741,9 +2741,7 @@ static const struct v4l2_subdev_internal_ops smiapp_internal_ops = {
* I2C Driver
*/
-#ifdef CONFIG_PM
-
-static int smiapp_suspend(struct device *dev)
+static int __maybe_unused smiapp_suspend(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct v4l2_subdev *subdev = i2c_get_clientdata(client);
@@ -2768,7 +2766,7 @@ static int smiapp_suspend(struct device *dev)
return 0;
}
-static int smiapp_resume(struct device *dev)
+static int __maybe_unused smiapp_resume(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct v4l2_subdev *subdev = i2c_get_clientdata(client);
@@ -2783,13 +2781,6 @@ static int smiapp_resume(struct device *dev)
return rval;
}
-#else
-
-#define smiapp_suspend NULL
-#define smiapp_resume NULL
-
-#endif /* CONFIG_PM */
-
static struct smiapp_hwconfig *smiapp_get_hwconfig(struct device *dev)
{
struct smiapp_hwconfig *hwcfg;
--
2.9.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] [media] smiapp: make PM functions as __maybe_unused
2016-10-26 20:38 [PATCH] [media] smiapp: make PM functions as __maybe_unused Arnd Bergmann
@ 2016-10-27 7:28 ` Sakari Ailus
2016-10-27 7:43 ` Arnd Bergmann
0 siblings, 1 reply; 4+ messages in thread
From: Sakari Ailus @ 2016-10-27 7:28 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mauro Carvalho Chehab, Sebastian Reichel, linux-media, linux-kernel
Hi Arnd,
On Wed, Oct 26, 2016 at 10:38:01PM +0200, Arnd Bergmann wrote:
> The rework of the PM support has caused two functions to
> be orphaned when CONFIG_PM is disabled:
>
> media/i2c/smiapp/smiapp-core.c:1352:12: error: 'smiapp_power_off' defined but not used [-Werror=unused-function]
> media/i2c/smiapp/smiapp-core.c:1206:12: error: 'smiapp_power_on' defined but not used [-Werror=unused-function]
>
> This changes all four PM entry points to __maybe_unused and
> removes the #ifdef markers for consistency. This avoids the
> warnings even when something changes again.
>
> Fixes: cbba45d43631 ("[media] smiapp: Use runtime PM")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The power-on sequence is in fact mandatory as it involves writing the
initial configuration to the sensor as well.
Instead, I believe the correct fix is to make the driver depend on
CONFIG_PM.
--
Kind regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [media] smiapp: make PM functions as __maybe_unused
2016-10-27 7:28 ` Sakari Ailus
@ 2016-10-27 7:43 ` Arnd Bergmann
2016-10-27 8:08 ` Sakari Ailus
0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2016-10-27 7:43 UTC (permalink / raw)
To: Sakari Ailus
Cc: Mauro Carvalho Chehab, Sebastian Reichel, linux-media,
linux-kernel, linux-pm
On Thursday, October 27, 2016 10:28:18 AM CEST Sakari Ailus wrote:
>
> On Wed, Oct 26, 2016 at 10:38:01PM +0200, Arnd Bergmann wrote:
> > The rework of the PM support has caused two functions to
> > be orphaned when CONFIG_PM is disabled:
> >
> > media/i2c/smiapp/smiapp-core.c:1352:12: error: 'smiapp_power_off' defined but not used [-Werror=unused-function]
> > media/i2c/smiapp/smiapp-core.c:1206:12: error: 'smiapp_power_on' defined but not used [-Werror=unused-function]
> >
> > This changes all four PM entry points to __maybe_unused and
> > removes the #ifdef markers for consistency. This avoids the
> > warnings even when something changes again.
> >
> > Fixes: cbba45d43631 ("[media] smiapp: Use runtime PM")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> The power-on sequence is in fact mandatory as it involves writing the
> initial configuration to the sensor as well.
>
> Instead, I believe the correct fix is to make the driver depend on
> CONFIG_PM.
(adding linux-pm list)
That would be a rather unusual dependency, though it's possible that
a lot of drivers in fact need it but never listed this explictly in
Kconfig.
What do other drivers do that need to have their runtime_resume
function called at probe time when CONFIG_PM is disabled?
Arnd
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] [media] smiapp: make PM functions as __maybe_unused
2016-10-27 7:43 ` Arnd Bergmann
@ 2016-10-27 8:08 ` Sakari Ailus
0 siblings, 0 replies; 4+ messages in thread
From: Sakari Ailus @ 2016-10-27 8:08 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mauro Carvalho Chehab, Sebastian Reichel, linux-media,
linux-kernel, linux-pm
Hi Arnd,
On Thu, Oct 27, 2016 at 09:43:16AM +0200, Arnd Bergmann wrote:
> On Thursday, October 27, 2016 10:28:18 AM CEST Sakari Ailus wrote:
> >
> > On Wed, Oct 26, 2016 at 10:38:01PM +0200, Arnd Bergmann wrote:
> > > The rework of the PM support has caused two functions to
> > > be orphaned when CONFIG_PM is disabled:
> > >
> > > media/i2c/smiapp/smiapp-core.c:1352:12: error: 'smiapp_power_off' defined but not used [-Werror=unused-function]
> > > media/i2c/smiapp/smiapp-core.c:1206:12: error: 'smiapp_power_on' defined but not used [-Werror=unused-function]
> > >
> > > This changes all four PM entry points to __maybe_unused and
> > > removes the #ifdef markers for consistency. This avoids the
> > > warnings even when something changes again.
> > >
> > > Fixes: cbba45d43631 ("[media] smiapp: Use runtime PM")
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >
> > The power-on sequence is in fact mandatory as it involves writing the
> > initial configuration to the sensor as well.
> >
> > Instead, I believe the correct fix is to make the driver depend on
> > CONFIG_PM.
>
> (adding linux-pm list)
>
> That would be a rather unusual dependency, though it's possible that
> a lot of drivers in fact need it but never listed this explictly in
> Kconfig.
>
> What do other drivers do that need to have their runtime_resume
> function called at probe time when CONFIG_PM is disabled?
That's certainly possible as well.
V4L2 sub-device core operation s_power() no longer works (as it now uses
runtime PM) but I don't think that's an issue if PM is disabled anyway ---
we should really get rid of that in most drivers.
I can submit a patch.
--
Kind regards,
Sakari Ailus
e-mail: sakari.ailus@iki.fi XMPP: sailus@retiisi.org.uk
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-10-27 14:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-26 20:38 [PATCH] [media] smiapp: make PM functions as __maybe_unused Arnd Bergmann
2016-10-27 7:28 ` Sakari Ailus
2016-10-27 7:43 ` Arnd Bergmann
2016-10-27 8:08 ` Sakari Ailus
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).