mirror of https://gitee.com/openkylin/linux.git
Revert "regmap: Allow installing custom reg_update_bits function"
This reverts commit 7741c373cf
.
This commit is contained in:
parent
6a27a6c3be
commit
21c4c073f1
|
@ -98,9 +98,6 @@ struct regmap {
|
||||||
|
|
||||||
int (*reg_read)(void *context, unsigned int reg, unsigned int *val);
|
int (*reg_read)(void *context, unsigned int reg, unsigned int *val);
|
||||||
int (*reg_write)(void *context, unsigned int reg, unsigned int val);
|
int (*reg_write)(void *context, unsigned int reg, unsigned int val);
|
||||||
int (*reg_update_bits)(void *context, unsigned int reg,
|
|
||||||
unsigned int mask, unsigned int val,
|
|
||||||
bool *change, bool force_write);
|
|
||||||
|
|
||||||
bool defer_caching;
|
bool defer_caching;
|
||||||
|
|
||||||
|
|
|
@ -619,7 +619,6 @@ struct regmap *__regmap_init(struct device *dev,
|
||||||
goto skip_format_initialization;
|
goto skip_format_initialization;
|
||||||
} else {
|
} else {
|
||||||
map->reg_read = _regmap_bus_read;
|
map->reg_read = _regmap_bus_read;
|
||||||
map->reg_update_bits = bus->reg_update_bits;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
reg_endian = regmap_get_reg_endian(bus, config);
|
reg_endian = regmap_get_reg_endian(bus, config);
|
||||||
|
@ -2510,30 +2509,6 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int tmp, orig;
|
unsigned int tmp, orig;
|
||||||
|
|
||||||
if (map->reg_update_bits) {
|
|
||||||
ret = map->reg_update_bits(map->bus_context, reg, mask, val,
|
|
||||||
change, force_write);
|
|
||||||
if (ret != 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
/* Fix up the cache by read/modify/write */
|
|
||||||
if (!map->cache_bypass && !map->defer_caching) {
|
|
||||||
ret = regcache_read(map, reg, &orig);
|
|
||||||
if (ret != 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
tmp = orig & ~mask;
|
|
||||||
tmp |= val & mask;
|
|
||||||
|
|
||||||
ret = regcache_write(map, reg, tmp);
|
|
||||||
if (ret != 0)
|
|
||||||
return ret;
|
|
||||||
if (map->cache_only)
|
|
||||||
map->cache_dirty = true;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = _regmap_read(map, reg, &orig);
|
ret = _regmap_read(map, reg, &orig);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -296,9 +296,6 @@ typedef int (*regmap_hw_reg_read)(void *context, unsigned int reg,
|
||||||
unsigned int *val);
|
unsigned int *val);
|
||||||
typedef int (*regmap_hw_reg_write)(void *context, unsigned int reg,
|
typedef int (*regmap_hw_reg_write)(void *context, unsigned int reg,
|
||||||
unsigned int val);
|
unsigned int val);
|
||||||
typedef int (*regmap_hw_reg_update_bits)(void *context, unsigned int reg,
|
|
||||||
unsigned int mask, unsigned int val,
|
|
||||||
bool *change, bool force_write);
|
|
||||||
typedef struct regmap_async *(*regmap_hw_async_alloc)(void);
|
typedef struct regmap_async *(*regmap_hw_async_alloc)(void);
|
||||||
typedef void (*regmap_hw_free_context)(void *context);
|
typedef void (*regmap_hw_free_context)(void *context);
|
||||||
|
|
||||||
|
@ -338,7 +335,6 @@ struct regmap_bus {
|
||||||
regmap_hw_gather_write gather_write;
|
regmap_hw_gather_write gather_write;
|
||||||
regmap_hw_async_write async_write;
|
regmap_hw_async_write async_write;
|
||||||
regmap_hw_reg_write reg_write;
|
regmap_hw_reg_write reg_write;
|
||||||
regmap_hw_reg_update_bits reg_update_bits;
|
|
||||||
regmap_hw_read read;
|
regmap_hw_read read;
|
||||||
regmap_hw_reg_read reg_read;
|
regmap_hw_reg_read reg_read;
|
||||||
regmap_hw_free_context free_context;
|
regmap_hw_free_context free_context;
|
||||||
|
|
Loading…
Reference in New Issue