Merge remote-tracking branches 'regmap/topic/defaults', 'regmap/topic/irq' and 'regma...
authorMark Brown <broonie@kernel.org>
Wed, 17 Jun 2015 16:40:08 +0000 (17:40 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 17 Jun 2015 16:40:08 +0000 (17:40 +0100)
1  2  3  4 
drivers/base/regmap/regmap.c

index 473f6743874c5550d3faffb961c8927c7303dc3e,6273ff072f3eaa4cbd777b1a4f41fb3cf533a42a,6273ff072f3eaa4cbd777b1a4f41fb3cf533a42a,e5eef6f1408a22de71f5e217a26ea64aee629d8b..7111d04f26218be0529f4702cb1b361ae07a0b00
@@@@@ -945,10 -945,11 -945,11 -945,11 +945,10 @@@@@ EXPORT_SYMBOL_GPL(devm_regmap_init)
    static void regmap_field_init(struct regmap_field *rm_field,
        struct regmap *regmap, struct reg_field reg_field)
    {
 ---    int field_bits = reg_field.msb - reg_field.lsb + 1;
        rm_field->regmap = regmap;
        rm_field->reg = reg_field.reg;
        rm_field->shift = reg_field.lsb;
 ---    rm_field->mask = ((BIT(field_bits) - 1) << reg_field.lsb);
 +++    rm_field->mask = GENMASK(reg_field.msb, reg_field.lsb);
        rm_field->id_size = reg_field.id_size;
        rm_field->id_offset = reg_field.id_offset;
    }
@@@@@ -2317,7 -2318,7 -2318,7 -2318,7 +2317,7 @@@@@ int regmap_bulk_read(struct regmap *map
                                          &ival);
                        if (ret != 0)
                                return ret;
 ---                    memcpy(val + (i * val_bytes), &ival, val_bytes);
 +++                    map->format.format_val(val + (i * val_bytes), ival, 0);
                }
        }
    
@@@@@ -2582,7 -2583,10 -2583,10 -2583,10 +2582,7 @@@@@ int regmap_register_patch(struct regma
        map->async = true;
    
        ret = _regmap_multi_reg_write(map, regs, num_regs);
 ---    if (ret != 0)
 ---            goto out;
    
 ---out:
        map->async = false;
        map->cache_bypass = bypass;
    
@@@@@ -2609,6 -2613,6 -2613,6 -2613,30 +2609,30 @@@@@ int regmap_get_val_bytes(struct regmap 
    }
    EXPORT_SYMBOL_GPL(regmap_get_val_bytes);
    
+++ /**
+++  * regmap_get_max_register(): Report the max register value
+++  *
+++  * Report the max register value, mainly intended to for use by
+++  * generic infrastructure built on top of regmap.
+++  */
+++ int regmap_get_max_register(struct regmap *map)
+++ {
+++     return map->max_register ? map->max_register : -EINVAL;
+++ }
+++ EXPORT_SYMBOL_GPL(regmap_get_max_register);
+++ 
+++ /**
+++  * regmap_get_reg_stride(): Report the register address stride
+++  *
+++  * Report the register address stride, mainly intended to for use by
+++  * generic infrastructure built on top of regmap.
+++  */
+++ int regmap_get_reg_stride(struct regmap *map)
+++ {
+++     return map->reg_stride;
+++ }
+++ EXPORT_SYMBOL_GPL(regmap_get_reg_stride);
+++ 
    int regmap_parse_val(struct regmap *map, const void *buf,
                        unsigned int *val)
    {