mfd: Remove wm8400 custom cache implementation
Save a useful amount of code by removing the custom cache implementation for wm8400 and using the regmap cache. Also simplify things by not separately reseting the CODEC registers, this is a sufficiently infrequent operation that we can simply invalidate the entire cache when this happens. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
@@ -24,19 +24,14 @@
|
||||
#include <linux/mfd/wm8400.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
struct regmap;
|
||||
#include <linux/regmap.h>
|
||||
|
||||
#define WM8400_REGISTER_COUNT 0x55
|
||||
|
||||
struct wm8400 {
|
||||
struct device *dev;
|
||||
|
||||
struct mutex io_lock;
|
||||
struct regmap *regmap;
|
||||
|
||||
u16 reg_cache[WM8400_REGISTER_COUNT];
|
||||
|
||||
struct platform_device regulators[6];
|
||||
};
|
||||
|
||||
@@ -930,6 +925,11 @@ struct wm8400 {
|
||||
|
||||
u16 wm8400_reg_read(struct wm8400 *wm8400, u8 reg);
|
||||
int wm8400_block_read(struct wm8400 *wm8400, u8 reg, int count, u16 *data);
|
||||
int wm8400_set_bits(struct wm8400 *wm8400, u8 reg, u16 mask, u16 val);
|
||||
|
||||
static inline int wm8400_set_bits(struct wm8400 *wm8400, u8 reg,
|
||||
u16 mask, u16 val)
|
||||
{
|
||||
return regmap_update_bits(wm8400->regmap, reg, mask, val);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user