regmap_bus结构体内容
时间: 2023-07-08 22:15:53 浏览: 174
xml_ivs_public.zip_xml c++ 结构体_xml 结构体_xml 结构体 c++_结构体 xml_配置文件
在 Linux 内核中,regmap_bus 结构体定义在文件 include/linux/regmap.h 中,其定义如下:
```
struct regmap_bus {
struct device *dev;
int (*read)(struct regmap_bus *bus, unsigned int reg, unsigned int *val);
int (*write)(struct regmap_bus *bus, unsigned int reg, unsigned int val);
int (*read_block)(struct regmap_bus *bus, unsigned int reg,
void *val, size_t val_len);
int (*write_block)(struct regmap_bus *bus, unsigned int reg,
const void *val, size_t val_len);
int (*reg_write)(struct regmap_bus *bus, unsigned int reg);
int (*reg_read)(struct regmap_bus *bus, unsigned int reg);
};
```
regmap_bus 结构体包含了一些函数指针,用于执行读写寄存器等操作。具体来说,它包含以下字段:
- `dev`: 指向 regmap_bus 所属的设备对象的指针。该设备对象通常是一个 i2c_device 或 spi_device 结构体,表示与 regmap_bus 相关联的总线设备。
- `read`: 读取指定寄存器的值。
- `write`: 向指定寄存器写入指定值。
- `read_block`: 读取指定寄存器块的值。
- `write_block`: 向指定寄存器块写入指定值。
- `reg_write`: 向指定寄存器写入一个无意义的值,以触发一次写操作。
- `reg_read`: 读取指定寄存器的值。
这些函数指针定义了 regmap_bus 对象所支持的操作,用户可以根据实际需要实现这些函数,以满足自己的设备要求。同时,用户还可以自定义绑定这些函数指针到自己的操作函数中,以满足自己的需求。
阅读全文