All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: Lars-Peter Clausen <lars@metafoo.de>,
	Michael Hennerich <Michael.Hennerich@analog.com>,
	Alexandru Ardelean <aardelean@deviqon.com>,
	Robh+dt@kernel.org, Alexandru Ardelean <ardeleanalex@gmail.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Alexandru Ardelean <alexandru.ardelean@analog.com>
Subject: [PATCH v2 03/24] staging:iio:cdc:ad7150: Refactor event parameter update
Date: Sun, 14 Mar 2021 18:14:50 +0000	[thread overview]
Message-ID: <20210314181511.531414-4-jic23@kernel.org> (raw)
In-Reply-To: <20210314181511.531414-1-jic23@kernel.org>

From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Original code was ordered in a fairly unituitive fashion with
the non adaptive threshold handling returning from the switch
statement, whilst the adapative path did the actual writes outside
the switch.   Make it more readable by bringing everything within
the switch statement cases and reducing scope of local variables
as appropriate.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20210207154623.433442-4-jic23@kernel.org
---
 drivers/staging/iio/cdc/ad7150.c | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c
index 4dac4aaec0cf..d6a7bfd94f1c 100644
--- a/drivers/staging/iio/cdc/ad7150.c
+++ b/drivers/staging/iio/cdc/ad7150.c
@@ -163,9 +163,6 @@ static int ad7150_write_event_params(struct iio_dev *indio_dev,
 				     enum iio_event_type type,
 				     enum iio_event_direction dir)
 {
-	int ret;
-	u16 value;
-	u8 sens, timeout;
 	struct ad7150_chip_info *chip = iio_priv(indio_dev);
 	int rising = (dir == IIO_EV_DIR_RISING);
 	u64 event_code;
@@ -177,26 +174,31 @@ static int ad7150_write_event_params(struct iio_dev *indio_dev,
 
 	switch (type) {
 		/* Note completely different from the adaptive versions */
-	case IIO_EV_TYPE_THRESH:
-		value = chip->threshold[rising][chan];
+	case IIO_EV_TYPE_THRESH: {
+		u16 value = chip->threshold[rising][chan];
 		return i2c_smbus_write_word_swapped(chip->client,
 						    ad7150_addresses[chan][3],
 						    value);
-	case IIO_EV_TYPE_THRESH_ADAPTIVE:
+	}
+	case IIO_EV_TYPE_THRESH_ADAPTIVE: {
+		int ret;
+		u8 sens, timeout;
+
 		sens = chip->thresh_sensitivity[rising][chan];
+		ret = i2c_smbus_write_byte_data(chip->client,
+						ad7150_addresses[chan][4],
+						sens);
+		if (ret)
+			return ret;
+
 		timeout = chip->thresh_timeout[rising][chan];
-		break;
+		return i2c_smbus_write_byte_data(chip->client,
+						 ad7150_addresses[chan][5],
+						 timeout);
+	}
 	default:
 		return -EINVAL;
 	}
-	ret = i2c_smbus_write_byte_data(chip->client,
-					ad7150_addresses[chan][4],
-					sens);
-	if (ret)
-		return ret;
-	return i2c_smbus_write_byte_data(chip->client,
-					ad7150_addresses[chan][5],
-					timeout);
 }
 
 static int ad7150_write_event_config(struct iio_dev *indio_dev,
-- 
2.30.2


  parent reply	other threads:[~2021-03-14 18:18 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-14 18:14 [PATCH v2 00/24] staging:iio:cdc:ad7150: cleanup / fixup / graduate Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 01/24] staging:iio:cdc:ad7150: use swapped reads for i2c rather than open coding Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 02/24] staging:iio:cdc:ad7150: Remove magnitude adaptive events Jonathan Cameron
2021-03-14 18:14 ` Jonathan Cameron [this message]
2021-03-14 18:14 ` [PATCH v2 04/24] staging:iio:cdc:ad7150: Timeout register covers both directions so both need updating Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 05/24] staging:iio:cdc:ad7150: Drop platform data support Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 06/24] staging:iio:cdc:ad7150: Handle variation in chan_spec across device and irq present or not Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 07/24] staging:iio:cdc:ad7150: Simplify event handling by only using rising direction Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 08/24] staging:iio:cdc:ad7150: Drop noisy print in probe Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 09/24] staging:iio:cdc:ad7150: Add sampling_frequency support Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 10/24] iio:event: Add timeout event info type Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 11/24] staging:iio:cdc:ad7150: Change timeout units to seconds and use core support Jonathan Cameron
2021-03-14 18:14 ` [PATCH v2 12/24] staging:iio:cdc:ad7150: Rework interrupt handling Jonathan Cameron
2021-03-31  7:29   ` Alexandru Ardelean
2021-03-31 12:05     ` Jonathan Cameron
2021-04-01  7:42       ` Alexandru Ardelean
2021-03-14 18:15 ` [PATCH v2 13/24] staging:iio:cdc:ad7150: More consistent register and field naming Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 14/24] staging:iio:cdc:ad7150: Reorganize headers Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 15/24] staging:iio:cdc:ad7150: Tidy up local variable positioning Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 16/24] staging:iio:cdc:ad7150: Drop unnecessary block comments Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 17/24] staging:iio:cdc:ad7150: Shift the _raw readings by 4 bits Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 18/24] staging:iio:cdc:ad7150: Add scale and offset to info_mask_shared_by_type Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 19/24] staging:iio:cdc:ad7150: Really basic regulator support Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 20/24] staging:iio:cdc:ad7150: Add of_match_table Jonathan Cameron
2021-03-31  6:42   ` Alexandru Ardelean
2021-03-14 18:15 ` [PATCH v2 21/24] iio:Documentation:ABI Add missing elements as used by the adi,ad7150 Jonathan Cameron
2021-03-31  6:45   ` Alexandru Ardelean
2021-03-14 18:15 ` [PATCH v2 22/24] staging:iio:cdc:ad7150: Add copyright notice given substantial changes Jonathan Cameron
2021-03-14 18:15 ` [PATCH v2 23/24] dt-bindings:iio:cdc:adi,ad7150 binding doc Jonathan Cameron
2021-03-24 17:13   ` Rob Herring
2021-03-14 18:15 ` [PATCH v2 24/24] iio:cdc:ad7150: Move driver out of staging Jonathan Cameron
2021-03-29 15:30 ` [PATCH v2 00/24] staging:iio:cdc:ad7150: cleanup / fixup / graduate Jonathan Cameron
2021-03-29 15:36   ` Jonathan Cameron
2021-03-30 21:23     ` Song Bao Hua (Barry Song)
2021-03-31 12:13       ` Jonathan Cameron
2021-04-01 10:15         ` Song Bao Hua (Barry Song)
2021-04-01 13:05           ` 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=20210314181511.531414-4-jic23@kernel.org \
    --to=jic23@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=Robh+dt@kernel.org \
    --cc=aardelean@deviqon.com \
    --cc=alexandru.ardelean@analog.com \
    --cc=ardeleanalex@gmail.com \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.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.