diff options
| -rw-r--r-- | drivers/power/pm2301_charger.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/drivers/power/pm2301_charger.c b/drivers/power/pm2301_charger.c index 618c46d25a3b..f123f3c219c3 100644 --- a/drivers/power/pm2301_charger.c +++ b/drivers/power/pm2301_charger.c | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | #include <linux/pm2301_charger.h> | 26 | #include <linux/pm2301_charger.h> |
| 27 | #include <linux/gpio.h> | 27 | #include <linux/gpio.h> |
| 28 | #include <linux/pm_runtime.h> | 28 | #include <linux/pm_runtime.h> |
| 29 | #include <linux/pm.h> | ||
| 29 | 30 | ||
| 30 | #include "pm2301_charger.h" | 31 | #include "pm2301_charger.h" |
| 31 | 32 | ||
| @@ -906,8 +907,13 @@ static struct pm2xxx_irq pm2xxx_charger_irq[] = { | |||
| 906 | {"PM2XXX_IRQ_INT", pm2xxx_irq_int}, | 907 | {"PM2XXX_IRQ_INT", pm2xxx_irq_int}, |
| 907 | }; | 908 | }; |
| 908 | 909 | ||
| 909 | static int pm2xxx_wall_charger_resume(struct i2c_client *i2c_client) | 910 | #ifdef CONFIG_PM |
| 911 | |||
| 912 | #ifdef CONFIG_PM_SLEEP | ||
| 913 | |||
| 914 | static int pm2xxx_wall_charger_resume(struct device *dev) | ||
| 910 | { | 915 | { |
| 916 | struct i2c_client *i2c_client = to_i2c_client(dev); | ||
| 911 | struct pm2xxx_charger *pm2; | 917 | struct pm2xxx_charger *pm2; |
| 912 | 918 | ||
| 913 | pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client); | 919 | pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client); |
| @@ -921,9 +927,9 @@ static int pm2xxx_wall_charger_resume(struct i2c_client *i2c_client) | |||
| 921 | return 0; | 927 | return 0; |
| 922 | } | 928 | } |
| 923 | 929 | ||
| 924 | static int pm2xxx_wall_charger_suspend(struct i2c_client *i2c_client, | 930 | static int pm2xxx_wall_charger_suspend(struct device *dev) |
| 925 | pm_message_t state) | ||
| 926 | { | 931 | { |
| 932 | struct i2c_client *i2c_client = to_i2c_client(dev); | ||
| 927 | struct pm2xxx_charger *pm2; | 933 | struct pm2xxx_charger *pm2; |
| 928 | 934 | ||
| 929 | pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client); | 935 | pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client); |
| @@ -939,7 +945,10 @@ static int pm2xxx_wall_charger_suspend(struct i2c_client *i2c_client, | |||
| 939 | return 0; | 945 | return 0; |
| 940 | } | 946 | } |
| 941 | 947 | ||
| 942 | #ifdef CONFIG_PM | 948 | #endif |
| 949 | |||
| 950 | #ifdef CONFIG_PM_RUNTIME | ||
| 951 | |||
| 943 | static int pm2xxx_runtime_suspend(struct device *dev) | 952 | static int pm2xxx_runtime_suspend(struct device *dev) |
| 944 | { | 953 | { |
| 945 | struct i2c_client *pm2xxx_i2c_client = to_i2c_client(dev); | 954 | struct i2c_client *pm2xxx_i2c_client = to_i2c_client(dev); |
| @@ -977,9 +986,12 @@ static int pm2xxx_runtime_resume(struct device *dev) | |||
| 977 | return ret; | 986 | return ret; |
| 978 | } | 987 | } |
| 979 | 988 | ||
| 989 | #endif | ||
| 990 | |||
| 980 | static const struct dev_pm_ops pm2xxx_pm_ops = { | 991 | static const struct dev_pm_ops pm2xxx_pm_ops = { |
| 981 | .runtime_suspend = pm2xxx_runtime_suspend, | 992 | SET_SYSTEM_SLEEP_PM_OPS(pm2xxx_wall_charger_suspend, |
| 982 | .runtime_resume = pm2xxx_runtime_resume, | 993 | pm2xxx_wall_charger_resume) |
| 994 | SET_RUNTIME_PM_OPS(pm2xxx_runtime_suspend, pm2xxx_runtime_resume, NULL) | ||
| 983 | }; | 995 | }; |
| 984 | #define PM2XXX_PM_OPS (&pm2xxx_pm_ops) | 996 | #define PM2XXX_PM_OPS (&pm2xxx_pm_ops) |
| 985 | #else | 997 | #else |
| @@ -1234,8 +1246,6 @@ MODULE_DEVICE_TABLE(i2c, pm2xxx_id); | |||
| 1234 | static struct i2c_driver pm2xxx_charger_driver = { | 1246 | static struct i2c_driver pm2xxx_charger_driver = { |
| 1235 | .probe = pm2xxx_wall_charger_probe, | 1247 | .probe = pm2xxx_wall_charger_probe, |
| 1236 | .remove = pm2xxx_wall_charger_remove, | 1248 | .remove = pm2xxx_wall_charger_remove, |
| 1237 | .suspend = pm2xxx_wall_charger_suspend, | ||
| 1238 | .resume = pm2xxx_wall_charger_resume, | ||
| 1239 | .driver = { | 1249 | .driver = { |
| 1240 | .name = "pm2xxx-wall_charger", | 1250 | .name = "pm2xxx-wall_charger", |
| 1241 | .owner = THIS_MODULE, | 1251 | .owner = THIS_MODULE, |
