Programming with the regmap API
The regmap API is quite simple. There are only a few structures to know about. The two most important structures of this API are struct regmap_config
, which represents the configuration of the regmap, and struct regmap
, which is the regmap instance itself. All of the regmap data structures are defined in include/linux/regmap.h
.
regmap_config structure
struct regmap_config
stores the configuration of the regmap during the driver's lifetime. What you set here affects read/write operations. It is the most important structure in the regmap API. The source looks like this:
struct regmap_config { const char *name; int reg_bits; int reg_stride; int pad_bits; int val_bits; bool (*writeable_reg)(struct device *dev, unsigned int reg); bool (*readable_reg)(struct device *dev, unsigned int reg); bool (*volatile_reg)(struct device *dev, unsigned int reg); bool (*precious_reg)(struct device *dev, unsigned int reg); regmap_lock...