From: Piyush Patle <piyushpatle228@gmail.com>
To: ak@it-klinger.de, jic23@kernel.org
Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v5 09/11] iio: adc: hx711: pass iio_chan_spec to hx711_reset_read
Date: Wed, 29 Apr 2026 11:15:42 +0530 [thread overview]
Message-ID: <20260429054544.123862-10-piyushpatle228@gmail.com> (raw)
In-Reply-To: <20260429054544.123862-1-piyushpatle228@gmail.com>
Change hx711_reset_read() to accept the channel descriptor directly and
update its callers accordingly.
Split the existing HX711 channel-selection work into a small helper so a
later variant-specific change can add a matching helper without growing
hx711_reset_read() further.
No functional change.
Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
---
Changes in v5:
- Use "change" instead of "patch" when referring to the later HX710B
follow-up.
- Extract hx711_set_hx711_channel() so the HX710B patch can add a
matching helper.
- Reindent the triggered-buffer call site as requested.
Changes in v4:
- New patch split out from the earlier refactor during review.
---
drivers/iio/adc/hx711.c | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c
index 15b9f78b6a25..914c6efd0f96 100644
--- a/drivers/iio/adc/hx711.c
+++ b/drivers/iio/adc/hx711.c
@@ -264,7 +264,22 @@ static int hx711_set_gain_for_channel(struct hx711_data *hx711_data, int chan)
return 0;
}
-static int hx711_reset_read(struct hx711_data *hx711_data, int chan)
+static int hx711_set_hx711_channel(struct hx711_data *hx711_data,
+ const struct iio_chan_spec *chan,
+ int *trailing_pulses)
+{
+ int ret;
+
+ ret = hx711_set_gain_for_channel(hx711_data, chan->channel);
+ if (ret < 0)
+ return ret;
+
+ *trailing_pulses = hx711_get_gain_to_pulse(hx711_data->gain_set);
+ return 0;
+}
+
+static int hx711_reset_read(struct hx711_data *hx711_data,
+ const struct iio_chan_spec *chan)
{
int trailing_pulses;
int ret;
@@ -278,11 +293,10 @@ static int hx711_reset_read(struct hx711_data *hx711_data, int chan)
return -EIO;
}
- ret = hx711_set_gain_for_channel(hx711_data, chan);
+ ret = hx711_set_hx711_channel(hx711_data, chan, &trailing_pulses);
if (ret < 0)
return ret;
- trailing_pulses = hx711_get_gain_to_pulse(hx711_data->gain_set);
return hx711_read(hx711_data, trailing_pulses);
}
@@ -296,7 +310,7 @@ static int hx711_read_raw(struct iio_dev *indio_dev,
case IIO_CHAN_INFO_RAW:
mutex_lock(&hx711_data->lock);
- *val = hx711_reset_read(hx711_data, chan->channel);
+ *val = hx711_reset_read(hx711_data, chan);
mutex_unlock(&hx711_data->lock);
@@ -386,8 +400,8 @@ static irqreturn_t hx711_trigger(int irq, void *p)
memset(&hx711_data->buffer, 0, sizeof(hx711_data->buffer));
iio_for_each_active_channel(indio_dev, i) {
- hx711_data->buffer.channel[j] = hx711_reset_read(hx711_data,
- indio_dev->channels[i].channel);
+ hx711_data->buffer.channel[j] =
+ hx711_reset_read(hx711_data, &indio_dev->channels[i]);
j++;
}
--
2.43.0
next prev parent reply other threads:[~2026-04-29 5:46 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-29 5:45 [PATCH v5 0/11] iio: adc: hx711: add HX710B support Piyush Patle
2026-04-29 5:45 ` [PATCH v5 01/11] dt-bindings: iio: adc: hx711: clean up existing binding text Piyush Patle
2026-04-29 5:45 ` [PATCH v5 02/11] dt-bindings: iio: adc: hx711: add VSUP supply property Piyush Patle
2026-04-29 5:45 ` [PATCH v5 03/11] dt-bindings: iio: adc: hx711: add RATE GPIO property Piyush Patle
2026-04-29 5:45 ` [PATCH v5 04/11] dt-bindings: iio: adc: hx711: add HX710B support Piyush Patle
2026-04-29 5:45 ` [PATCH v5 05/11] iio: adc: hx711: move scale computation to per-device storage Piyush Patle
2026-04-29 18:41 ` Andy Shevchenko
2026-04-29 5:45 ` [PATCH v5 06/11] iio: adc: hx711: introduce hx711_chip_info structure Piyush Patle
2026-04-29 18:44 ` Andy Shevchenko
2026-04-29 5:45 ` [PATCH v5 07/11] iio: adc: hx711: pass trailing pulse count into hx711_read Piyush Patle
2026-04-29 18:53 ` Andy Shevchenko
2026-04-29 5:45 ` [PATCH v5 08/11] iio: adc: hx711: localize loop iterators in hx711_read Piyush Patle
2026-04-29 15:01 ` Joshua Crofts
2026-04-29 18:51 ` Andy Shevchenko
2026-04-29 18:49 ` Andy Shevchenko
2026-04-29 5:45 ` Piyush Patle [this message]
2026-04-29 18:54 ` [PATCH v5 09/11] iio: adc: hx711: pass iio_chan_spec to hx711_reset_read Andy Shevchenko
2026-04-29 5:45 ` [PATCH v5 10/11] iio: adc: hx711: split hx711_reset variable assignment Piyush Patle
2026-04-29 18:55 ` Andy Shevchenko
2026-04-29 5:45 ` [PATCH v5 11/11] iio: adc: hx711: add support for HX710B Piyush Patle
2026-04-29 19:06 ` Andy Shevchenko
2026-05-04 15:56 ` Jonathan Cameron
2026-04-29 19:08 ` [PATCH v5 0/11] iio: adc: hx711: add HX710B support Andy Shevchenko
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=20260429054544.123862-10-piyushpatle228@gmail.com \
--to=piyushpatle228@gmail.com \
--cc=ak@it-klinger.de \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox