[alsa-devel] [PATCH] ASoC: max98373: Added Amplifier Driver

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Dec 22 03:24:12 CET 2017


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 ?

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


More information about the Alsa-devel mailing list