linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Jeremy Fertic <jeremyfertic@gmail.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
	Michael Hennerich <Michael.Hennerich@analog.com>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, devel@driverdev.osuosl.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10/11] staging: iio: adt7316: change interpretation of write to dac update mode
Date: Sun, 16 Dec 2018 11:59:17 +0000	[thread overview]
Message-ID: <20181216115917.0c9739eb@archlinux> (raw)
In-Reply-To: <20181212005503.28054-11-jeremyfertic@gmail.com>

On Tue, 11 Dec 2018 17:55:02 -0700
Jeremy Fertic <jeremyfertic@gmail.com> wrote:

> Based on the output of adt7316_show_all_DAC_update_modes() and
> adt7316_show_DAC_update_mode(), adt7316_store_DAC_update_mode() should
> expect the user to enter an integer input from 0 to 3. The user input is
> currently expected to account for the actual bit positions in the register.
> For example, choosing option 3 would require a write of 0x30 (actually 48
> since it expects base 10). To address this inconsistency, create a shift
> macro to be used in the valid input check as well as the calculation for
> the register write.
> 
> Signed-off-by: Jeremy Fertic <jeremyfertic@gmail.com>
As I mentioned, long term this interface is going to need to be replaced
with something more generic.  Probably something like the power down
modes where we use a string to describe what is going on on.

Still this is a step in the right direction even if we may go further
shortly!

Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it,

Thanks,

Jonathan

> ---
> I'm not sure if this patch is appropriate since it's making a user visible
> change. I've included it since the driver is still in staging.
> 
>  drivers/staging/iio/addac/adt7316.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c
> index bca599d8c51c..58b462ad0c83 100644
> --- a/drivers/staging/iio/addac/adt7316.c
> +++ b/drivers/staging/iio/addac/adt7316.c
> @@ -129,6 +129,7 @@
>   */
>  #define ADT7316_DA_2VREF_CH_MASK	0xF
>  #define ADT7316_DA_EN_MODE_MASK		0x30
> +#define ADT7316_DA_EN_MODE_SHIFT	4
>  #define ADT7316_DA_EN_MODE_SINGLE	0x00
>  #define ADT7316_DA_EN_MODE_AB_CD	0x10
>  #define ADT7316_DA_EN_MODE_ABCD		0x20
> @@ -879,11 +880,11 @@ static ssize_t adt7316_store_DAC_update_mode(struct device *dev,
>  		return -EPERM;
>  
>  	ret = kstrtou8(buf, 10, &data);
> -	if (ret || data > ADT7316_DA_EN_MODE_MASK)
> +	if (ret || data > (ADT7316_DA_EN_MODE_MASK >> ADT7316_DA_EN_MODE_SHIFT))
>  		return -EINVAL;
>  
>  	dac_config = chip->dac_config & (~ADT7316_DA_EN_MODE_MASK);
> -	dac_config |= data;
> +	dac_config |= data << ADT7316_DA_EN_MODE_SHIFT;
>  
>  	ret = chip->bus.write(chip->bus.client, ADT7316_DAC_CONFIG, dac_config);
>  	if (ret)


  parent reply	other threads:[~2018-12-16 11:59 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12  0:54 [PATCH 00/11] staging: iio: adt7316: dac fixes Jeremy Fertic
2018-12-12  0:54 ` [PATCH 01/11] staging: iio: adt7316: fix register and bit definitions Jeremy Fertic
2018-12-16 11:19   ` Jonathan Cameron
2018-12-12  0:54 ` [PATCH 02/11] staging: iio: adt7316: invert the logic of the check for an ldac pin Jeremy Fertic
2018-12-12  8:19   ` Dan Carpenter
2018-12-13 22:06     ` Jeremy Fertic
2018-12-14  6:18       ` Dan Carpenter
2018-12-16 11:23         ` Jonathan Cameron
2018-12-12  0:54 ` [PATCH 03/11] staging: iio: adt7316: fix dac_bits assignment Jeremy Fertic
2018-12-16 11:37   ` Jonathan Cameron
2018-12-17 21:30     ` Jeremy Fertic
2018-12-22 18:03       ` Jonathan Cameron
2018-12-22 18:03         ` Jonathan Cameron
2018-12-12  0:54 ` [PATCH 04/11] staging: iio: adt7316: fix handling of dac high resolution option Jeremy Fertic
2018-12-12  8:23   ` Dan Carpenter
2018-12-13 22:01     ` Jeremy Fertic
2018-12-14  6:26       ` Dan Carpenter
2018-12-14 21:29         ` Jeremy Fertic
2018-12-12  0:54 ` [PATCH 05/11] staging: iio: adt7316: fix the dac read calculation Jeremy Fertic
2018-12-16 11:45   ` Jonathan Cameron
2018-12-12  0:54 ` [PATCH 06/11] staging: iio: adt7316: fix the dac write calculation Jeremy Fertic
2018-12-16 11:47   ` Jonathan Cameron
2018-12-12  0:54 ` [PATCH 07/11] staging: iio: adt7316: use correct variable in DAC_internal_Vref read Jeremy Fertic
2018-12-16 11:51   ` Jonathan Cameron
2018-12-12  0:55 ` [PATCH 08/11] staging: iio: adt7316: allow adt751x to use internal vref for all dacs Jeremy Fertic
2018-12-16 11:54   ` Jonathan Cameron
2018-12-12  0:55 ` [PATCH 09/11] staging: iio: adt7316: remove dac vref buffer bypass from adt751x Jeremy Fertic
2018-12-16 11:56   ` Jonathan Cameron
2018-12-12  0:55 ` [PATCH 10/11] staging: iio: adt7316: change interpretation of write to dac update mode Jeremy Fertic
2018-12-12  8:31   ` Dan Carpenter
2018-12-12 11:05     ` Jonathan Cameron
2018-12-16 11:59   ` Jonathan Cameron [this message]
2018-12-12  0:55 ` [PATCH 11/11] staging: iio: adt7316: correct spelling of ADT7316_DA_EN_VIA_DAC_LDCA Jeremy Fertic
2018-12-16 12:00   ` 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=20181216115917.0c9739eb@archlinux \
    --to=jic23@kernel.org \
    --cc=Michael.Hennerich@analog.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jeremyfertic@gmail.com \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).