Commit 9c15db92 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'iio-for-5.13a' of...

Merge tag 'iio-for-5.13a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

1st set of IIO/counter device support, features and cleanup in the 5.13 cycle

Big set in here from Alexandru Ardelean enabling multiple buffer support.
This includes providing a new directory per buffer that combines
what was previously in buffer/ and scan_elements/. Old interfaces still
in place for compatiblity.

Note immuatable branch for scmi patches to allow for some significant
rework going on in that subsystem.  Merge required updating to reflect
some changes in IIO.

Late rebase to fix some wrong fixes tags due to some earlier rebases
made necessary by messing up the immutable branch.

IIO New Device Support
* adi,ad5686
  - Add info to support AD5673R and AD5677R
* bosch,bmi088
  - New driver supporting this accelerometer + gyroscope
* cros_ec_mkbp
  - New driver for this proximity sensor that exposes a 'front'
    sensor. Very simple switch like device, but driver allows it
    to share interface with more sophisticated proximity sensors.
* iio_scmi
  - New driver to support ARM SCMI protocol to expose underlying
    accelerometers and gyroscopes via this firmware interface.
* st,st_magn
  - Add ID for IISMDC magnetometer.
* ti,ads131e0
  - New driver supporting ads131e04, ads131e06 and ads131e08 24 bit ADCs

Counter New Device Support
* IRQ or GPIO based counter
  - New driver for a conceptually simple counter that uses interrupts
    to perform the count.

Features
* core
  - Dual buffer supprt including:
     Various helpers to centralize handling of bufferer related elements.
     Document existing and new IOCTLs
     Register the IIO chrdev only if it can actually be used for anything.
     Rework attribute group creation in the core (lots of patches)
     Merge buffer/ and scan_elements/ entries into one list + maintain
     backwards compatible set.
     Introduce the internal logic and IOCTL to allow multiple buffers
     + access to an anon FD per buffer to actually read from it.
     Tidy up tools/iio/iio_generic_buffer and switch to new interfaces.
     Update ABI docs.
     A few follow up fixes, unsuprising as this was a huge bit of rework.
  - Move common case setting of trig->parent to the core.
  - Provide an iio_read_channel_processed_scale() to avoid loss of
    precision from iio_read_channel_processed() then applying integer
    scale. Use it in ntc_thermistor driver in hwmon.
  - Allow drivers to specify labels from elsewhere than DT. Use it for
    bmc150 and kxcjk-1013 labels related to position on 2 in one tablets.
  - Document label usage for proximity and accelerometer sensors.
  - Some local variable renames for consistency
tools
  - Add -a parameter to iio_event_monitor to allow autoenabling of events.
* acpi_als
  - Add trigger support for devices that don't support notification method.
* adi,ad7124
  - Allow more than 8 channels.  This is a complex little device, but is
    capable of supporting up to 16 channels if the share certain
    configuration settings.
* hrtimer-trigger
  - Support sampling frequency below 1Hz.
* mediatek,mt8195-auxadc
  - Add compatible to binding docs (always also includes mt8173)
* st,stm32-adc
  - Enable timetamps when not using DMA.
* vishay,vcnl3020
  - Sampling frequency control.

Cleanup and minor fixes:
* treewide
  - Use some getter and setter functions instead of opencoding.
  - Set of fixes for pointless casts in various drivers.
  - Avoid wrong kernel-doc marking on comment blocks.
  - Fix various other minor kernel-doc issues shown by W=1
* core
  - Use a signed temporary for IIO_VAL_FRACTIONAL_LOG2 to avoid odd casts.
  - Fix IIO_VAL_FRACTIONAL_LOG2 for values between -1.0 and 0.0
  - Add unit tests for iio_format_value()
* docs
  - Fix formatting/typos in iio_configfs.rst and buffers.rst
  - Add documentation of index in buffers.rst
  - Fix scan element description
  - Avoid some issues with HTML generation from ABI docs by moving
    duplicated defintions to more generic files.
  - Drop reference to long dead mailing list.
* 104-quad
  - Remove left over deprecated IIO counter ABI.
* adi,adi-axi-adc
  - Fix wrong bit of docs.
* adi,ad5791
  - Typos
* adi,ad9834
   - Switch to device managed functions in probe.
* adi,adis*
  - Add and use helpers for locking to reduced duplication.
* adi,adis16480
  - Fix calculation of sampling frequency when using pulse per second input.
* adi,adis16475
  - Calculate the IMU scaled internal sampling rate and runtime depending
    on sysfs based configuration rather than getting from DT. Drop now
    unnecessary property from DT bindings doc.
* cros_ec
   - Fix result of a series of recent changes that means extended buffer
     attributes turn up in the wrong place. Too complex to revert the
     various patches unfortunately so this is a bit messy.
* fsl,mma3452
  - Indentation cleanup.
* hid-sensors
  - Size of storage needs to increase for some parts when using quaternions.
  - Move the get sensistivity attribute to hid-sensors-common to reduce
    duplication.  Enable it for more device types.
  - Correctly handle relative sensitivity if reported that way including
    documenting the new ABI.
* maxim,max517
  - Use device managed functions in probe.
* mediatek,mt6360-adc
  - Use asm/unaligned.h instead of directly including
    unaligned/be_byteshift.h
* novuton,npcm-adc
  - Local lock instead of missusing mlock.
* semtech,sx9500
  - Typos
* st,sensor
  - typo fix
* st,spear-adc
  - Local lock instead of missusing mlock.
* st,stm32-adc
  - Long standing HAS_IOMEM dependency fix.
* st,stm32-counter
  - Remove left over deprecated IIO counter ABI.
* ti,palmas-adc
  - Local lock instead of missusing mlock.
* ti,tmp007
  - Switch to device managed functions in probe.

Other
* MAINTAINERS
  - Move Peter Meerwald-Stadler to Credits at his request

* tag 'iio-for-5.13a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (119 commits)
  iio: acpi_als: Add trigger support
  iio: acpi_als: Add local variable dev in probe
  iio: acpi_als: Add timestamp channel
  iio: adc: ad7292: Modify the bool initialization assignment
  iio: cros: unify hw fifo attributes without API changes
  iio: kfifo: add devm_iio_triggered_buffer_setup_ext variant
  iio: event_monitor: Enable events before monitoring
  dt-bindings: iio: adc: Add compatible for Mediatek MT8195
  iio:magnetometer: Add Support for ST IIS2MDC
  dt-bindings: iio: st,st-sensors add IIS2MDC.
  staging: iio: ad9832: kernel-doc fixes
  iio:dac:max517.c: Use devm_iio_device_register()
  iio:cros_ec_sensors: Fix a wrong function name in kernel doc.
  iio: buffer: kfifo_buf: kernel-doc, typo in function name.
  iio: accel: sca3000: kernel-doc fixes. Missing - and wrong function names.
  iio: adc: adi-axi-adc: Drop false marking for kernel-doc
  iio: adc: cpcap-adc: kernel-doc fix - that should be _ in structure name
  iio: dac: ad5504: fix wrong part number in kernel-doc structure name.
  iio: dac: ad5770r: kernel-doc fix case of letter R wrong in structure name
  iio: adc: ti-adc084s021: kernel-doc fixes, missing function names
  ...
parents d0109957 1b33dfa5
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2536,6 +2536,14 @@ D: Linux/PARISC hacker
D: AD1889 sound driver
S: Ottawa, Canada

N: Peter Meerwald-Stadler
E: pmeerw@pmeerw.net
W: https://pmeerw.net
D: IIO reviewing, drivers
S: Schießstandstr. 3a
S: A-5061 Elsbethen
S: Austria

N: Dirk Melchers
E: dirk@merlin.nbg.sub.org
D: 8 bit XT hard disk driver for OMTI5520
+140 −0
Original line number Diff line number Diff line
@@ -33,6 +33,52 @@ Description:
		Description of the physical chip / device for device X.
		Typically a part number.

What:		/sys/bus/iio/devices/iio:deviceX/label
KernelVersion:	5.8
Contact:	linux-iio@vger.kernel.org
Description:
		Optional symbolic label for a device.
		This is useful for userspace to be able to better identify an
		individual device.

		The contents of the label are free-form, but there are some
		standardized uses:

		For proximity sensors which give the proximity (of a person) to
		a certain wlan or wwan antenna the following standardized labels
		are used:

		* "proximity-wifi"
		* "proximity-lte"
		* "proximity-wifi-lte"
		* "proximity-wifi-left"
		* "proximity-wifi-right"

		These are used to indicate to userspace that these proximity
		sensors may be used to tune transmit power to ensure that
		Specific Absorption Rate (SAR) limits are honored.
		The "-left" and "-right" labels are for devices with multiple
		antennas.

		In some laptops/tablets the standardized proximity sensor labels
		instead	indicate proximity to a specific part of the device:

		* "proximity-palmrest" indicates proximity to the keyboard's palmrest
		* "proximity-palmrest-left" indicates proximity to the left part of the palmrest
		* "proximity-palmrest-right" indicates proximity to the right part of the palmrest
		* "proximity-lap" indicates the device is being used on someone's lap

		Note "proximity-lap" is special in that its value may be
		calculated by firmware from other sensor readings, rather then
		being a raw sensor reading.

		For accelerometers used in 2-in-1s with 360° (yoga-style) hinges,
		which have an accelerometer in both their base and their display,
		the following standardized labels are used:

		* "accel-base"
		* "accel-display"

What:		/sys/bus/iio/devices/iio:deviceX/current_timestamp_clock
KernelVersion:	4.5
Contact:	linux-iio@vger.kernel.org
@@ -1118,12 +1164,16 @@ Description:

What:		/sys/bus/iio/devices/iio:deviceX/buffer/length
KernelVersion:	2.6.35
What:		/sys/bus/iio/devices/iio:deviceX/bufferY/length
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		Number of scans contained by the buffer.

What:		/sys/bus/iio/devices/iio:deviceX/buffer/enable
KernelVersion:	2.6.35
What:		/sys/bus/iio/devices/iio:deviceX/bufferY/enable
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		Actually start the buffer capture up.  Will start trigger
@@ -1131,11 +1181,16 @@ Description:

What:		/sys/bus/iio/devices/iio:deviceX/scan_elements
KernelVersion:	2.6.37
What:		/sys/bus/iio/devices/iio:deviceX/bufferY
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		Directory containing interfaces for elements that will be
		captured for a single triggered sample set in the buffer.

		Since kernel 5.11 the scan_elements attributes are merged into
		the bufferY directory, to be configurable per buffer.

What:		/sys/.../iio:deviceX/scan_elements/in_accel_x_en
What:		/sys/.../iio:deviceX/scan_elements/in_accel_y_en
What:		/sys/.../iio:deviceX/scan_elements/in_accel_z_en
@@ -1164,6 +1219,34 @@ What: /sys/.../iio:deviceX/scan_elements/in_pressure_en
What:		/sys/.../iio:deviceX/scan_elements/in_rot_quaternion_en
What:		/sys/.../iio:deviceX/scan_elements/in_proximity_en
KernelVersion:	2.6.37
What:		/sys/.../iio:deviceX/bufferY/in_accel_x_en
What:		/sys/.../iio:deviceX/bufferY/in_accel_y_en
What:		/sys/.../iio:deviceX/bufferY/in_accel_z_en
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_x_en
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_y_en
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_z_en
What:		/sys/.../iio:deviceX/bufferY/in_magn_x_en
What:		/sys/.../iio:deviceX/bufferY/in_magn_y_en
What:		/sys/.../iio:deviceX/bufferY/in_magn_z_en
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_en
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_en
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_en
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_en
What:		/sys/.../iio:deviceX/bufferY/in_timestamp_en
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_supply_en
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_en
What:		/sys/.../iio:deviceX/bufferY/in_voltageY-voltageZ_en
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_i_en
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_q_en
What:		/sys/.../iio:deviceX/bufferY/in_voltage_i_en
What:		/sys/.../iio:deviceX/bufferY/in_voltage_q_en
What:		/sys/.../iio:deviceX/bufferY/in_incli_x_en
What:		/sys/.../iio:deviceX/bufferY/in_incli_y_en
What:		/sys/.../iio:deviceX/bufferY/in_pressureY_en
What:		/sys/.../iio:deviceX/bufferY/in_pressure_en
What:		/sys/.../iio:deviceX/bufferY/in_rot_quaternion_en
What:		/sys/.../iio:deviceX/bufferY/in_proximity_en
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		Scan element control for triggered data capture.
@@ -1185,6 +1268,23 @@ What: /sys/.../iio:deviceX/scan_elements/in_pressure_type
What:		/sys/.../iio:deviceX/scan_elements/in_rot_quaternion_type
What:		/sys/.../iio:deviceX/scan_elements/in_proximity_type
KernelVersion:	2.6.37
What:		/sys/.../iio:deviceX/bufferY/in_accel_type
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_type
What:		/sys/.../iio:deviceX/bufferY/in_magn_type
What:		/sys/.../iio:deviceX/bufferY/in_incli_type
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_type
What:		/sys/.../iio:deviceX/bufferY/in_voltage_type
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_supply_type
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_i_type
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_q_type
What:		/sys/.../iio:deviceX/bufferY/in_voltage_i_type
What:		/sys/.../iio:deviceX/bufferY/in_voltage_q_type
What:		/sys/.../iio:deviceX/bufferY/in_timestamp_type
What:		/sys/.../iio:deviceX/bufferY/in_pressureY_type
What:		/sys/.../iio:deviceX/bufferY/in_pressure_type
What:		/sys/.../iio:deviceX/bufferY/in_rot_quaternion_type
What:		/sys/.../iio:deviceX/bufferY/in_proximity_type
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		Description of the scan element data storage within the buffer
@@ -1241,6 +1341,33 @@ What: /sys/.../iio:deviceX/scan_elements/in_pressure_index
What:		/sys/.../iio:deviceX/scan_elements/in_rot_quaternion_index
What:		/sys/.../iio:deviceX/scan_elements/in_proximity_index
KernelVersion:	2.6.37
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_index
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_supply_index
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_i_index
What:		/sys/.../iio:deviceX/bufferY/in_voltageY_q_index
What:		/sys/.../iio:deviceX/bufferY/in_voltage_i_index
What:		/sys/.../iio:deviceX/bufferY/in_voltage_q_index
What:		/sys/.../iio:deviceX/bufferY/in_accel_x_index
What:		/sys/.../iio:deviceX/bufferY/in_accel_y_index
What:		/sys/.../iio:deviceX/bufferY/in_accel_z_index
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_x_index
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_y_index
What:		/sys/.../iio:deviceX/bufferY/in_anglvel_z_index
What:		/sys/.../iio:deviceX/bufferY/in_magn_x_index
What:		/sys/.../iio:deviceX/bufferY/in_magn_y_index
What:		/sys/.../iio:deviceX/bufferY/in_magn_z_index
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_index
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_index
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_magnetic_tilt_comp_index
What:		/sys/.../iio:deviceX/bufferY/in_rot_from_north_true_tilt_comp_index
What:		/sys/.../iio:deviceX/bufferY/in_incli_x_index
What:		/sys/.../iio:deviceX/bufferY/in_incli_y_index
What:		/sys/.../iio:deviceX/bufferY/in_timestamp_index
What:		/sys/.../iio:deviceX/bufferY/in_pressureY_index
What:		/sys/.../iio:deviceX/bufferY/in_pressure_index
What:		/sys/.../iio:deviceX/bufferY/in_rot_quaternion_index
What:		/sys/.../iio:deviceX/bufferY/in_proximity_index
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		A single positive integer specifying the position of this
@@ -1455,6 +1582,8 @@ Description:

What:		/sys/bus/iio/devices/iio:deviceX/buffer/watermark
KernelVersion:	4.2
What:		/sys/bus/iio/devices/iio:deviceX/bufferY/watermark
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		A single positive integer specifying the maximum number of scan
@@ -1473,6 +1602,8 @@ Description:

What:		/sys/bus/iio/devices/iio:deviceX/buffer/data_available
KernelVersion: 4.16
What:		/sys/bus/iio/devices/iio:deviceX/bufferY/data_available
KernelVersion:	5.11
Contact:	linux-iio@vger.kernel.org
Description:
		A read-only value indicating the bytes of data available in the
@@ -1823,3 +1954,12 @@ Description:
		hinge, keyboard, screen. It means the three channels
		each correspond respectively to hinge angle, keyboard angle,
		and screen angle.

What:		/sys/bus/iio/devices/iio:deviceX/in_illuminance_hysteresis_relative
What:		/sys/bus/iio/devices/iio:deviceX/in_intensity_hysteresis_relative
KernelVersion:	5.12
Contact:	linux-iio@vger.kernel.org
Description:
		Specify the percent for light sensor relative to the channel
		absolute value that a data field should change before an event
		is generated. Units are a percentage of the prior reading.
+0 −133
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/in_count_count_mode_available
What:		/sys/bus/iio/devices/iio:deviceX/in_count_noise_error_available
What:		/sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
What:		/sys/bus/iio/devices/iio:deviceX/in_index_index_polarity_available
What:		/sys/bus/iio/devices/iio:deviceX/in_index_synchronous_mode_available
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Discrete set of available values for the respective counter
		configuration are listed in this file.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_count_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Count mode for channel Y. Four count modes are available:
		normal, range limit, non-recycle, and modulo-n. The preset value
		for channel Y is used by the count mode where required.

		Normal:
			Counting is continuous in either direction.

		Range Limit:
			An upper or lower limit is set, mimicking limit switches
			in the mechanical counterpart. The upper limit is set to
			the preset value, while the lower limit is set to 0. The
			counter freezes at count = preset when counting up, and
			at count = 0 when counting down. At either of these
			limits, the counting is resumed only when the count
			direction is reversed.

		Non-recycle:
			Counter is disabled whenever a 24-bit count overflow or
			underflow takes place. The counter is re-enabled when a
			new count value is loaded to the counter via a preset
			operation or write to raw.

		Modulo-N:
			A count boundary is set between 0 and the preset value.
			The counter is reset to 0 at count = preset when
			counting up, while the counter is set to the preset
			value at count = 0 when counting down; the counter does
			not freeze at the bundary points, but counts
			continuously throughout.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_noise_error
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Read-only attribute that indicates whether excessive noise is
		present at the channel Y count inputs in quadrature clock mode;
		irrelevant in non-quadrature clock mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_preset
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		If the counter device supports preset registers, the preset
		count for channel Y is provided by this attribute.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_quadrature_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Configure channel Y counter for non-quadrature or quadrature
		clock mode. Selecting non-quadrature clock mode will disable
		synchronous load mode. In quadrature clock mode, the channel Y
		scale attribute selects the encoder phase division (scale of 1
		selects full-cycle, scale of 0.5 selects half-cycle, scale of
		0.25 selects quarter-cycle) processed by the channel Y counter.

		Non-quadrature:
			The filter and decoder circuit are bypassed. Encoder A
			input serves as the count input and B as the UP/DOWN
			direction control input, with B = 1 selecting UP Count
			mode and B = 0 selecting Down Count mode.

		Quadrature:
			Encoder A and B inputs are digitally filtered and
			decoded for UP/DN clock.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_set_to_preset_on_index
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Whether to set channel Y counter with channel Y preset value
		when channel Y index input is active, or continuously count.
		Valid attribute values are boolean.

What:		/sys/bus/iio/devices/iio:deviceX/in_indexY_index_polarity
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Active level of channel Y index input; irrelevant in
		non-synchronous load mode.

What:		/sys/bus/iio/devices/iio:deviceX/in_indexY_synchronous_mode
KernelVersion:	4.10
Contact:	linux-iio@vger.kernel.org
Description:
		This interface is deprecated; please use the Counter subsystem.

		Configure channel Y counter for non-synchronous or synchronous
		load mode. Synchronous load mode cannot be selected in
		non-quadrature clock mode.

		Non-synchronous:
			A logic low level is the active level at this index
			input. The index function (as enabled via
			set_to_preset_on_index) is performed directly on the
			active level of the index input.

		Synchronous:
			Intended for interfacing with encoder Index output in
			quadrature clock mode. The active level is configured
			via index_polarity. The index function (as enabled via
			set_to_preset_on_index) is performed synchronously with
			the quadrature clock on the active level of the index
			input.
+0 −8
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/sensor_sensitivity
Date:		January 2017
KernelVersion:	4.11
Contact:	linux-iio@vger.kernel.org
Description:
		Show or set the gain boost of the amp, from 0-31 range.
		default 31

What:		/sys/bus/iio/devices/iio:deviceX/sensor_max_range
Date:		January 2017
KernelVersion:	4.11
+2 −1
Original line number Diff line number Diff line
@@ -6,4 +6,5 @@ Description:
		Controls the heater device within the humidity sensor to get
		rid of excess condensation.

		Valid control values are 0 = OFF, and 1 = ON.
		In some devices, this is just a switch in which case 0 = OFF,
		and 1 = ON.
Loading