2011-02-28 11:44:20

by Shubhrajyoti D

[permalink] [raw]
Subject: [PATCH] bh1780gli : Convert to dev pm ops

From: Shubhrajyoti D <[email protected]>


Signed-off-by: Shubhrajyoti D <[email protected]>
---
drivers/misc/bh1780gli.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/drivers/misc/bh1780gli.c b/drivers/misc/bh1780gli.c
index d5f3a3f..d07cd67 100644
--- a/drivers/misc/bh1780gli.c
+++ b/drivers/misc/bh1780gli.c
@@ -196,10 +196,11 @@ static int __devexit bh1780_remove(struct i2c_client *client)
}

#ifdef CONFIG_PM
-static int bh1780_suspend(struct i2c_client *client, pm_message_t mesg)
+static int bh1780_suspend(struct device *dev)
{
struct bh1780_data *ddata;
int state, ret;
+ struct i2c_client *client = to_i2c_client(dev);

ddata = i2c_get_clientdata(client);
state = bh1780_read(ddata, BH1780_REG_CONTROL, "CONTROL");
@@ -217,14 +218,14 @@ static int bh1780_suspend(struct i2c_client *client, pm_message_t mesg)
return 0;
}

-static int bh1780_resume(struct i2c_client *client)
+static int bh1780_resume(struct device *dev)
{
struct bh1780_data *ddata;
int state, ret;
+ struct i2c_client *client = to_i2c_client(dev);

ddata = i2c_get_clientdata(client);
state = ddata->power_state;
-
ret = bh1780_write(ddata, BH1780_REG_CONTROL, state,
"CONTROL");

@@ -233,9 +234,10 @@ static int bh1780_resume(struct i2c_client *client)

return 0;
}
+static SIMPLE_DEV_PM_OPS(bh1780_pm, bh1780_suspend, bh1780_resume);
+#define BH1780_PMOPS (&bh1780_pm)
#else
-#define bh1780_suspend NULL
-#define bh1780_resume NULL
+#define BH1780_PMOPS NULL
#endif /* CONFIG_PM */

static const struct i2c_device_id bh1780_id[] = {
@@ -247,11 +249,10 @@ static struct i2c_driver bh1780_driver = {
.probe = bh1780_probe,
.remove = bh1780_remove,
.id_table = bh1780_id,
- .suspend = bh1780_suspend,
- .resume = bh1780_resume,
.driver = {
- .name = "bh1780"
- },
+ .name = "bh1780",
+ .pm = BH1780_PMOPS,
+},
};

static int __init bh1780_init(void)
--
1.7.1


2011-02-28 11:50:33

by Shubhrajyoti D

[permalink] [raw]
Subject: Re: [PATCH] bh1780gli : Convert to dev pm ops

Hi Kevin,

On Tuesday 25 January 2011 06:08 AM, Kevin Hilman wrote:
> [email protected] writes:
>
>> From: Shubhrajyoti Datta<[email protected]>
>>
>> Signed-off-by: Shubhrajyoti Datta<[email protected]>
>> ---
>> drivers/misc/bh1780gli.c | 20 ++++++++++----------
>> 1 files changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/misc/bh1780gli.c b/drivers/misc/bh1780gli.c
>> index d5f3a3f..07224ae 100644
>> --- a/drivers/misc/bh1780gli.c
>> +++ b/drivers/misc/bh1780gli.c
>> @@ -196,10 +196,11 @@ static int __devexit bh1780_remove(struct i2c_client *client)
>> }
>>
>> #ifdef CONFIG_PM
>> -static int bh1780_suspend(struct i2c_client *client, pm_message_t mesg)
>> +static int bh1780_suspend(struct device *dev)
>> {
>> struct bh1780_data *ddata;
>> int state, ret;
>> + struct i2c_client *client = to_i2c_client(dev);
>>
>> ddata = i2c_get_clientdata(client);
>> state = bh1780_read(ddata, BH1780_REG_CONTROL, "CONTROL");
>> @@ -217,14 +218,14 @@ static int bh1780_suspend(struct i2c_client *client, pm_message_t mesg)
>> return 0;
>> }
>>
>> -static int bh1780_resume(struct i2c_client *client)
>> +static int bh1780_resume(struct device *dev)
>> {
>> struct bh1780_data *ddata;
>> int state, ret;
>> + struct i2c_client *client = to_i2c_client(dev);
>>
>> ddata = i2c_get_clientdata(client);
>> state = ddata->power_state;
>> -
>> ret = bh1780_write(ddata, BH1780_REG_CONTROL, state,
>> "CONTROL");
>>
>> @@ -233,9 +234,7 @@ static int bh1780_resume(struct i2c_client *client)
>>
>> return 0;
>> }
>> -#else
>> -#define bh1780_suspend NULL
>> -#define bh1780_resume NULL
>> +static SIMPLE_DEV_PM_OPS(bh1780_pm, bh1780_suspend, bh1780_resume);
> Rather, keep the #else here with a NULL pm_ops ptr so you don't need the
> #ifdef below.
>
> Kevin
I agree with the comment. Just sent a patch trying to address it.
>> #endif /* CONFIG_PM */
>>
>> static const struct i2c_device_id bh1780_id[] = {
>> @@ -247,11 +246,12 @@ static struct i2c_driver bh1780_driver = {
>> .probe = bh1780_probe,
>> .remove = bh1780_remove,
>> .id_table = bh1780_id,
>> - .suspend = bh1780_suspend,
>> - .resume = bh1780_resume,
>> .driver = {
>> - .name = "bh1780"
>> - },
>> + .name = "bh1780",
>> +#ifdef CONFIG_PM
>> + .pm =&bh1780_pm,
>> +#endif
>> +},
>> };
>>
>> static int __init bh1780_init(void)