Explorar el Código

iio: Add channel for UV index

UV index indicating strength of sunburn-producing ultraviolet (UV) radiation

Signed-off-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Peter Meerwald-Stadler hace 9 años
padre
commit
d409404cf6

+ 9 - 0
Documentation/ABI/testing/sysfs-bus-iio

@@ -1264,6 +1264,15 @@ Description:
 		components or just infrared light, respectively. Modifier uv indicates
 		components or just infrared light, respectively. Modifier uv indicates
 		that measurements contain ultraviolet light components.
 		that measurements contain ultraviolet light components.
 
 
+What:		/sys/.../iio:deviceX/in_uvindex_input
+KernelVersion:	4.6
+Contact:	linux-iio@vger.kernel.org
+Description:
+		UV light intensity index measuring the human skin's response to
+		different wavelength of sunlight weighted according to the
+		standardised CIE Erythemal Action Spectrum. UV index values range
+		from 0 (low) to >=11 (extreme).
+
 What:		/sys/.../iio:deviceX/in_intensity_red_integration_time
 What:		/sys/.../iio:deviceX/in_intensity_red_integration_time
 What:		/sys/.../iio:deviceX/in_intensity_green_integration_time
 What:		/sys/.../iio:deviceX/in_intensity_green_integration_time
 What:		/sys/.../iio:deviceX/in_intensity_blue_integration_time
 What:		/sys/.../iio:deviceX/in_intensity_blue_integration_time

+ 1 - 0
drivers/iio/industrialio-core.c

@@ -79,6 +79,7 @@ static const char * const iio_chan_type_name_spec[] = {
 	[IIO_CONCENTRATION] = "concentration",
 	[IIO_CONCENTRATION] = "concentration",
 	[IIO_RESISTANCE] = "resistance",
 	[IIO_RESISTANCE] = "resistance",
 	[IIO_PH] = "ph",
 	[IIO_PH] = "ph",
+	[IIO_UVINDEX] = "uvindex",
 };
 };
 
 
 static const char * const iio_modifier_names[] = {
 static const char * const iio_modifier_names[] = {

+ 1 - 0
include/uapi/linux/iio/types.h

@@ -38,6 +38,7 @@ enum iio_chan_type {
 	IIO_CONCENTRATION,
 	IIO_CONCENTRATION,
 	IIO_RESISTANCE,
 	IIO_RESISTANCE,
 	IIO_PH,
 	IIO_PH,
+	IIO_UVINDEX,
 };
 };
 
 
 enum iio_modifier {
 enum iio_modifier {

+ 2 - 0
tools/iio/iio_event_monitor.c

@@ -56,6 +56,7 @@ static const char * const iio_chan_type_name_spec[] = {
 	[IIO_CONCENTRATION] = "concentration",
 	[IIO_CONCENTRATION] = "concentration",
 	[IIO_RESISTANCE] = "resistance",
 	[IIO_RESISTANCE] = "resistance",
 	[IIO_PH] = "ph",
 	[IIO_PH] = "ph",
+	[IIO_UVINDEX] = "uvindex",
 };
 };
 
 
 static const char * const iio_ev_type_text[] = {
 static const char * const iio_ev_type_text[] = {
@@ -147,6 +148,7 @@ static bool event_is_known(struct iio_event_data *event)
 	case IIO_CONCENTRATION:
 	case IIO_CONCENTRATION:
 	case IIO_RESISTANCE:
 	case IIO_RESISTANCE:
 	case IIO_PH:
 	case IIO_PH:
+	case IIO_UVINDEX:
 		break;
 		break;
 	default:
 	default:
 		return false;
 		return false;