栗子:
TI的PCM3060
/sound/soc/codecs/pcm3060-i2c.c
/sound/soc/codecs/pcm3060-spi.c
/sound/soc/codecs/pcm3060.c 主驱动
/sound/soc/codecs/pcm3060.h
导出一个probe符号给iic/spi probe时传入spi_client/i2c_client的->device
i2c/spi对寄存器的操作通过 regmap框架进行,即 xxx_client-> dev/priv->regmap
- devm_regmap_init_xxx(client, regmap)
- map->reg_read = _regmap_bus_read;
- map->bus->read()
- spi/iic read()
- map->bus->read()
- map->reg_read = _regmap_bus_read;
注意regmap可以设置缓存
regmap分析栗子 see: https://www.cnblogs.com/schips/p/linix_regmap.html