[alsa-devel] [PATCH] ASoC: max98373: Added Amplifier Driver
Ryan Lee
RyanS.Lee at maximintegrated.com
Mon Dec 25 15:30:23 CET 2017
Hi Kuninori Miromoto,
>-----Original Message-----
>From: Kuninori Morimoto [mailto:kuninori.morimoto.gx at renesas.com]
>Sent: Thursday, December 21, 2017 6:24 PM
>To: Ryan Lee <RyanS.Lee at maximintegrated.com>
>Cc: lgirdwood at gmail.com; broonie at kernel.org; robh+dt at kernel.org;
>mark.rutland at arm.com; perex at perex.cz; tiwai at suse.com; arnd at arndb.de;
>afd at ti.com; robert.jarzmik at free.fr; supercraig0719 at gmail.com;
>jbrunet at baylibre.com; dannenberg at ti.com; romain.perier at collabora.com;
>bryce.ferguson at rockwellcollins.com; m-stecklein at ti.com; alsa-devel at alsa-
>project.org; devicetree at vger.kernel.org; linux-kernel at vger.kernel.org;
>ryan.lee.maxim at gmail.com
>Subject: Re: [PATCH] ASoC: max98373: Added Amplifier Driver
>
>EXTERNAL EMAIL
>
>
>
>Hi Ryan
>
>> Signed-off-by: Ryan Lee <ryans.lee at 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
More information about the Alsa-devel
mailing list