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 ?

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

Reply via email to