Message ID | 20231212-vcnl4000-ps-hd-v1-0-1c62a95828c0@axis.com (mailing list archive) |
---|---|
Headers | show |
Series | Introduce new iio resolution standard attribute | expand |
On Fri, 15 Dec 2023 13:43:03 +0100 Mårten Lindahl <marten.lindahl@axis.com> wrote: > This patch introduces a new IIO standard attribute to set the bit > resolution of the data *_raw readings dynamically using sysfs. > > The VCNL4040/4200 proximity/ambient light sensors support 12-bit > (default) and 16-bit ADC resolutions. This can be dynamically changed, > so to support this with the standard iio channel configuration a new iio > attribute should be added. > > The VCNL4040 devices will use this for setting proximity high definition > (16-bit resolution). > > Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com> Hi Mårten, What is the use case? We've had lots of devices capable of doing this sort of resolution change, but never yet come up with a reason to do so for the sysfs interfaces on the basis the overhead of the sysfs interfaces is high enough the best bet is almost always to use the highest available resolution and don't worry that the read takes a little longer. Jonathan > --- > Mårten Lindahl (2): > iio: core: Introduce resolution standard attribute > iio: light: vcnl4000: Add ps high definition for vcnl4040 > > drivers/iio/industrialio-core.c | 1 + > drivers/iio/light/vcnl4000.c | 87 ++++++++++++++++++++++++++++++++++++++++- > include/linux/iio/types.h | 1 + > 3 files changed, 87 insertions(+), 2 deletions(-) > --- > base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9 > change-id: 20231212-vcnl4000-ps-hd-38d42abf9095 > > Best regards,
On 12/17/23 15:10, Jonathan Cameron wrote: > On Fri, 15 Dec 2023 13:43:03 +0100 > Mårten Lindahl <marten.lindahl@axis.com> wrote: > >> This patch introduces a new IIO standard attribute to set the bit >> resolution of the data *_raw readings dynamically using sysfs. >> >> The VCNL4040/4200 proximity/ambient light sensors support 12-bit >> (default) and 16-bit ADC resolutions. This can be dynamically changed, >> so to support this with the standard iio channel configuration a new iio >> attribute should be added. >> >> The VCNL4040 devices will use this for setting proximity high definition >> (16-bit resolution). >> >> Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com> > Hi Mårten, > > What is the use case? We've had lots of devices capable of doing this > sort of resolution change, but never yet come up with a reason to do so for > the sysfs interfaces on the basis the overhead of the sysfs interfaces is > high enough the best bet is almost always to use the highest available resolution > and don't worry that the read takes a little longer. > > Jonathan Hi Jonathan! My use case probably does not differ from others, in that 12 bits does not give enough precision. So it's just a dynamic feature that the sensor has, but as you suggest to hard code this to the highest works fine for me. I just didn't feel confident enough to do that :) I'll make a single patch for this change instead. Thanks! Kind regards Mårten > >> --- >> Mårten Lindahl (2): >> iio: core: Introduce resolution standard attribute >> iio: light: vcnl4000: Add ps high definition for vcnl4040 >> >> drivers/iio/industrialio-core.c | 1 + >> drivers/iio/light/vcnl4000.c | 87 ++++++++++++++++++++++++++++++++++++++++- >> include/linux/iio/types.h | 1 + >> 3 files changed, 87 insertions(+), 2 deletions(-) >> --- >> base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9 >> change-id: 20231212-vcnl4000-ps-hd-38d42abf9095 >> >> Best regards,
This patch introduces a new IIO standard attribute to set the bit resolution of the data *_raw readings dynamically using sysfs. The VCNL4040/4200 proximity/ambient light sensors support 12-bit (default) and 16-bit ADC resolutions. This can be dynamically changed, so to support this with the standard iio channel configuration a new iio attribute should be added. The VCNL4040 devices will use this for setting proximity high definition (16-bit resolution). Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com> --- Mårten Lindahl (2): iio: core: Introduce resolution standard attribute iio: light: vcnl4000: Add ps high definition for vcnl4040 drivers/iio/industrialio-core.c | 1 + drivers/iio/light/vcnl4000.c | 87 ++++++++++++++++++++++++++++++++++++++++- include/linux/iio/types.h | 1 + 3 files changed, 87 insertions(+), 2 deletions(-) --- base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9 change-id: 20231212-vcnl4000-ps-hd-38d42abf9095 Best regards,