summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 11:31:04 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-03 11:31:04 -0700
commitde6b25de4584febbe1808bc782734ae163b22c26 (patch)
treea9aa0d0009494eed9a496a1093dfdc49617385d0 /include
parentbd698cf6595b079ce36423e8c7eb4a69a31b1733 (diff)
parentef98ae45e6b3ea17d3ed27cec9afdd7e46f916ae (diff)
Merge tag 'regmap-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into next
Pull regmap updates from Mark Brown: "Another fairly quiet release, a few bug fixes and a couple of new features: - support for I2C devices connected to SMBus rather than full I2C controllers contributed by Boris Brezillon. If the controller is only capable of SMBus operation the framework will transparently fall back to that - suport for little endian values, contributed by Xiubo Li" * tag 'regmap-v3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: mmio: Fix regmap_mmio_write for uneven counts regmap: irq: Fix possible ZERO_SIZE_PTR pointer dereferencing error. regmap: Add missing initialization of this_page regmap: Fix possible ZERO_SIZE_PTR pointer dereferencing error. regmap: i2c: fallback to SMBus if the adapter does not support standard I2C regmap: add reg_read/reg_write callbacks to regmap_bus struct regmap: rbtree: improve 64bits memory alignment regmap: mmio: Fix the bug of 'offset' value parsing. regmap: implement LE formatting/parsing for 16/32-bit values.
Diffstat (limited to 'include')
-rw-r--r--include/linux/regmap.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 85691b9b4fa7..7b0e4b425cdf 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -276,6 +276,10 @@ typedef int (*regmap_hw_async_write)(void *context,
typedef int (*regmap_hw_read)(void *context,
const void *reg_buf, size_t reg_size,
void *val_buf, size_t val_size);
+typedef int (*regmap_hw_reg_read)(void *context, unsigned int reg,
+ unsigned int *val);
+typedef int (*regmap_hw_reg_write)(void *context, unsigned int reg,
+ unsigned int val);
typedef struct regmap_async *(*regmap_hw_async_alloc)(void);
typedef void (*regmap_hw_free_context)(void *context);
@@ -309,7 +313,9 @@ struct regmap_bus {
regmap_hw_write write;
regmap_hw_gather_write gather_write;
regmap_hw_async_write async_write;
+ regmap_hw_reg_write reg_write;
regmap_hw_read read;
+ regmap_hw_reg_read reg_read;
regmap_hw_free_context free_context;
regmap_hw_async_alloc async_alloc;
u8 read_flag_mask;