aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/regmap
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-16 11:02:41 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-04-16 11:02:41 -0400
commit60f7110e36ff7858182e8990a2d19fa3df7e05f5 (patch)
tree179c2a9f8fe654694d40536a506345db80705436 /drivers/base/regmap
parent9659293c1784f3d9df2235f6ebf92f6f9059a563 (diff)
parent41ef2d5678d83af030125550329b6ae8b74618fa (diff)
Merge tag 'v3.9-rc7' into regmap-cache
Linux 3.9-rc7
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r--drivers/base/regmap/regcache-rbtree.c2
-rw-r--r--drivers/base/regmap/regmap-irq.c1
-rw-r--r--drivers/base/regmap/regmap.c6
3 files changed, 6 insertions, 3 deletions
diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c
index 1fdd8ec6af23..aa0875f6f1b7 100644
--- a/drivers/base/regmap/regcache-rbtree.c
+++ b/drivers/base/regmap/regcache-rbtree.c
@@ -404,7 +404,7 @@ static int regcache_rbtree_sync(struct regmap *map, unsigned int min,
404 base = 0; 404 base = 0;
405 405
406 if (max < rbnode->base_reg + rbnode->blklen) 406 if (max < rbnode->base_reg + rbnode->blklen)
407 end = rbnode->base_reg + rbnode->blklen - max; 407 end = max - rbnode->base_reg + 1;
408 else 408 else
409 end = rbnode->blklen; 409 end = rbnode->blklen;
410 410
diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c
index 4706c63d0bc6..020ea2b9fd2f 100644
--- a/drivers/base/regmap/regmap-irq.c
+++ b/drivers/base/regmap/regmap-irq.c
@@ -184,6 +184,7 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)
184 if (ret < 0) { 184 if (ret < 0) {
185 dev_err(map->dev, "IRQ thread failed to resume: %d\n", 185 dev_err(map->dev, "IRQ thread failed to resume: %d\n",
186 ret); 186 ret);
187 pm_runtime_put(map->dev);
187 return IRQ_NONE; 188 return IRQ_NONE;
188 } 189 }
189 } 190 }
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 9ab1e1fedbc9..940fc63ed5f2 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -730,12 +730,12 @@ skip_format_initialization:
730 } 730 }
731 } 731 }
732 732
733 regmap_debugfs_init(map, config->name);
734
733 ret = regcache_init(map, config); 735 ret = regcache_init(map, config);
734 if (ret != 0) 736 if (ret != 0)
735 goto err_range; 737 goto err_range;
736 738
737 regmap_debugfs_init(map, config->name);
738
739 /* Add a devres resource for dev_get_regmap() */ 739 /* Add a devres resource for dev_get_regmap() */
740 m = devres_alloc(dev_get_regmap_release, sizeof(*m), GFP_KERNEL); 740 m = devres_alloc(dev_get_regmap_release, sizeof(*m), GFP_KERNEL);
741 if (!m) { 741 if (!m) {
@@ -1056,6 +1056,8 @@ int _regmap_raw_write(struct regmap *map, unsigned int reg,
1056 kfree(async->work_buf); 1056 kfree(async->work_buf);
1057 kfree(async); 1057 kfree(async);
1058 } 1058 }
1059
1060 return ret;
1059 } 1061 }
1060 1062
1061 trace_regmap_hw_write_start(map->dev, reg, 1063 trace_regmap_hw_write_start(map->dev, reg,