All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: "Mylène Josserand" <mylene.josserand@bootlin.com>
Cc: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org,
	mark.rutland@arm.com, perex@perex.cz, tiwai@suse.com,
	alsa-devel@alsa-project.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, alexandre.belloni@bootlin.com
Subject: Re: [PATCH v1 1/4] ASoC: codecs: pcm179x: Add PCM1789 id
Date: Tue, 27 Feb 2018 22:51:40 +0100	[thread overview]
Message-ID: <20180227225140.6f9902b8@windsurf.lan> (raw)
In-Reply-To: <20180227212433.2189-2-mylene.josserand@bootlin.com>

Hello,

On Tue, 27 Feb 2018 22:24:30 +0100, Mylène Josserand wrote:
> To prepare the support for the PCM1789, add a new compatible
> and use the i2c_id to handle, later, the differences between
> these two DACs even if they are pretty similar.
> 
> Signed-off-by: Mylène Josserand <mylene.josserand@bootlin.com>
> ---
>  Documentation/devicetree/bindings/sound/pcm179x.txt | 2 +-

The DT binding change should be in a separate patch.

>  sound/soc/codecs/pcm179x-i2c.c                      | 6 ++++--
>  sound/soc/codecs/pcm179x.c                          | 3 ++-
>  sound/soc/codecs/pcm179x.h                          | 8 +++++++-

And this should be together with the PCM1789 support patch. Otherwise
your series is not bisectable: if we apply only PATCH 1/4, the driver
supports the new compatible string, but it doesn't have the actual code
to handle PCM1789. Am I missing something here ?

> -	return pcm179x_common_init(&client->dev, regmap);
> +	return pcm179x_common_init(&client->dev, regmap, id->driver_data);

This can be done in a preparation patch.

>  }
>  
>  static const struct of_device_id pcm179x_of_match[] = {
>  	{ .compatible = "ti,pcm1792a", },
> +	{ .compatible = "ti,pcm1789", },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, pcm179x_of_match);
>  
>  static const struct i2c_device_id pcm179x_i2c_ids[] = {
> -	{ "pcm179x", 0 },
> +	{ "pcm179x", PCM179X },

And also this addition.

> +	{ "pcm1789", PCM1789 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, pcm179x_i2c_ids);
> diff --git a/sound/soc/codecs/pcm179x.c b/sound/soc/codecs/pcm179x.c
> index 4b311c06f97d..81cbf09319f6 100644
> --- a/sound/soc/codecs/pcm179x.c
> +++ b/sound/soc/codecs/pcm179x.c
> @@ -218,7 +218,8 @@ static const struct snd_soc_component_driver soc_component_dev_pcm179x = {
>  	.non_legacy_dai_naming	= 1,
>  };
>  
> -int pcm179x_common_init(struct device *dev, struct regmap *regmap)
> +int pcm179x_common_init(struct device *dev, struct regmap *regmap,
> +			enum pcm17xx_type type)

And this done.

>  {
>  	struct pcm179x_private *pcm179x;
>  
> diff --git a/sound/soc/codecs/pcm179x.h b/sound/soc/codecs/pcm179x.h
> index cf8681c9a373..8c08689e3b8b 100644
> --- a/sound/soc/codecs/pcm179x.h
> +++ b/sound/soc/codecs/pcm179x.h
> @@ -17,11 +17,17 @@
>  #ifndef __PCM179X_H__
>  #define __PCM179X_H__
>  
> +enum pcm17xx_type {
> +	PCM179X,

And this one.

> +	PCM1789,
> +};
> +
>  #define PCM1792A_FORMATS (SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S24_LE | \
>  			  SNDRV_PCM_FMTBIT_S16_LE)
>  
>  extern const struct regmap_config pcm179x_regmap_config;
>  
> -int pcm179x_common_init(struct device *dev, struct regmap *regmap);
> +int pcm179x_common_init(struct device *dev, struct regmap *regmap,
> +			enum pcm17xx_type type);

And this one. Just as a "preparation patch" to support multiple codecs
in the existing pcm179x.c driver.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com

  reply	other threads:[~2018-02-27 21:51 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 21:24 [PATCH v1 0/4] ASoC: Add support for DAC PCM1789 Mylène Josserand
2018-02-27 21:24 ` [PATCH v1 1/4] ASoC: codecs: pcm179x: Add PCM1789 id Mylène Josserand
2018-02-27 21:51   ` Thomas Petazzoni [this message]
2018-03-01  7:43     ` Mylène Josserand
2018-03-01  7:43       ` Mylène Josserand
2018-03-01  9:04       ` Michael Nazzareno Trimarchi
2018-03-01  9:04         ` [alsa-devel] " Michael Nazzareno Trimarchi
2018-03-01 13:53         ` Mylène Josserand
2018-02-27 21:24 ` [PATCH v1 2/4] ASoC: codecs: pcm179x: Add support for PCM1789 Mylène Josserand
2018-02-27 21:56   ` Thomas Petazzoni
2018-03-01  7:47     ` Mylène Josserand
2018-03-01  7:47       ` Mylène Josserand
2018-02-27 21:24 ` [PATCH v1 3/4] ASoC: codecs: pcm179x: Add reset gpio Mylène Josserand
2018-02-27 22:02   ` Thomas Petazzoni
2018-03-01  7:48     ` Mylène Josserand
2018-03-01  7:48       ` Mylène Josserand
2018-02-27 22:30   ` Fabio Estevam
2018-03-01  8:13     ` Mylène Josserand
2018-02-27 21:24 ` [PATCH v1 4/4] ASoC: codecs: pcm179x: Add trigger function to perform a reset Mylène Josserand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180227225140.6f9902b8@windsurf.lan \
    --to=thomas.petazzoni@bootlin.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mylene.josserand@bootlin.com \
    --cc=perex@perex.cz \
    --cc=robh+dt@kernel.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.