regmap: Fix kcalloc parameters swapped
[linux-2.6.git] / drivers / base / regmap / regcache-lzo.c
index ad6af92..b7d1614 100644 (file)
@@ -15,6 +15,8 @@
 
 #include "internal.h"
 
+static int regcache_lzo_exit(struct regmap *map);
+
 struct regcache_lzo_ctx {
        void *wmem;
        void *dst;
@@ -27,7 +29,7 @@ struct regcache_lzo_ctx {
 };
 
 #define LZO_BLOCK_NUM 8
-static int regcache_lzo_block_count(void)
+static int regcache_lzo_block_count(struct regmap *map)
 {
        return LZO_BLOCK_NUM;
 }
@@ -106,19 +108,22 @@ static inline int regcache_lzo_get_blkindex(struct regmap *map,
                                            unsigned int reg)
 {
        return (reg * map->cache_word_size) /
-               DIV_ROUND_UP(map->cache_size_raw, regcache_lzo_block_count());
+               DIV_ROUND_UP(map->cache_size_raw,
+                            regcache_lzo_block_count(map));
 }
 
 static inline int regcache_lzo_get_blkpos(struct regmap *map,
                                          unsigned int reg)
 {
-       return reg % (DIV_ROUND_UP(map->cache_size_raw, regcache_lzo_block_count()) /
+       return reg % (DIV_ROUND_UP(map->cache_size_raw,
+                                  regcache_lzo_block_count(map)) /
                      map->cache_word_size);
 }
 
 static inline int regcache_lzo_get_blksize(struct regmap *map)
 {
-       return DIV_ROUND_UP(map->cache_size_raw, regcache_lzo_block_count());
+       return DIV_ROUND_UP(map->cache_size_raw,
+                           regcache_lzo_block_count(map));
 }
 
 static int regcache_lzo_init(struct regmap *map)
@@ -131,7 +136,7 @@ static int regcache_lzo_init(struct regmap *map)
 
        ret = 0;
 
-       blkcount = regcache_lzo_block_count();
+       blkcount = regcache_lzo_block_count(map);
        map->cache = kzalloc(blkcount * sizeof *lzo_blocks,
                             GFP_KERNEL);
        if (!map->cache)
@@ -190,7 +195,7 @@ static int regcache_lzo_init(struct regmap *map)
 
        return 0;
 err:
-       regcache_exit(map);
+       regcache_lzo_exit(map);
        return ret;
 }
 
@@ -203,7 +208,7 @@ static int regcache_lzo_exit(struct regmap *map)
        if (!lzo_blocks)
                return 0;
 
-       blkcount = regcache_lzo_block_count();
+       blkcount = regcache_lzo_block_count(map);
        /*
         * the pointer to the bitmap used for syncing the cache
         * is shared amongst all lzo_blocks.  Ensure it is freed
@@ -232,7 +237,6 @@ static int regcache_lzo_read(struct regmap *map,
        size_t blksize, tmp_dst_len;
        void *tmp_dst;
 
-       *value = 0;
        /* index of the compressed lzo block */
        blkindex = regcache_lzo_get_blkindex(map, reg);
        /* register index within the decompressed block */
@@ -261,7 +265,8 @@ static int regcache_lzo_read(struct regmap *map,
        /* restore the pointer and length of the compressed block */
        lzo_block->dst = tmp_dst;
        lzo_block->dst_len = tmp_dst_len;
-       return 0;
+
+       return ret;
 }
 
 static int regcache_lzo_write(struct regmap *map,
@@ -351,7 +356,7 @@ static int regcache_lzo_sync(struct regmap *map)
 }
 
 struct regcache_ops regcache_lzo_ops = {
-       .type = REGCACHE_LZO,
+       .type = REGCACHE_COMPRESSED,
        .name = "lzo",
        .init = regcache_lzo_init,
        .exit = regcache_lzo_exit,