diff --git a/drivers/staging/cptm1217/clearpad_tm1217.c b/drivers/staging/cptm1217/clearpad_tm1217.c index 31fb5d31bb3a..e96eee3ca898 100644 --- a/drivers/staging/cptm1217/clearpad_tm1217.c +++ b/drivers/staging/cptm1217/clearpad_tm1217.c @@ -557,12 +557,15 @@ fail: } +#ifdef CONFIG_PM_SLEEP + /* * cp_tm1217 suspend * */ -static int cp_tm1217_suspend(struct i2c_client *client, pm_message_t mesg) +static int cp_tm1217_suspend(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); struct cp_tm1217_device *ts = i2c_get_clientdata(client); u8 req[2]; int retval; @@ -583,8 +586,9 @@ static int cp_tm1217_suspend(struct i2c_client *client, pm_message_t mesg) * cp_tm1217_resume * */ -static int cp_tm1217_resume(struct i2c_client *client) +static int cp_tm1217_resume(struct device *dev) { + struct i2c_client *client = to_i2c_client(dev); struct cp_tm1217_device *ts = i2c_get_clientdata(client); u8 req[2]; int retval; @@ -618,6 +622,11 @@ static int cp_tm1217_resume(struct i2c_client *client) return 0; } +#endif + +static SIMPLE_DEV_PM_OPS(cp_tm1217_pm_ops, cp_tm1217_suspend, + cp_tm1217_resume); + /* * cp_tm1217_remove * @@ -647,12 +656,11 @@ static struct i2c_driver cp_tm1217_driver = { .driver = { .owner = THIS_MODULE, .name = CPTM1217_DRIVER_NAME, + .pm = &cp_tm1217_pm_ops, }, .id_table = cp_tm1217_idtable, .probe = cp_tm1217_probe, .remove = cp_tm1217_remove, - .suspend = cp_tm1217_suspend, - .resume = cp_tm1217_resume, }; module_i2c_driver(cp_tm1217_driver);