diff mbox series

[v3,6/6] staging:iio:ad2s90: Check channel type at read_raw

Message ID 20181103224948.31014-7-matheus.bernardino@usp.br (mailing list archive)
State New, archived
Headers show
Series staging:iio:ad2s90: Add scale info and improve error handling | expand

Commit Message

Matheus Tavares Nov. 3, 2018, 10:49 p.m. UTC
This patch adds a channel type check at the beginning of the
ad2s90_read_raw function. Since ad2s90 has only one channel, it just
checks if the given channel is the expected one and if not, return
-EINVAL.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
---
 drivers/staging/iio/resolver/ad2s90.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jonathan Cameron Nov. 4, 2018, 4:51 p.m. UTC | #1
On Sat,  3 Nov 2018 19:49:48 -0300
Matheus Tavares <matheus.bernardino@usp.br> wrote:

> This patch adds a channel type check at the beginning of the
> ad2s90_read_raw function. Since ad2s90 has only one channel, it just
> checks if the given channel is the expected one and if not, return
> -EINVAL.
> 
> Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>

Given you can't actually get here with another channel type by any
valid means, this is more a form of code as documentation than anything
else.  Still it does no harm and arguably does make it easier to read.

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

A nice little clean up series.  Thanks!

Jonathan
> ---
>  drivers/staging/iio/resolver/ad2s90.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c
> index 9c168b7410d0..3e257ac46f7a 100644
> --- a/drivers/staging/iio/resolver/ad2s90.c
> +++ b/drivers/staging/iio/resolver/ad2s90.c
> @@ -34,6 +34,9 @@ static int ad2s90_read_raw(struct iio_dev *indio_dev,
>  	int ret;
>  	struct ad2s90_state *st = iio_priv(indio_dev);
>  
> +	if (chan->type != IIO_ANGL)
> +		return -EINVAL;
> +
>  	switch (m) {
>  	case IIO_CHAN_INFO_SCALE:
>  		/* 2 * Pi / 2^12 */
diff mbox series

Patch

diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c
index 9c168b7410d0..3e257ac46f7a 100644
--- a/drivers/staging/iio/resolver/ad2s90.c
+++ b/drivers/staging/iio/resolver/ad2s90.c
@@ -34,6 +34,9 @@  static int ad2s90_read_raw(struct iio_dev *indio_dev,
 	int ret;
 	struct ad2s90_state *st = iio_priv(indio_dev);
 
+	if (chan->type != IIO_ANGL)
+		return -EINVAL;
+
 	switch (m) {
 	case IIO_CHAN_INFO_SCALE:
 		/* 2 * Pi / 2^12 */