[PATCH 25/38] iio: pressure-core: st: Allow for number of channels to vary

Jonathan Cameron
2013-09-16T15:32:14Z

Lee Jones <lee.jones@linaro.org> wrote:
>On Sat, 14 Sep 2013, Jonathan Cameron wrote:
>
>> On 09/10/13 13:49, Lee Jones wrote:
>> > At the moment the number of channels specified is dictated by the
>first
>> > sensor supported by the driver. As we add support for more sensors
>this
>> > is likely to vary. Instead of using the ARRAY_SIZE() of the
>LPS331AP's
>> > channel specifier we'll use a new adaptable 'struct st_sensors'
>element
>> > instead.
>> >
>> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
>> Applied with Denis ack (again it should have been here)
>
>Ah, you're going to take the patches one-by-one?
>
>After amending the drivers as per your review I was going to send a
>final time with all Acks applied. Then, once all maintainer Acks were
>obtained I was going to send you a pull-request.
>
>Perhaps I should have communicated the intent sooner.
>
>Future submissions will have all Acks applied in this case.

Quite a few of this series stood alone just fine so I grabbed them :)
>
>> > ---
>> > drivers/iio/pressure/st_pressure_core.c | 3 ++-
>> > include/linux/iio/common/st_sensors.h | 1 +
>> > 2 files changed, 3 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/iio/pressure/st_pressure_core.c
>b/drivers/iio/pressure/st_pressure_core.c
>> > index 60c2ee4..3abada2 100644
>> > --- a/drivers/iio/pressure/st_pressure_core.c
>> > +++ b/drivers/iio/pressure/st_pressure_core.c
>> > @@ -107,6 +107,7 @@ static const struct st_sensors
>st_press_sensors[] = {
>> > [0] = LPS331AP_PRESS_DEV_NAME,
>> > },
>> > .ch = (struct iio_chan_spec *)st_press_lps331ap_channels,
>> > + .num_ch = ARRAY_SIZE(st_press_lps331ap_channels),
>> > .odr = {
>> > .addr = ST_PRESS_LPS331AP_ODR_ADDR,
>> > .mask = ST_PRESS_LPS331AP_ODR_MASK,
>> > @@ -245,7 +246,7 @@ int st_press_common_probe(struct iio_dev
>*indio_dev,
>> > pdata->num_data_channels = ST_PRESS_NUMBER_DATA_CHANNELS;
>> > pdata->multiread_bit = pdata->sensor->multi_read_bit;
>> > indio_dev->channels = pdata->sensor->ch;
>> > - indio_dev->num_channels = ARRAY_SIZE(st_press_lps331ap_channels);
>> > + indio_dev->num_channels = pdata->sensor->num_ch;
>> >
>> > if (pdata->sensor->fs.addr != 0)
>> > pdata->current_fullscale = (struct st_sensor_fullscale_avl *)
>> > diff --git a/include/linux/iio/common/st_sensors.h
>b/include/linux/iio/common/st_sensors.h
>> > index e51f654..e732fda 100644
>> > --- a/include/linux/iio/common/st_sensors.h
>> > +++ b/include/linux/iio/common/st_sensors.h
>> > @@ -184,6 +184,7 @@ struct st_sensors {
>> > u8 wai;
>> > char sensors_supported[ST_SENSORS_MAX_4WAI][ST_SENSORS_MAX_NAME];
>> > struct iio_chan_spec *ch;
>> > + int num_ch;
>> > struct st_sensor_odr odr;
>> > struct st_sensor_power pw;
>> > struct st_sensor_axis enable_axis;
>> >

--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.