Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

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

Jonathan writes:

First round of new driver, new functionality and cleanups for IIO in the 4.4 cycle

New device support
* APDS9960 ALS + proximity driver
* bmg160 SPI devices.
* HDC100x humidity sensors
* Holt HI-8435 threshold detector
* mma8453Q accelerometer added to the mma8452 driver
* mma86452FC and mma8653FC accelerometers added to the mma8452 driver
* mxc4005 accelerometer
* PulsedLight LIDAR
* SensorTech VZ89x volatile organic compound sensor
* UPISEMI uS5182d ALS and proximity sensors

New core functionality
* triggered events - use triggers to check for changes in threshold type
  detectors on devices with out interrupt support.  First user is the holt
  comparator.
* chemical concentration and resistance channel types.

New driver functionality
* vf610
  - buffer support.
  - followup coccinelle warning fix.

Core rework
* buffers
  - break out callback buffer to own module.
  - move buffer implementations to a new subdirectory
* percolate the error code form iio_event_getfd out to userspace
  rather than giving a missleading error later on.

Cleanups
* adddac drivers
  - use BIT macro where appropriate.
* meter drivers
  - use BIT macro where appropriate.

* ad7303
 - add an OF match table to line up with the binding docs.
* adc128s052
  - add an OF match table to line up with the binding docs.
* adf4350
  - add an OF match table to line up with the binding docs
* as3935
  - add an OF match table to line up with the binding docs.
* berlin2-adc
  - use GENMASK and BIT for masks
  - prevent attempting to sample multiple channels at once by moving a
    mutex scop
  - coding style cleanups
* bmg150_magn
  - kconfig sort order was wrong - fix it.
* bmg160
  - use i2c regmap and drop all uses of i2c_client
  - separate i2c and core driver
* cc10001_adc
  - kconfig sort order was wrong - fix it.
* evgen (dummy driver helper module)
  - move interrupt generation to irq_work to reduce differences between
    the dummy driver and real hardware drivers.
* hmc5843
  - set the name dynamically rather than to a fixed value for one of the
    suported parts.
  - export module alias information to allow autoprobing of module.
* lpc32xx
  - on failure to get resource or irq return -ENXIO as uppose to -EBUSY
* max1027
  - set .of_match_table to actually allow OF style matching.
* max5821
  - add MODULE_DEVICE_TABLE for OF table.
* mma8452
  - refactor to separate out chip specific data.
  - add freefall / motion interrupt source for devices that do their
    interrupts slightly differently.
  - update copywrite notice.
  - leave naming of events directory in sysfs to the core
* mcp320x
  - set .of_match_table so that it can be use for OF style matching.
* mlx90614
  - Implement filter configuration (note the datasheet changed as a result
    of the driver reviews to include the values we needed ;)
* opt3001
  - drop .owner field as assigned by platform driver core.
* si7020
  - replace a bitmask on the humidity values with a more correct range
    check.
* stk310
  - improved error handling.
  - use BIT macro where appropriate and use the resulting defines
    instead of magic numbers in the code.
  - fix indentation
* st-sensors
  - add debugfs register read hook
* tsl4531
  - fix error handling in check_id
* twl6030
  - fix module autoload for OF
* iio-trig-sysfs
  - document add and remove attribute
* trigger in staging
  - code alignment fixes.
  - braces on both branches of if statement if needed for one.
* xilinx-xadc
  - push interrupts into hardirq context as there isn't much in them
    any more and it avoids breaking PREEMPT_RT builds due to the use
    of a spinlock between the hardirq and the thread.

Tools
* event-monitor
  - report unsupported events.  We keep expanding what can come from drivers
    so give a helpful error if one turns up in an out of date userspace
    program.
* generic-buffer
  - helpful message about needing to enable a channel to start the buffer.
parents 99207b80 1d2f1e08
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -581,6 +581,7 @@ What: /sys/.../iio:deviceX/events/in_voltageY_supply_thresh_rising_en
What:		/sys/.../iio:deviceX/events/in_voltageY_supply_thresh_falling_en
What:		/sys/.../iio:deviceX/events/in_voltageY_thresh_rising_en
What:		/sys/.../iio:deviceX/events/in_voltageY_thresh_falling_en
What:		/sys/.../iio:deviceX/events/in_voltageY_thresh_either_en
What:		/sys/.../iio:deviceX/events/in_tempY_thresh_rising_en
What:		/sys/.../iio:deviceX/events/in_tempY_thresh_falling_en
KernelVersion:	2.6.37
@@ -1459,3 +1460,22 @@ 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/bus/iio/devices/iio:deviceX/in_concentration_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_concentrationX_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_co2_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_concentrationX_co2_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_voc_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_concentrationX_voc_raw
KernelVersion:	4.3
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled no offset etc.) percentage reading of a substance.

What:		/sys/bus/iio/devices/iio:deviceX/in_resistance_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_resistanceX_raw
KernelVersion:	4.3
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled no offset etc.) resistance reading that can be processed
		into an ohm value.
+43 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/in_voltageY_sensing_mode
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Program sensor type for threshold detector inputs.
		Could be either "GND-Open" or "Supply-Open" mode. Y is a
		threshold detector input channel. Channels 0..7, 8..15, 16..23
		and 24..31 has common sensor types.

What:		/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_falling_value
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Channel Y low voltage threshold. If sensor input voltage goes lower then
		this value then the threshold falling event is pushed.
		Depending on in_voltageY_sensing_mode the low voltage threshold
		is separately set for "GND-Open" and "Supply-Open" modes.
		Channels 0..31 have common low threshold values, but could have different
		sensing_modes.
		The low voltage threshold range is between 2..21V.
		Hysteresis between low and high thresholds can not be lower then 2 and
		can not be odd.
		If falling threshold results hysteresis to odd value then rising
		threshold is automatically subtracted by one.

What:		/sys/bus/iio/devices/iio:deviceX/events/in_voltageY_thresh_rising_value
Date:		August 2015
KernelVersion:	4.2.0
Contact:	source@cogentembedded.com
Description:
		Channel Y high voltage threshold. If sensor input voltage goes higher then
		this value then the threshold rising event is pushed.
		Depending on in_voltageY_sensing_mode the high voltage threshold
		is separately set for "GND-Open" and "Supply-Open" modes.
		Channels 0..31 have common high threshold values, but could have different
		sensing_modes.
		The high voltage threshold range is between 3..22V.
		Hysteresis between low and high thresholds can not be lower then 2 and
		can not be odd.
		If rising threshold results hysteresis to odd value then falling
		threshold is automatically appended by one.
+7 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/in_concentration_VOC_short_raw
Date:		September 2015
KernelVersion:	4.3
Contact:	Matt Ranostay <mranostay@gmail.com>
Description:
		Get the raw calibration VOC value from the sensor.
		This value has little application outside of calibration.
+9 −0
Original line number Diff line number Diff line
What:		/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw
What:		/sys/bus/iio/devices/iio:deviceX/out_current_heater_raw_available
KernelVersion:	4.3
Contact:	linux-iio@vger.kernel.org
Description:
		Controls the heater device within the humidity sensor to get
		rid of excess condensation.

		Valid control values are 0 = OFF, and 1 = ON.
+22 −0
Original line number Diff line number Diff line
@@ -18,3 +18,25 @@ Description:
		trigger. In order to associate the trigger with an IIO device
		one should write this name string to
		/sys/bus/iio/devices/iio:deviceY/trigger/current_trigger.

What:		/sys/bus/iio/devices/iio_sysfs_trigger/add_trigger
KernelVersion:	2.6.39
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is provided by the iio-trig-sysfs stand-alone
		driver and it is used to activate the creation of a new trigger.
		In order to achieve this, one should write a positive integer
		into the associated file, which will serve as the id of the
		trigger. If the trigger with the specified id is already present
		in the system, an invalid argument message will be returned.

What:		/sys/bus/iio/devices/iio_sysfs_trigger/remove_trigger
KernelVersion:	2.6.39
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute is used to unregister and delete a previously
		created trigger from the list of available triggers. In order to
		achieve this, one should write a positive integer into the
		associated file, representing the id of the trigger that needs
		to be removed. If the trigger can't be found, an invalid
		argument message will be returned to the user.
Loading