Преглед изворни кода

Merge tag 'regmap-v3.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap fixes from Mark Brown:
 "Two changes here:

   - Fix a bug in the rbtree code which could cause it to create two
     different cache entries for the same register by adding a single
     register at a time to the cache.  This isn't awesome for
     performance but it's non-invasive which we need for this late in
     the release cycle and the I/O costs we're trying to avoid are high.

   - Add another header used in the !CONFIG_REGMAP stubs where we had
     been relying on implicit inclusion"

* tag 'regmap-v3.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: rbtree: Fix overlapping rbnodes.
  regmap: Add another missing header for !CONFIG_REGMAP stubs
Linus Torvalds пре 12 година
родитељ
комит
fa8218def1
2 измењених фајлова са 2 додато и 1 уклоњено
  1. 1 1
      drivers/base/regmap/regcache-rbtree.c
  2. 1 0
      include/linux/regmap.h

+ 1 - 1
drivers/base/regmap/regcache-rbtree.c

@@ -332,7 +332,7 @@ regcache_rbtree_node_alloc(struct regmap *map, unsigned int reg)
 	}
 	}
 
 
 	if (!rbnode->blklen) {
 	if (!rbnode->blklen) {
-		rbnode->blklen = sizeof(*rbnode);
+		rbnode->blklen = 1;
 		rbnode->base_reg = reg;
 		rbnode->base_reg = reg;
 	}
 	}
 
 

+ 1 - 0
include/linux/regmap.h

@@ -16,6 +16,7 @@
 #include <linux/list.h>
 #include <linux/list.h>
 #include <linux/rbtree.h>
 #include <linux/rbtree.h>
 #include <linux/err.h>
 #include <linux/err.h>
+#include <linux/bug.h>
 
 
 struct module;
 struct module;
 struct device;
 struct device;