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 03/11] staging: iio: adt7316: fix dac_bits assignment
Date: Sun, 16 Dec 2018 11:37:56 +0000 [thread overview]
Message-ID: <20181216113756.70d76d0a@archlinux> (raw)
In-Reply-To: <20181212005503.28054-4-jeremyfertic@gmail.com>
On Tue, 11 Dec 2018 17:54:55 -0700
Jeremy Fertic <jeremyfertic@gmail.com> wrote:
> The only assignment to dac_bits is in adt7316_store_da_high_resolution().
> This function enables or disables 10 bit dac resolution for the adt7316/7
> and adt7516/7 when they're set to output voltage proportional to
> temperature. Remove these assignments since they're unnecessary for the
> dac high resolution functionality.
>
> Instead, assign a value to dac_bits in adt7316_probe() since the number
> of dac bits might be needed as soon as the device is registered and
> available to userspace.
>
> Signed-off-by: Jeremy Fertic <jeremyfertic@gmail.com>
I'm a little confused as it seems to me that in the orignal code
if we were setting high resolution 'off' we would fall back to 8
bits for either type of device. Now you just have a check on the
device type?
The result will be that we read more bytes than we want to
in show_DAC.
I'd need a pretty strong argument to persuade me it is worth
supporting the 8 bit mode at all btw on devices that will go
higher. It adds interface complexity and the number of usecases
where the saving in bus traffic is worthwhile are probably fairly
few!
Jonathan
> ---
> drivers/staging/iio/addac/adt7316.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c
> index e5e1f9d6357f..a9990e7f2a4d 100644
> --- a/drivers/staging/iio/addac/adt7316.c
> +++ b/drivers/staging/iio/addac/adt7316.c
> @@ -651,17 +651,10 @@ static ssize_t adt7316_store_da_high_resolution(struct device *dev,
> u8 config3;
> int ret;
>
> - chip->dac_bits = 8;
> -
> - if (buf[0] == '1') {
> + if (buf[0] == '1')
> config3 = chip->config3 | ADT7316_DA_HIGH_RESOLUTION;
> - if (chip->id == ID_ADT7316 || chip->id == ID_ADT7516)
> - chip->dac_bits = 12;
> - else if (chip->id == ID_ADT7317 || chip->id == ID_ADT7517)
> - chip->dac_bits = 10;
> - } else {
> + else
> config3 = chip->config3 & (~ADT7316_DA_HIGH_RESOLUTION);
> - }
>
> ret = chip->bus.write(chip->bus.client, ADT7316_CONFIG3, config3);
> if (ret)
> @@ -2123,6 +2116,13 @@ int adt7316_probe(struct device *dev, struct adt7316_bus *bus,
> else
> return -ENODEV;
>
> + if (chip->id == ID_ADT7316 || chip->id == ID_ADT7516)
> + chip->dac_bits = 12;
> + else if (chip->id == ID_ADT7317 || chip->id == ID_ADT7517)
> + chip->dac_bits = 10;
> + else
> + chip->dac_bits = 8;
> +
> chip->ldac_pin = devm_gpiod_get_optional(dev, "adi,ldac", GPIOD_OUT_LOW);
> if (IS_ERR(chip->ldac_pin)) {
> ret = PTR_ERR(chip->ldac_pin);
next prev parent reply other threads:[~2018-12-16 11:38 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 [this message]
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
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=20181216113756.70d76d0a@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).