All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Popa, Stefan Serban" <StefanSerban.Popa@analog.com>
To: "adam.michaelis@collins.com" <adam.michaelis@collins.com>,
	"jic23@kernel.org" <jic23@kernel.org>
Cc: "lars@metafoo.de" <lars@metafoo.de>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"knaack.h@gmx.de" <knaack.h@gmx.de>,
	"Ardelean, Alexandru" <alexandru.Ardelean@analog.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"charles-antoine.couret@essensium.com" 
	<charles-antoine.couret@essensium.com>,
	"Hennerich, Michael" <Michael.Hennerich@analog.com>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	"clayton.shotwell@rockwellcollins.com" 
	<clayton.shotwell@rockwellcollins.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"pmeerw@pmeerw.net" <pmeerw@pmeerw.net>,
	"brandon.maier@rockwellcollins.com" 
	<brandon.maier@rockwellcollins.com>
Subject: Re: [PATCH v2 3/6] iio: ad7949: Support configuration read-back
Date: Mon, 13 May 2019 10:04:47 +0000	[thread overview]
Message-ID: <1557741886.29142.3.camel@analog.com> (raw)
In-Reply-To: <20190511113112.2da6385d@archlinux>

On Sb, 2019-05-11 at 11:31 +0100, Jonathan Cameron wrote:
> [External]
> 
> 
> On Tue, 7 May 2019 14:53:32 -0500
> Adam Michaelis <adam.michaelis@collins.com> wrote:
> 
> > 
> > On Sun, May 5, 2019 at 9:42 AM Jonathan Cameron <jic23@kernel.org>
> > wrote:
> > > 
> > > 
> > > On Thu,  2 May 2019 11:14:29 -0500
> > > Adam Michaelis <adam.michaelis@rockwellcollins.com> wrote:
> > > 
> > > > 
> > > > Adds device tree parameter to set the configuration read-back bit
> > > > in the configuration register to tell the AD7949 to include the
> > > > value of
> > > > the configuration register at the time the current sample was
> > > > acquired
> > > > when reading from the part.
> > > > 
> > > > Further work must be done to make read-back information available
> > > > to
> > > > consumer.
> > > This needs some explanation of why it is useful at all. I'm certainly
> > > unclear
> > > on why it would be useful to configure this at boot time.
> > > 
> > > Code looks fine.
> > > 
> > > Jonathan
> > > 
> > The configuration read-back feature is being maintained from the
> > original version of this driver. Before adding the device tree entry,
> > there was no way to change this setting other than debugfs raw access
> > to the SPI interface, and there is still no access to the returned
> > configuration data should the feature be enabled. I would be willing
> > to remove the feature altogether, but wanted to tread softly on
> > existing features.
> Ah. Makes sense.  My gut feeling is to drop it.
> 
> Anyone at Analog have a view on this?
> 
> Thanks,
> 
> Jonathan
> 

Hi, 

It is not obvious to me why this feature would be useful. I would not add
it.

Regards,
-Stefan

> > 
> > 
> > Adam
> > > 
> > > > 
> > > > 
> > > > Signed-off-by: Adam Michaelis <adam.michaelis@rockwellcollins.com>
> > > > ---
> > > >       V2: Add some defines to reduce use of magic numbers.
> > > > ---
> > > >  drivers/iio/adc/ad7949.c | 12 +++++++++++-
> > > >  1 file changed, 11 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/iio/adc/ad7949.c b/drivers/iio/adc/ad7949.c
> > > > index afc1361af5fb..7820e1097787 100644
> > > > --- a/drivers/iio/adc/ad7949.c
> > > > +++ b/drivers/iio/adc/ad7949.c
> > > > @@ -69,6 +69,7 @@ struct ad7949_adc_spec {
> > > >   * @iio_dev: reference to iio structure
> > > >   * @spi: reference to spi structure
> > > >   * @ref_sel: selected reference voltage source
> > > > + * @cfg_readback: whether reads will include configuration data
> > > >   * @resolution: resolution of the chip
> > > >   * @cfg: copy of the configuration register
> > > >   * @current_channel: current channel in use
> > > > @@ -80,6 +81,7 @@ struct ad7949_adc_chip {
> > > >       struct iio_dev *indio_dev;
> > > >       struct spi_device *spi;
> > > >       enum ad7949_ref_sel ref_sel;
> > > > +     bool cfg_readback;
> > > >       u8 resolution;
> > > >       u16 cfg;
> > > >       unsigned int current_channel;
> > > > @@ -283,7 +285,11 @@ static int ad7949_spi_init(struct
> > > > ad7949_adc_chip *ad7949_adc)
> > > >                       AD7949_CFG_REF_SEL_MASK;
> > > >       adc_config |= (AD7949_CFG_SEQ_DISABLED <<
> > > > AD7949_CFG_SEQ_SHIFT) &
> > > >                       AD7949_CFG_SEQ_MASK;
> > > > -     adc_config |= AD7949_CFG_READBACK_DIS;
> > > > +
> > > > +     if (ad7949_adc->cfg_readback)
> > > > +             adc_config |= AD7949_CFG_READBACK_EN;
> > > > +     else
> > > > +             adc_config |= AD7949_CFG_READBACK_DIS;
> > > > 
> > > >       ret = ad7949_spi_write_cfg(ad7949_adc,
> > > >                       adc_config,
> > > > @@ -331,6 +337,10 @@ static int ad7949_spi_probe(struct spi_device
> > > > *spi)
> > > >       indio_dev->num_channels = spec->num_channels;
> > > >       ad7949_adc->resolution = spec->resolution;
> > > > 
> > > > +     ad7949_adc->cfg_readback = of_property_read_bool(
> > > > +                     ad7949_adc->indio_dev->dev.of_node,
> > > > +                     "adi,cfg-readback");
> > > > +
> > > >       ret = of_property_read_u32(ad7949_adc->indio_dev-
> > > > >dev.of_node,
> > > >                       "adi,reference-select",
> > > >                       &temp);
> > --

WARNING: multiple messages have this Message-ID (diff)
From: "Popa, Stefan Serban" <StefanSerban.Popa@analog.com>
To: "adam.michaelis@collins.com" <adam.michaelis@collins.com>,
	"jic23@kernel.org" <jic23@kernel.org>
Cc: "lars@metafoo.de" <lars@metafoo.de>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"knaack.h@gmx.de" <knaack.h@gmx.de>,
	"Ardelean," Alexandru" <alexandru.Ardelean@analog.com>,
	"devicetree@vger.kernel.orgdevicetree@vger.kernel.org,
	"charles-antoine.couret@essensium.com"
	<charles-antoine.couret@essensium.com>,
	"Hennerich, Michael" <Michael.Hennerich@analog.com>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	"clayton.shotwell@rockwellcollins.com"
	<clayton.shotwell@rockwellcollins.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"pmeerw@pmeerw.net" <pmeerw@pmeerw.net>,
	"brandon.maier@rockwellcollins.com"
	<brandon.maier@rockwellcollins.com>
Subject: Re: [PATCH v2 3/6] iio: ad7949: Support configuration read-back
Date: Mon, 13 May 2019 10:04:47 +0000	[thread overview]
Message-ID: <1557741886.29142.3.camel@analog.com> (raw)
In-Reply-To: <20190511113112.2da6385d@archlinux>

On Sb, 2019-05-11 at 11:31 +0100, Jonathan Cameron wrote:
> [External]
> 
> 
> On Tue, 7 May 2019 14:53:32 -0500
> Adam Michaelis <adam.michaelis@collins.com> wrote:
> 
> > 
> > On Sun, May 5, 2019 at 9:42 AM Jonathan Cameron <jic23@kernel.org>
> > wrote:
> > > 
> > > 
> > > On Thu,  2 May 2019 11:14:29 -0500
> > > Adam Michaelis <adam.michaelis@rockwellcollins.com> wrote:
> > > 
> > > > 
> > > > Adds device tree parameter to set the configuration read-back bit
> > > > in the configuration register to tell the AD7949 to include the
> > > > value of
> > > > the configuration register at the time the current sample was
> > > > acquired
> > > > when reading from the part.
> > > > 
> > > > Further work must be done to make read-back information available
> > > > to
> > > > consumer.
> > > This needs some explanation of why it is useful at all. I'm certainly
> > > unclear
> > > on why it would be useful to configure this at boot time.
> > > 
> > > Code looks fine.
> > > 
> > > Jonathan
> > > 
> > The configuration read-back feature is being maintained from the
> > original version of this driver. Before adding the device tree entry,
> > there was no way to change this setting other than debugfs raw access
> > to the SPI interface, and there is still no access to the returned
> > configuration data should the feature be enabled. I would be willing
> > to remove the feature altogether, but wanted to tread softly on
> > existing features.
> Ah. Makes sense.  My gut feeling is to drop it.
> 
> Anyone at Analog have a view on this?
> 
> Thanks,
> 
> Jonathan
> 

Hi, 

It is not obvious to me why this feature would be useful. I would not add
it.

Regards,
-Stefan

> > 
> > 
> > Adam
> > > 
> > > > 
> > > > 
> > > > Signed-off-by: Adam Michaelis <adam.michaelis@rockwellcollins.com>
> > > > ---
> > > >       V2: Add some defines to reduce use of magic numbers.
> > > > ---
> > > >  drivers/iio/adc/ad7949.c | 12 +++++++++++-
> > > >  1 file changed, 11 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/iio/adc/ad7949.c b/drivers/iio/adc/ad7949.c
> > > > index afc1361af5fb..7820e1097787 100644
> > > > --- a/drivers/iio/adc/ad7949.c
> > > > +++ b/drivers/iio/adc/ad7949.c
> > > > @@ -69,6 +69,7 @@ struct ad7949_adc_spec {
> > > >   * @iio_dev: reference to iio structure
> > > >   * @spi: reference to spi structure
> > > >   * @ref_sel: selected reference voltage source
> > > > + * @cfg_readback: whether reads will include configuration data
> > > >   * @resolution: resolution of the chip
> > > >   * @cfg: copy of the configuration register
> > > >   * @current_channel: current channel in use
> > > > @@ -80,6 +81,7 @@ struct ad7949_adc_chip {
> > > >       struct iio_dev *indio_dev;
> > > >       struct spi_device *spi;
> > > >       enum ad7949_ref_sel ref_sel;
> > > > +     bool cfg_readback;
> > > >       u8 resolution;
> > > >       u16 cfg;
> > > >       unsigned int current_channel;
> > > > @@ -283,7 +285,11 @@ static int ad7949_spi_init(struct
> > > > ad7949_adc_chip *ad7949_adc)
> > > >                       AD7949_CFG_REF_SEL_MASK;
> > > >       adc_config |= (AD7949_CFG_SEQ_DISABLED <<
> > > > AD7949_CFG_SEQ_SHIFT) &
> > > >                       AD7949_CFG_SEQ_MASK;
> > > > -     adc_config |= AD7949_CFG_READBACK_DIS;
> > > > +
> > > > +     if (ad7949_adc->cfg_readback)
> > > > +             adc_config |= AD7949_CFG_READBACK_EN;
> > > > +     else
> > > > +             adc_config |= AD7949_CFG_READBACK_DIS;
> > > > 
> > > >       ret = ad7949_spi_write_cfg(ad7949_adc,
> > > >                       adc_config,
> > > > @@ -331,6 +337,10 @@ static int ad7949_spi_probe(struct spi_device
> > > > *spi)
> > > >       indio_dev->num_channels = spec->num_channels;
> > > >       ad7949_adc->resolution = spec->resolution;
> > > > 
> > > > +     ad7949_adc->cfg_readback = of_property_read_bool(
> > > > +                     ad7949_adc->indio_dev->dev.of_node,
> > > > +                     "adi,cfg-readback");
> > > > +
> > > >       ret = of_property_read_u32(ad7949_adc->indio_dev-
> > > > >dev.of_node,
> > > >                       "adi,reference-select",
> > > >                       &temp);
> > --

  reply	other threads:[~2019-05-13 10:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-02 16:14 [PATCH v2 1/6] iio: ad7949: Support internal Vref Adam Michaelis
2019-05-02 16:14 ` [PATCH v2 2/6] dt-bindings: iio: ad7949: Add adi,reference-select Adam Michaelis
2019-05-05 14:33   ` Jonathan Cameron
2019-05-02 16:14 ` [PATCH v2 3/6] iio: ad7949: Support configuration read-back Adam Michaelis
2019-05-05 14:42   ` Jonathan Cameron
2019-05-06 19:32     ` Adam Michaelis
2019-05-07 19:53     ` Adam Michaelis
2019-05-11 10:31       ` Jonathan Cameron
2019-05-13 10:04         ` Popa, Stefan Serban [this message]
2019-05-13 10:04           ` Popa, Stefan Serban
2019-05-13 14:52           ` [External] " Adam Michaelis
2019-05-24 12:02       ` Couret Charles-Antoine
2019-05-02 16:14 ` [PATCH v2 4/6] dt-bindings: iio: ad7949: Add cfg-readback option Adam Michaelis
2019-05-02 16:14 ` [PATCH v2 5/6] iio: ad7949: Fix SPI interfacing for 14-bit messages Adam Michaelis
2019-05-05 15:06   ` Jonathan Cameron
2019-05-02 16:14 ` [PATCH v2 6/6] iio: ad7949: Fix dummy read cycle placement Adam Michaelis
2019-05-05 15:08   ` Jonathan Cameron
2019-05-05 14:39 ` [PATCH v2 1/6] iio: ad7949: Support internal Vref Jonathan Cameron

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=1557741886.29142.3.camel@analog.com \
    --to=stefanserban.popa@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=adam.michaelis@collins.com \
    --cc=alexandru.Ardelean@analog.com \
    --cc=brandon.maier@rockwellcollins.com \
    --cc=charles-antoine.couret@essensium.com \
    --cc=clayton.shotwell@rockwellcollins.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    /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.