lkml.org 
[lkml]   [2023]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 5/5] meson saradc: support reading from channel 7 mux inputs
On Wed, Jun 28, 2023 at 01:37:18AM +0300, George Stark wrote:
> Add iio channel for every channel 7 mux input.
> Meson saradc channel 7 is connected to a mux that can switch channel
> input to well-known sources like Vdd, GND and several Vdd dividers.

...

> +static enum meson_sar_adc_chan7_mux_sel chan7_mux_values[] = {
> + CHAN7_MUX_VSS,
> + CHAN7_MUX_VDD_DIV4,
> + CHAN7_MUX_VDD_DIV2,
> + CHAN7_MUX_VDD_MUL3_DIV4,
> + CHAN7_MUX_VDD,
> +};
> +
> +static const char * const chan7_mux_names[] = {
> + "gnd",
> + "0.25vdd",
> + "0.5vdd",
> + "0.75vdd",
> + "vdd",

For the sake of robustness you can assign like this

[CHAN7_MUX_VDD_DIV2] = "0.5vdd",

> };

...

> - if (chan->type == IIO_VOLTAGE)
> - return sprintf(label, "channel-%d\n", chan->channel);
> + if (chan->type == IIO_VOLTAGE) {

> + if (chan->channel <= NUM_CHAN_7)

I believe you can get rid of this conditional and make diff less ping-pong-ish,
see below.

> + return sprintf(label, "channel-%d\n", chan->channel);
> + if (chan->channel >= NUM_MUX_0_VSS)
> + return sprintf(label, "%s\n",
> + chan7_mux_names[chan->channel - NUM_MUX_0_VSS]);
> + }


if (chan->type == IIO_VOLTAGE && chan->channel >= NUM_MUX_0_VSS)
return sprintf(label, "%s\n", chan7_mux_names[chan->channel - NUM_MUX_0_VSS]);

if (chan->type == IIO_VOLTAGE)
return sprintf(label, "channel-%d\n", chan->channel);


--
With Best Regards,
Andy Shevchenko


\
 
 \ /
  Last update: 2023-06-28 12:10    [W:0.191 / U:0.328 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site