Received: by 10.223.185.116 with SMTP id b49csp5462493wrg; Tue, 27 Feb 2018 13:53:12 -0800 (PST) X-Google-Smtp-Source: AH8x2279ev5h67uc5ENwR3sRz8WxgIJ4f6/x7f5/byNuLJdFomdR+ZWutSOuxV+q2aRLMh7rvL+8 X-Received: by 10.98.10.219 with SMTP id 88mr15494487pfk.202.1519768392643; Tue, 27 Feb 2018 13:53:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519768392; cv=none; d=google.com; s=arc-20160816; b=zpe6c7YFRT70Uj+Tulj/1pMVLJaVOA7+Ve7D9psiWkVwFdmwwcr1aMrOzMN89TQqgs HIcDXZ3ftYv8+0e+4cREqmrz6rtRWjTi9GelxdDVcwL/KAR9viXrQ1QysmFkldPSj9nE wiWvkKTLasECHzOjXz7NX7E2PBx48GTtWXwRt4QU9/FfhEGu1WfmlqVySIYZcO4vpg1i C9HcafG+dUT+qmLHrR37l0MdhuKZG9NICBGaO9hEDD3WObcio7nP1+V4ul9dBoVfvMYu VEmzOiPXxMqCLLtZe2+CeFgMDKJtuQF7dA2WoHeOwjIA+S1E8PvzlVz4No0jbCU+/AG8 1v7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date:arc-authentication-results; bh=k3Ea4kzJX9AN9Ts9nhm4SZjI67sRaQDX6tIhu5MzB+E=; b=qrqCkdsVNu68YEn8HukU1T3owQOiTTNoUn4YvFC3Il5G/4VvPb13mDhaPz8KvB/t1m j/bXCkoRFSJ3oPIw/ZuDlWlNdFPAN6cDOuY3kwv95kXqgw8yNL74g6KYu4pOXifI/6hO I0wuY47h4BWosB3CNRq5vASQo5xKMLaTmQuJ3cX+PCMbGQxoT1fVGTTQShLyBVUYSzKf fUltfJQrQDd1RHPaEpYGy0VScFuX3n7RDlayGnxKgSVDZzz16OfAbLo2N1Ska4dmre+q KyBmHSAerwiQe7JMX/NozDs97nkMs7xR6x0OMNsgLDwbjLutiUwlJF6k8H4spGu2v90Y /4IA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t3si83579pgc.81.2018.02.27.13.52.57; Tue, 27 Feb 2018 13:53:12 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751965AbeB0Vvo convert rfc822-to-8bit (ORCPT + 99 others); Tue, 27 Feb 2018 16:51:44 -0500 Received: from mail.bootlin.com ([62.4.15.54]:40032 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751590AbeB0Vvn (ORCPT ); Tue, 27 Feb 2018 16:51:43 -0500 Received: by mail.bootlin.com (Postfix, from userid 110) id 5744D2037F; Tue, 27 Feb 2018 22:51:40 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from windsurf.lan (LFbn-1-2142-168.w90-76.abo.wanadoo.fr [90.76.200.168]) by mail.bootlin.com (Postfix) with ESMTPSA id D600920376; Tue, 27 Feb 2018 22:51:39 +0100 (CET) Date: Tue, 27 Feb 2018 22:51:40 +0100 From: Thomas Petazzoni To: =?UTF-8?B?TXlsw6huZQ==?= Josserand 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 Message-ID: <20180227225140.6f9902b8@windsurf.lan> In-Reply-To: <20180227212433.2189-2-mylene.josserand@bootlin.com> References: <20180227212433.2189-1-mylene.josserand@bootlin.com> <20180227212433.2189-2-mylene.josserand@bootlin.com> Organization: Bootlin (formerly Free Electrons) X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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