Hi Kuninori Miromoto, >-----Original Message----- >From: Kuninori Morimoto [mailto:kuninori.morimoto...@renesas.com] >Sent: Thursday, December 21, 2017 6:24 PM >To: Ryan Lee <ryans....@maximintegrated.com> >Cc: lgirdw...@gmail.com; broo...@kernel.org; robh...@kernel.org; >mark.rutl...@arm.com; pe...@perex.cz; ti...@suse.com; a...@arndb.de; >a...@ti.com; robert.jarz...@free.fr; supercraig0...@gmail.com; >jbru...@baylibre.com; dannenb...@ti.com; romain.per...@collabora.com; >bryce.fergu...@rockwellcollins.com; m-steckl...@ti.com; alsa-devel@alsa- >project.org; devicet...@vger.kernel.org; linux-kernel@vger.kernel.org; >ryan.lee.ma...@gmail.com >Subject: Re: [PATCH] ASoC: max98373: Added Amplifier Driver > >EXTERNAL EMAIL > > > >Hi Ryan > >> Signed-off-by: Ryan Lee <ryans....@maximintegrated.com> >> --- >> >> 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 ?
Thanks for your feedback. I will remove max98373->codec and change related things. > >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 ? I'm sorry but I don't fully understand the benefit of this. Keeping regmap information in private driver data is very common and I can see many ASoC drivers are using it. I was able to see only a few driver use ' snd_soc_component_read'. I would like to keep regmap_read/write if it is still acceptable. > >Best regards >--- >Kuninori Morimoto