···3535 unsigned int mask, unsigned int val,3636 bool *change);37373838+static int _regmap_bus_reg_read(void *context, unsigned int reg,3939+ unsigned int *val);3840static int _regmap_bus_read(void *context, unsigned int reg,3941 unsigned int *val);4042static int _regmap_bus_formatted_write(void *context, unsigned int reg,4143 unsigned int val);4444+static int _regmap_bus_reg_write(void *context, unsigned int reg,4545+ unsigned int val);4246static int _regmap_bus_raw_write(void *context, unsigned int reg,4347 unsigned int val);4448···538534 if (!bus) {539535 map->reg_read = config->reg_read;540536 map->reg_write = config->reg_write;537537+538538+ map->defer_caching = false;539539+ goto skip_format_initialization;540540+ } else if (!bus->read || !bus->write) {541541+ map->reg_read = _regmap_bus_reg_read;542542+ map->reg_write = _regmap_bus_reg_write;541543542544 map->defer_caching = false;543545 goto skip_format_initialization;···13461336 return ret;13471337}1348133813391339+static int _regmap_bus_reg_write(void *context, unsigned int reg,13401340+ unsigned int val)13411341+{13421342+ struct regmap *map = context;13431343+13441344+ return map->bus->reg_write(map->bus_context, reg, val);13451345+}13461346+13491347static int _regmap_bus_raw_write(void *context, unsigned int reg,13501348 unsigned int val)13511349{···19961978 val_len / map->format.val_bytes);1997197919981980 return ret;19811981+}19821982+19831983+static int _regmap_bus_reg_read(void *context, unsigned int reg,19841984+ unsigned int *val)19851985+{19861986+ struct regmap *map = context;19871987+19881988+ return map->bus->reg_read(map->bus_context, reg, val);19991989}2000199020011991static int _regmap_bus_read(void *context, unsigned int reg,
+6
include/linux/regmap.h
···276276typedef int (*regmap_hw_read)(void *context,277277 const void *reg_buf, size_t reg_size,278278 void *val_buf, size_t val_size);279279+typedef int (*regmap_hw_reg_read)(void *context, unsigned int reg,280280+ unsigned int *val);281281+typedef int (*regmap_hw_reg_write)(void *context, unsigned int reg,282282+ unsigned int val);279283typedef struct regmap_async *(*regmap_hw_async_alloc)(void);280284typedef void (*regmap_hw_free_context)(void *context);281285···313309 regmap_hw_write write;314310 regmap_hw_gather_write gather_write;315311 regmap_hw_async_write async_write;312312+ regmap_hw_reg_write reg_write;316313 regmap_hw_read read;314314+ regmap_hw_reg_read reg_read;317315 regmap_hw_free_context free_context;318316 regmap_hw_async_alloc async_alloc;319317 u8 read_flag_mask;