Merge remote-tracking branches 'regmap/topic/irq', 'regmap/topic/le', 'regmap/topic...
[firefly-linux-kernel-4.4.55.git] / drivers / base / regmap / regmap-mmio.c
index dff32c6b247441ca3af0f51302344f9fb7e70776..04a329a377e96b585dd074e2e16340d954e908a4 100644 (file)
@@ -61,9 +61,9 @@ static int regmap_mmio_regbits_check(size_t reg_bits)
        }
 }
 
-static inline void regmap_mmio_count_check(size_t count)
+static inline void regmap_mmio_count_check(size_t count, u32 offset)
 {
-       BUG_ON(count % 2 != 0);
+       BUG_ON(count <= offset);
 }
 
 static inline unsigned int
@@ -139,7 +139,7 @@ static int regmap_mmio_write(void *context, const void *data, size_t count)
        struct regmap_mmio_context *ctx = context;
        unsigned int offset = ctx->reg_bytes + ctx->pad_bytes;
 
-       regmap_mmio_count_check(count);
+       regmap_mmio_count_check(count, offset);
 
        return regmap_mmio_gather_write(context, data, ctx->reg_bytes,
                                        data + offset, count - offset);