Message ID | 20230612122926.107333-8-herve.codina@bootlin.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for IIO devices in ASoC | expand |
On Mon, Jun 12, 2023 at 3:30 PM Herve Codina <herve.codina@bootlin.com> wrote: > > Use max_array() to get the maximum value from an array instead of a > custom local loop. Looks really good, thank you! Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Signed-off-by: Herve Codina <herve.codina@bootlin.com> > --- > drivers/iio/inkern.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c > index ce537b4ca6ca..ae1a41d3a559 100644 > --- a/drivers/iio/inkern.c > +++ b/drivers/iio/inkern.c > @@ -8,6 +8,7 @@ > #include <linux/property.h> > #include <linux/slab.h> > #include <linux/mutex.h> > +#include <linux/minmax.h> > > #include <linux/iio/iio.h> > #include <linux/iio/iio-opaque.h> > @@ -875,11 +876,7 @@ static int iio_channel_read_max(struct iio_channel *chan, > return -EINVAL; > switch (*type) { > case IIO_VAL_INT: > - *val = vals[--length]; > - while (length) { > - if (vals[--length] > *val) > - *val = vals[length]; > - } > + *val = max_array(vals, length); > break; > default: > /* FIXME: learn about max for other iio values */ > -- > 2.40.1 >
On Mon, Jun 12, 2023 at 5:12 PM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > On Mon, Jun 12, 2023 at 3:30 PM Herve Codina <herve.codina@bootlin.com> wrote: ... > > #include <linux/property.h> > > #include <linux/slab.h> > > #include <linux/mutex.h> > > +#include <linux/minmax.h> But can you try to preserve order (to some extent, perhaps invisible here context is even better, I would assume mutex was added unordered)? > > #include <linux/iio/iio.h> > > #include <linux/iio/iio-opaque.h>
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index ce537b4ca6ca..ae1a41d3a559 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c @@ -8,6 +8,7 @@ #include <linux/property.h> #include <linux/slab.h> #include <linux/mutex.h> +#include <linux/minmax.h> #include <linux/iio/iio.h> #include <linux/iio/iio-opaque.h> @@ -875,11 +876,7 @@ static int iio_channel_read_max(struct iio_channel *chan, return -EINVAL; switch (*type) { case IIO_VAL_INT: - *val = vals[--length]; - while (length) { - if (vals[--length] > *val) - *val = vals[length]; - } + *val = max_array(vals, length); break; default: /* FIXME: learn about max for other iio values */
Use max_array() to get the maximum value from an array instead of a custom local loop. Signed-off-by: Herve Codina <herve.codina@bootlin.com> --- drivers/iio/inkern.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)