On 05/06/15 02:47, Kevin Tsai wrote: > Add Ultraviolet(UV) support: > UVA: 315 ~ 400 nm > UVB: 280 ~ 315 nm > UVC: 100 ~ 280 nm > > /sys/bus/iio/devices/iio:deviceX/in_intensity_uva_input > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvb_input > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvc_input > The SI unit is "uW/mm^2". > > /sys/bus/iio/devices/iio:deviceX/in_intensity_uva_min_wavelength > /sys/bus/iio/devices/iio:deviceX/in_intensity_uva_max_wavelength > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvb_min_wavelength > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvb_max_wavelength > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvc_min_wavelength > /sys/bus/iio/devices/iio:deviceX/in_intensity_uvc_max_wavelength I'd flip these around so in_intensity_uvc_wavelength_max etc Fits better with existing forms in the ABI (I think) and also will list them in a more useful order when the directory is sorted by name. Otherwise, I'd like to let this sit for others who work with light sensors to comment as ideally we'd extend this to visible wavelengths as well. > The SI unit is "nm". > > Signed-off-by: Kevin Tsai <ktsai@xxxxxxxxxxxxxxxx> > --- > Documentation/ABI/testing/sysfs-bus-iio | 23 +++++++++++++++++++++++ > drivers/iio/industrialio-core.c | 3 +++ > include/uapi/linux/iio/types.h | 3 +++ > tools/iio/iio_event_monitor.c | 6 ++++++ > 4 files changed, 35 insertions(+) > > diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio > index bbed111..2960142 100644 > --- a/Documentation/ABI/testing/sysfs-bus-iio > +++ b/Documentation/ABI/testing/sysfs-bus-iio > @@ -1463,3 +1463,26 @@ Description: > measurements and return the average value as output data. Each > value resulted from <type>[_name]_oversampling_ratio measurements > is considered as one sample for <type>[_name]_sampling_frequency. > + > +What: /sys/.../iio:deviceX/in_intensity_uva[_input|_raw] > +What: /sys/.../iio:deviceX/in_intensity_uvb[_input|_raw] > +What: /sys/.../iio:deviceX/in_intensity_uvc[_input|_raw] We have carefully killed off wild cards in the actual What lines as they make automated parsing of these files tricky. So just list both options out longhand.. > +KernelVersion: 4.1.1 > +Description: > + uva is the ultraviolet wavelength from 315nm to 400nm. > + uvb is the ultraviolet wavelength from 280nm to 315nm. > + uvc is the ultraviolet wavelength from 100nm to 280nm. > + The SI unit is "uW/mm^2". Otherwise it should include _raw. > + > +What: /sys/.../iio:deviceX/in_intensity_uva_min_wavelength > +What: /sys/.../iio:deviceX/in_intensity_uva_max_wavelength > +What: /sys/.../iio:deviceX/in_intensity_uvb_min_wavelength > +What: /sys/.../iio:deviceX/in_intensity_uvb_max_wavelength > +What: /sys/.../iio:deviceX/in_intensity_uvc_min_wavelength > +What: /sys/.../iio:deviceX/in_intensity_uvc_max_wavelength > +KernelVersion: 4.1.1 > +Description: > + Sensor may not cover the whole uva/uvb/uvc channel. Add the > + min/max wavelength properties to descript sensor range. describe > + The SI unit is "nm". > + > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > index 3524b0d..ecbdd1e 100644 > --- a/drivers/iio/industrialio-core.c > +++ b/drivers/iio/industrialio-core.c > @@ -89,6 +89,9 @@ static const char * const iio_modifier_names[] = { > [IIO_MOD_LIGHT_RED] = "red", > [IIO_MOD_LIGHT_GREEN] = "green", > [IIO_MOD_LIGHT_BLUE] = "blue", > + [IIO_MOD_LIGHT_UVA] = "uva", > + [IIO_MOD_LIGHT_UVB] = "uvb", > + [IIO_MOD_LIGHT_UVC] = "uvc", > [IIO_MOD_QUATERNION] = "quaternion", > [IIO_MOD_TEMP_AMBIENT] = "ambient", > [IIO_MOD_TEMP_OBJECT] = "object", > diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h > index 2f8b117..5c99090 100644 > --- a/include/uapi/linux/iio/types.h > +++ b/include/uapi/linux/iio/types.h > @@ -72,6 +72,9 @@ enum iio_modifier { > IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z, > IIO_MOD_I, > IIO_MOD_Q, > + IIO_MOD_LIGHT_UVA, > + IIO_MOD_LIGHT_UVB, > + IIO_MOD_LIGHT_UVC, > }; > > enum iio_event_type { > diff --git a/tools/iio/iio_event_monitor.c b/tools/iio/iio_event_monitor.c > index 427c271..46dd27f 100644 > --- a/tools/iio/iio_event_monitor.c > +++ b/tools/iio/iio_event_monitor.c > @@ -88,6 +88,9 @@ static const char * const iio_modifier_names[] = { > [IIO_MOD_LIGHT_RED] = "red", > [IIO_MOD_LIGHT_GREEN] = "green", > [IIO_MOD_LIGHT_BLUE] = "blue", > + [IIO_MOD_LIGHT_UVA] = "uva", > + [IIO_MOD_LIGHT_UVB] = "uvb", > + [IIO_MOD_LIGHT_UVC] = "uvc", > [IIO_MOD_QUATERNION] = "quaternion", > [IIO_MOD_TEMP_AMBIENT] = "ambient", > [IIO_MOD_TEMP_OBJECT] = "object", > @@ -156,6 +159,9 @@ static bool event_is_known(struct iio_event_data *event) > case IIO_MOD_LIGHT_RED: > case IIO_MOD_LIGHT_GREEN: > case IIO_MOD_LIGHT_BLUE: > + case IIO_MOD_LIGHT_UVA: > + case IIO_MOD_LIGHT_UVB: > + case IIO_MOD_LIGHT_UVC: > case IIO_MOD_QUATERNION: > case IIO_MOD_TEMP_AMBIENT: > case IIO_MOD_TEMP_OBJECT: > -- 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