[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a7ybo6em.wl%kuninori.morimoto.gx@renesas.com>
Date: Fri, 22 Dec 2017 02:24:12 +0000
From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
To: Ryan Lee <ryans.lee@...imintegrated.com>
Cc: <lgirdwood@...il.com>, <broonie@...nel.org>, <robh+dt@...nel.org>,
<mark.rutland@....com>, <perex@...ex.cz>, <tiwai@...e.com>,
<arnd@...db.de>, <afd@...com>, <robert.jarzmik@...e.fr>,
<supercraig0719@...il.com>, <jbrunet@...libre.com>,
<dannenberg@...com>, <romain.perier@...labora.com>,
<bryce.ferguson@...kwellcollins.com>, <m-stecklein@...com>,
<alsa-devel@...a-project.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <ryan.lee.maxim@...il.com>
Subject: Re: [PATCH] ASoC: max98373: Added Amplifier Driver
Hi Ryan
> Signed-off-by: Ryan Lee <ryans.lee@...imintegrated.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 ?
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
Powered by blists - more mailing lists