aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/domain.c6
-rw-r--r--drivers/base/power/generic_ops.c2
-rw-r--r--drivers/base/power/main.c2
-rw-r--r--drivers/base/power/runtime.c2
-rw-r--r--drivers/base/regmap/regmap.c3
5 files changed, 8 insertions, 7 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 9a6b05a35603..7072404c8b6d 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -920,7 +920,7 @@ static int pm_genpd_prepare(struct device *dev)
920 pm_wakeup_event(dev, 0); 920 pm_wakeup_event(dev, 0);
921 921
922 if (pm_wakeup_pending()) { 922 if (pm_wakeup_pending()) {
923 pm_runtime_put_sync(dev); 923 pm_runtime_put(dev);
924 return -EBUSY; 924 return -EBUSY;
925 } 925 }
926 926
@@ -961,7 +961,7 @@ static int pm_genpd_prepare(struct device *dev)
961 pm_runtime_enable(dev); 961 pm_runtime_enable(dev);
962 } 962 }
963 963
964 pm_runtime_put_sync(dev); 964 pm_runtime_put(dev);
965 return ret; 965 return ret;
966} 966}
967 967
@@ -1327,7 +1327,7 @@ static void pm_genpd_complete(struct device *dev)
1327 pm_generic_complete(dev); 1327 pm_generic_complete(dev);
1328 pm_runtime_set_active(dev); 1328 pm_runtime_set_active(dev);
1329 pm_runtime_enable(dev); 1329 pm_runtime_enable(dev);
1330 pm_runtime_idle(dev); 1330 pm_request_idle(dev);
1331 } 1331 }
1332} 1332}
1333 1333
diff --git a/drivers/base/power/generic_ops.c b/drivers/base/power/generic_ops.c
index d03d290f31c2..bfd898b8988e 100644
--- a/drivers/base/power/generic_ops.c
+++ b/drivers/base/power/generic_ops.c
@@ -324,6 +324,6 @@ void pm_generic_complete(struct device *dev)
324 * Let runtime PM try to suspend devices that haven't been in use before 324 * Let runtime PM try to suspend devices that haven't been in use before
325 * going into the system-wide sleep state we're resuming from. 325 * going into the system-wide sleep state we're resuming from.
326 */ 326 */
327 pm_runtime_idle(dev); 327 pm_request_idle(dev);
328} 328}
329#endif /* CONFIG_PM_SLEEP */ 329#endif /* CONFIG_PM_SLEEP */
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 15beb500a4e4..5a9b6569dd74 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -756,7 +756,7 @@ static void device_complete(struct device *dev, pm_message_t state)
756 756
757 device_unlock(dev); 757 device_unlock(dev);
758 758
759 pm_runtime_put_sync(dev); 759 pm_runtime_put(dev);
760} 760}
761 761
762/** 762/**
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 1244930e3d7a..ef13ad08afb2 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1400,5 +1400,5 @@ void pm_runtime_remove(struct device *dev)
1400 if (dev->power.runtime_status == RPM_ACTIVE) 1400 if (dev->power.runtime_status == RPM_ACTIVE)
1401 pm_runtime_set_suspended(dev); 1401 pm_runtime_set_suspended(dev);
1402 if (dev->power.irq_safe && dev->parent) 1402 if (dev->power.irq_safe && dev->parent)
1403 pm_runtime_put_sync(dev->parent); 1403 pm_runtime_put(dev->parent);
1404} 1404}
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index d34adef1e63e..58cfb3232428 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -943,7 +943,8 @@ static int _regmap_raw_write(struct regmap *map, unsigned int reg,
943 unsigned int ival; 943 unsigned int ival;
944 int val_bytes = map->format.val_bytes; 944 int val_bytes = map->format.val_bytes;
945 for (i = 0; i < val_len / val_bytes; i++) { 945 for (i = 0; i < val_len / val_bytes; i++) {
946 ival = map->format.parse_val(val + (i * val_bytes)); 946 memcpy(map->work_buf, val + (i * val_bytes), val_bytes);
947 ival = map->format.parse_val(map->work_buf);
947 ret = regcache_write(map, reg + (i * map->reg_stride), 948 ret = regcache_write(map, reg + (i * map->reg_stride),
948 ival); 949 ival);
949 if (ret) { 950 if (ret) {