Hi Ryan > Signed-off-by: Ryan Lee <ryans.lee@xxxxxxxxxxxxxxxxxxx> > --- > > Created max98373 amplifier driver. > > .../devicetree/bindings/sound/max98373.txt | 43 + > sound/soc/codecs/Kconfig | 5 + > sound/soc/codecs/Makefile | 2 + > sound/soc/codecs/max98373.c | 996 +++++++++++++++++++++ > sound/soc/codecs/max98373.h | 225 +++++ > 5 files changed, 1271 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/max98373.txt > create mode 100644 sound/soc/codecs/max98373.c > create mode 100644 sound/soc/codecs/max98373.h (snip) > +struct max98373_priv { > + struct regmap *regmap; > + struct snd_soc_codec *codec; > + unsigned int sysclk; > + unsigned int v_slot; > + unsigned int i_slot; > + unsigned int spkfb_slot; > + bool interleave_mode; > + unsigned int ch_size; > + unsigned int iface; > + bool tdm_mode; > +}; About this max98373->codec. This user is only max98373_set_clock(), and it is called from max98373_dai_hw_params(). You are getting *codec from dai->codec in this function, and max98373 is came from it. This means, we can remove max98373->codec ? About max98373->regmap. You are using devm_regmap_init_i2c(), and keeping it on max98373. Can you check snd_soc_component_add() which is called from snd_soc_add_component(). It will set component->regmap if you called devm_regmap_init_i2c(). I think you can use snd_soc_component_read/write instead of regmap_read/write. Then, we can remove max98373->regmap too ? Ahh, you want to check Revision ID. then, snd_soc_component_init_regmap() can help you ? Best regards --- Kuninori Morimoto -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html