Em 22-03-2012 17:34, Mark Brown escreveu: > The legacy I2C PM functions have been deprecated and warning on boot > for over a year, convert the drivers still using them to dev_pm_ops. > > Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Em 22-03-2012 17:39, Mark Brown escreveu: > On Thu, Mar 22, 2012 at 08:34:53PM +0000, Mark Brown wrote: > >> + .pm = msp3400_pm_ops, > > Gah, missing &s - will resend tomorrow. It is not just the missing & at msp3400: drivers/media/video/msp3400-driver.c:869:2: error: ‘msp3400_suspend’ undeclared here (not in a function) drivers/media/video/msp3400-driver.c:869:2: error: ‘msp3400_resume’ undeclared here (not in a function) drivers/media/video/msp3400-driver.c:882:3: error: initializer element is not constant drivers/media/video/msp3400-driver.c:882:3: error: (near initialization for ‘msp_driver.driver.pm’) drivers/media/video/msp3400-driver.c:600:12: warning: ‘msp_suspend’ defined but not used [-Wunused-function] drivers/media/video/msp3400-driver.c:608:12: warning: ‘msp_resume’ defined but not used [-Wunused-function] drivers/media/video/tuner-core.c:1329:3: error: initializer element is not constant drivers/media/video/tuner-core.c:1329:3: error: (near initialization for ‘tuner_driver.driver.pm’) Please fix and re-send it. Thanks! mauro > --- > drivers/media/video/msp3400-driver.c | 13 +++++++++---- > drivers/media/video/tuner-core.c | 13 +++++++++---- > 2 files changed, 18 insertions(+), 8 deletions(-) > > diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c > index 82ce507..0a55317 100644 > --- a/drivers/media/video/msp3400-driver.c > +++ b/drivers/media/video/msp3400-driver.c > @@ -597,15 +597,17 @@ static int msp_log_status(struct v4l2_subdev *sd) > return 0; > } > > -static int msp_suspend(struct i2c_client *client, pm_message_t state) > +static int msp_suspend(struct device *dev) > { > + struct i2c_client *client = to_i2c_client(dev); > v4l_dbg(1, msp_debug, client, "suspend\n"); > msp_reset(client); > return 0; > } > > -static int msp_resume(struct i2c_client *client) > +static int msp_resume(struct device *dev) > { > + struct i2c_client *client = to_i2c_client(dev); > v4l_dbg(1, msp_debug, client, "resume\n"); > msp_wake_thread(client); > return 0; > @@ -863,6 +865,10 @@ static int msp_remove(struct i2c_client *client) > > /* ----------------------------------------------------------------------- */ > > +static const struct dev_pm_ops msp3400_pm_ops = { > + SET_SYSTEM_SLEEP_PM_OPS(msp3400_suspend, msp3400_resume) > +}; > + > static const struct i2c_device_id msp_id[] = { > { "msp3400", 0 }, > { } > @@ -873,11 +879,10 @@ static struct i2c_driver msp_driver = { > .driver = { > .owner = THIS_MODULE, > .name = "msp3400", > + .pm = msp3400_pm_ops, > }, > .probe = msp_probe, > .remove = msp_remove, > - .suspend = msp_suspend, > - .resume = msp_resume, > .id_table = msp_id, > }; > > diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c > index a5c6397..d3de74f 100644 > --- a/drivers/media/video/tuner-core.c > +++ b/drivers/media/video/tuner-core.c > @@ -1241,8 +1241,9 @@ static int tuner_log_status(struct v4l2_subdev *sd) > return 0; > } > > -static int tuner_suspend(struct i2c_client *c, pm_message_t state) > +static int tuner_suspend(struct device *dev) > { > + struct i2c_client *c = to_i2c_client(dev); > struct tuner *t = to_tuner(i2c_get_clientdata(c)); > struct analog_demod_ops *analog_ops = &t->fe.ops.analog_ops; > > @@ -1254,8 +1255,9 @@ static int tuner_suspend(struct i2c_client *c, pm_message_t state) > return 0; > } > > -static int tuner_resume(struct i2c_client *c) > +static int tuner_resume(struct device *dev) > { > + struct i2c_client *c = to_i2c_client(dev); > struct tuner *t = to_tuner(i2c_get_clientdata(c)); > > tuner_dbg("resume\n"); > @@ -1310,6 +1312,10 @@ static const struct v4l2_subdev_ops tuner_ops = { > * I2C structs and module init functions > */ > > +static const struct dev_pm_ops tuner_pm_ops = { > + SET_SYSTEM_SLEEP_PM_OPS(tuner_suspend, tuner_resume) > +}; > + > static const struct i2c_device_id tuner_id[] = { > { "tuner", }, /* autodetect */ > { } > @@ -1320,12 +1326,11 @@ static struct i2c_driver tuner_driver = { > .driver = { > .owner = THIS_MODULE, > .name = "tuner", > + .pm = tuner_pm_ops, > }, > .probe = tuner_probe, > .remove = tuner_remove, > .command = tuner_command, > - .suspend = tuner_suspend, > - .resume = tuner_resume, > .id_table = tuner_id, > }; > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html