From: Michael Hennerich Date: Fri, 10 Jun 2011 13:40:48 +0000 (+0200) Subject: iio: industrialio-core: Add IIO_OUT type X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ae19178eacfab141afdd886e002bb80c99dba63a;p=linux-beck.git iio: industrialio-core: Add IIO_OUT type Add IIO_OUT type for DAC like devices In case of IIO_OUT make sure the channel device attribute is writable Ideally we add a flag to iio_chan_spec that tells the core that the channel device attribute is writable... Signed-off-by: Michael Hennerich Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h index 9ca89c7d5693..7a6ce4d0fb7b 100644 --- a/drivers/staging/iio/iio.h +++ b/drivers/staging/iio/iio.h @@ -30,6 +30,7 @@ enum iio_chan_type { /* real channel types */ IIO_IN, + IIO_OUT, IIO_CURRENT, IIO_POWER, IIO_ACCEL, diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c index 744153ee2edb..8fa2be6f566f 100644 --- a/drivers/staging/iio/industrialio-core.c +++ b/drivers/staging/iio/industrialio-core.c @@ -47,6 +47,7 @@ static const char * const iio_chan_type_name_spec_shared[] = { [IIO_TIMESTAMP] = "timestamp", [IIO_ACCEL] = "accel", [IIO_IN] = "in", + [IIO_OUT] = "out", [IIO_CURRENT] = "current", [IIO_POWER] = "power", [IIO_IN_DIFF] = "in-in", @@ -675,7 +676,8 @@ static int iio_device_add_channel_sysfs(struct iio_dev *dev_info, else ret = __iio_add_chan_devattr("raw", NULL, chan, &iio_read_channel_info, - NULL, + (chan->type == IIO_OUT ? + &iio_write_channel_info : NULL), 0, 0, &dev_info->dev,