switch (config->reg_bits + map->reg_shift) { ... case 7: switch (config->val_bits) { case 9: map->format.format_write = regmap_format_7_9_write; break;然後
static void regmap_format_7_9_write(struct regmap *map, unsigned int reg, unsigned int val) { __be16 *out = map->work_buf; *out = cpu_to_be16((reg << 9) | val); }
所以wm8974 的 code:
static const struct regmap_config wm8974_regmap = { .reg_bits = 7, .val_bits = 9,的確可以送出 follow wm8974 奇怪 protocol 的格式。
沒有留言:
張貼留言