On Thu, 5 Oct 2017 10:37:46 +0800 Phil Reid <preid@xxxxxxxxxxxxxxxxx> wrote: > This is done by calling a generic write attribute helper similar > to the existing read attribute helper. Update write raw helper > to use new write attribute function. > > Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx> > --- > drivers/iio/inkern.c | 17 +++++++++++++++-- > include/linux/iio/consumer.h | 9 +++++++++ > 2 files changed, 24 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c > index 069defc..51c5c967 100644 > --- a/drivers/iio/inkern.c > +++ b/drivers/iio/inkern.c > @@ -850,7 +850,9 @@ static int iio_channel_write(struct iio_channel *chan, int val, int val2, > chan->channel, val, val2, info); > } > > -int iio_write_channel_raw(struct iio_channel *chan, int val) > +static int iio_write_channel_attribute(struct iio_channel *chan, > + int val, int val2, > + enum iio_chan_info_enum attribute) > { > int ret; > > @@ -860,14 +862,25 @@ int iio_write_channel_raw(struct iio_channel *chan, int val) > goto err_unlock; > } > > - ret = iio_channel_write(chan, val, 0, IIO_CHAN_INFO_RAW); > + ret = iio_channel_write(chan, val, val2, attribute); > err_unlock: > mutex_unlock(&chan->indio_dev->info_exist_lock); > > return ret; > } > + > +int iio_write_channel_raw(struct iio_channel *chan, int val) > +{ > + return iio_write_channel_attribute(chan, val, 0, IIO_CHAN_INFO_RAW); > +} > EXPORT_SYMBOL_GPL(iio_write_channel_raw); > > +int iio_write_channel_enable(struct iio_channel *chan, int val) > +{ > + return iio_write_channel_attribute(chan, val, 0, IIO_CHAN_INFO_ENABLE); > +} > +EXPORT_SYMBOL_GPL(iio_write_channel_enable); > + > unsigned int iio_get_channel_ext_info_count(struct iio_channel *chan) > { > const struct iio_chan_spec_ext_info *ext_info; > diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h > index 5e347a9..4a5a90d 100644 > --- a/include/linux/iio/consumer.h > +++ b/include/linux/iio/consumer.h > @@ -226,6 +226,15 @@ int iio_read_channel_raw(struct iio_channel *chan, > int iio_write_channel_raw(struct iio_channel *chan, int val); > > /** > + * iio_write_channel_enable() - enable a given channel > + * @chan: The channel being queried. > + * @val: Value being written. > + * > + * Enable / disable the channel. > + */ > +int iio_write_channel_enable(struct iio_channel *chan, int val); > + > +/** > * iio_read_max_channel_raw() - read maximum available raw value from a given > * channel, i.e. the maximum possible value. > * @chan: The channel being queried. -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html