Commit Graph

1740 Commits

Author SHA1 Message Date
Joachim Eastwood
a583c24dee iio: adc: add NXP LPC18xx ADC driver
Add base support for the 10-bit SAR ADC peripheral found
on NXP LPC18xx/43xx SoCs.

This is a minimal driver that does not support burst mode,
interrupts, DMA or hardware triggers.

User manual with register description can be found on:
LPC18xx: www.nxp.com/documents/user_manual/UM10430.pdf
LPC43xx: www.nxp.com/documents/user_manual/UM10503.pdf

Signed-off-by: Joachim Eastwood <manabian@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-12 18:11:48 +00:00
Alison Schofield
08a3380551 iio: core: implement iio_device_{claim|release}_direct_mode()
It is often the case that the driver wants to be sure a device stays
in direct mode while it is executing a task or series of tasks.  To
accomplish this today, the driver performs this sequence: 1) take the
device state lock, 2) verify it is not in a buffered mode, 3) execute
some tasks, and 4) release that lock.

This patch introduces a pair of helper functions that simplify these
steps and make it more semantically expressive.

iio_device_claim_direct_mode()
        If the device is not in any buffered mode it is guaranteed
        to stay that way until iio_release_direct_mode() is called.

iio_device_release_direct_mode()
        Release the claim. Device is no longer guaranteed to stay
        in direct mode.

Signed-off-by: Alison Schofield <amsfield22@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-12 11:17:19 +00:00
Martin Kepplinger
e8731180fb iio: mma8452: add support for FXLS8471Q
This adds support for Freescale's (now NXP's) FXLS8471Q accelerometer.

We use MMA8451Q's configuration because for what the driver supports,
FXLS8471Q is the same.

Support for FXLS8471Q's features (fast SPI interface and a larger FIFO,
among others) can be added to this driver anytime.

See it's datasheet for the details:
http://cache.nxp.com/files/sensors/doc/data_sheet/FXLS8471Q.pdf

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-12 10:49:52 +00:00
Tiberiu Breana
1e52fefc9b iio: accel: Add support for the h3lis331dl accelerometer
This commit adds support for STMicroelectronics h3lis331dl high-g
accelerometer. The datasheet for this device can be found here:

http://www.st.com/web/en/resource/technical/document/
datasheet/DM00053090.pdf

Signed-off-by: Tiberiu Breana <tiberiu.a.breana@intel.com>
Reviewed-by: Denis Ciocca <denis.ciocca@st.com>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-12 10:19:07 +00:00
Krzysztof Kozlowski
e84a41d5db iio: adc: Fix build error of missing devm_ioremap_resource on UM
The devres.o gets linked if HAS_IOMEM is present so on ARCH=um
allyesconfig (COMPILE_TEST) failed with:

drivers/built-in.o: In function `at91_adc_probe':
at91-sama5d2_adc.c:(.text+0x48f548): undefined reference to `devm_ioremap_resource'

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 18:48:14 +00:00
Matt Ranostay
c816d9e7a5 iio: imu: mpu6050: fix possible NULL dereferences
Fix possible null dereferencing of i2c and spi driver data.

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 17:51:10 +00:00
Martin Kepplinger
96c0cb2bbf iio: mma8452: add support for runtime power management
This adds support for runtime power management and, if configured, activates
automatic standby after 2 seconds of inactivity.

Inactivity means no read of acceleration values and no events triggered or
activated.

If CONFIG_PM is not set, this doesn't change anything for existing users.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 17:27:56 +00:00
Martin Kepplinger
e866853d67 iio: mma8452: avoid switching to active because of config change
The devices' config registers can only be changed in standby mode.
Up until now the driver just held the device *always* active, so for
changing a config it was *always* necessary to switch to standby.

For upcoming support for runtime pm, the device can as well be in standby
mode. Instead of putting runtime pm functions in there, just keep the
device in standby if it already is. This section is protected by a lock
after all.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 17:22:16 +00:00
Martin Kepplinger
8b8ff3a6a6 iio: mma8452: coding style fixes
fix checkpatch issues like "space before tabs", too long lines or alignment.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 17:18:14 +00:00
Gregor Boirie
63d5d525cb iio:magnetometer:ak8975: power regulator support
Add support for an optional regulator which, if found into device-tree,
will power on device at probing time.
The regulator is declared into ak8975 DTS entry as a "vdd-supply" property.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 15:25:58 +00:00
Gregor Boirie
d3546af67f iio:magnetometer:ak8975: remove unused field
Remove unused struct ak8975_data attrs field.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 15:25:10 +00:00
Gregor Boirie
55c0c530f7 iio:magnetometer:ak8975: fix uninitialized chipset
ak_def_array bounds are not properly checked in case of ACPI matching
failure. GCC warns with the following message at line 799:
‘chipset’ may be used uninitialized in this function.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 15:18:05 +00:00
Ludovic Desroches
f0fa15cce1 iio:adc:at91-sama5d2: fix identation
Remove some extra tabs.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 15:02:59 +00:00
Ludovic Desroches
43d33f7458 iio:adc:at91-sama5d2: fix typo
Fix typo in the name of a macro.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 15:01:46 +00:00
Gregor Boirie
033691a9a1 iio:pressure:ms5611: oversampling rate support
Add support for setting and retrieving OverSampling Rate independently for
each of the temperature and pressure channels. This allows userspace to
fine tune hardware sampling process according to the following tradeoffs :
* the higher the OSR, the finer the resolution ;
* the higher the OSR, the lower the noise ;
BUT:
* the higher the OSR, the larger the drift ;
* the higher the OSR, the longer the response time, i.e. less samples per
  unit of time.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 14:45:14 +00:00
Grégor Boirie
7a948c5e05 iio:pressure:ms5611: complete DT support
Add device-tree ID tables and document bindings.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 14:41:00 +00:00
Matt Ranostay
844a656367 iio: potentiometer: tpl0102: change i2c functionality return code
Change i2c_check_functionality condition check return from ENOTSUPP to
EOPNOTSUPP which is now the standard return code.

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-05 14:00:57 +00:00
Grygorii Strashko
ac65ca682e iio: adc: palmas: Drop IRQF_EARLY_RESUME flag
Palmas gpadc IRQs are nested threaded and this flag is not required for nested
irqs anymore, since commit 3c646f2c6a ("genirq: Don't suspend nested_thread
irqs over system suspend") was merged.

Cc: Hartmut Knaack <knaack.h@gmx.de>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Peter Meerwald <pmeerw@pmeerw.net>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-27 17:20:52 +00:00
Matt Ranostay
f8d9d3b434 iio: convert to common i2c_check_functionality() return value
Previously most drivers that used a i2c_check_functionality() check
condition required various error codes on failure. This patchset
converts to a standard of -EOPNOTSUPP

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-27 17:17:43 +00:00
Matt Ranostay
33da559f86 iio: imu: mpu6050: add mpu6500 register settings
Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-25 19:54:27 +00:00
Matt Ranostay
d509844714 iio: imu: mpu6050: add calibration offset support
Allow setting of the x/y/z axes calibration offsets for the gyroscope
and accelerometer.

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-25 19:53:30 +00:00
Matt Ranostay
725f645d87 iio: imu: mpu6050: add missing docstring for int_pin_cfg
Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-25 19:48:57 +00:00
Matt Ranostay
8f356be3fe iio: imu: mpu6050: fix INV_MPU6050_REG_UP_TIME delay
replace msleep(INV_MPU6050_REG_UP_TIME) with usleep_range calls
due to fact the wait time is under 20 milliseconds.

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-25 19:48:47 +00:00
Matt Ranostay
115f0341bc iio: imu: mpu6050: use inv_mpu6050_sensor_show return code
Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-25 19:48:30 +00:00
Sanchayan Maity
1b983bf42f iio: dac: vf610_dac: Add IIO DAC driver for Vybrid SoC
Add driver support for DAC peripheral on Vybrid SoC.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:52:55 +00:00
Andrew F. Davis
1961bce764 iio: ina2xx: Remove trace_printk debug statments
These are generally for devlopment use only, remove these
from performance-critical code, convert to dev_dbg elswhere.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:44:20 +00:00
Andrew F. Davis
7906dd52c5 iio: ina2xx: Fix whitespace and re-order code
Group of probably overly rigorous whitespace and code cleanups.
 - Alphabetize includes
 - Assign to variables in the order they are defined
 - Alignment issues
 - Group alike statements together
 - Use helper macros

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:44:06 +00:00
Matt Ranostay
2edbd2955d iio: potentiometer: add TI tpl0102 support
Add support for the TI family of digital potentiometers.

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:48 +00:00
Matt Ranostay
3afdf6cf9d iio: imu: mpu6050: remove trailing whitespaces
removed several trailing whitespaces before assignment operations

Signed-off-by: Matt Ranostay <matt.ranostay@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:48 +00:00
Grégor Boirie
3145229f91 iio:pressure:ms5611: power regulator support
Add support for an optional regulator which, if found into device-tree,
will power on device at probing time.
The regulator is declared into ms5611 DTS entry as a "vdd-supply" property.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:47 +00:00
Grégor Boirie
eac635ebad iio:pressure:ms5611: use probed device name
Use name of probed device instead of driver's one when registering device.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:46 +00:00
Gregor Boirie
ce5b8fc163 iio:pressure:ms5611: fix ms5607 temp compensation
Computation of sens2 was wrong and is fixed by this patch, sens2 should be:
    2 * (t - 2000)^2
See page 8 of ms5607 datasheet here:
    http://www.meas-spec.com/product/pressure/MS5607-02BA03.aspx

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Acked-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:46 +00:00
Daniel Baluta
fc0dccdda1 iio: imu: inv_mpu6050: Fix alignment with open parenthesis
This makes code consistent around inv_mpu6050 driver and
fixes the following checkpatch.pl warning:
CHECK: Alignment should match open parenthesis

Note that there were few cases were it was not possible to
fix this due to making the line too long, but we can live with that.

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:45 +00:00
Daniel Baluta
371a76603c iio: imu: inv_mpu6050: Fix code indent for if statement
This fixes the following checkpatch.pl warning:

WARNING: suspect code indent for conditional statements (8, 24)
+       if (kfifo_len(&st->timestamps) >
[...]
+                       goto flush_fifo;

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:44 +00:00
Daniel Baluta
aeeb18fcf6 iio: imu: inv_mpu6050: Delete space before comma
This fixes the following checkpatch.pl warning:

ERROR: space prohibited before that ',' (ctx:WxE)
		.shift = 0 ,

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:44 +00:00
Daniel Baluta
0e79137531 iio: imu: inv_mpu6050: Remove unnecessary parentheses
Fixes the following checkpatch warning:
CHECK: Unnecessary parentheses around cpm->package.elements[i]

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:43 +00:00
Daniel Baluta
d92241a0dc iio: imu: inv_mpu6050: Fix newlines to make code easier to read
This fixes the following checkpatch.pl warnings:
	* WARNING: Missing a blank line after declarations
	* CHECK: Blank lines aren't necessary before a close brace '}'

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:43 +00:00
Daniel Baluta
acf7146ec9 iio: imu: inv_mpu6050: Fix Yoda conditions
This fixes the following checkpatch warning:
	* WARNING: Comparisons should place the constant
	  on the right side of the test

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Acked-by: Crt Mori <cmo@melexis.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:42 +00:00
Daniel Baluta
23c5edccbf iio: imu: inv_mpu6050: Fix multiline comments style
The preffered style for long (multi-line) comments is:

/*
 * this is a multiline
 * comment
 */

This also fixes checkpatch.pl warning:
WARNING: Block comments use * on subsequent lines

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:41 +00:00
Matt Ranostay
98e55e93a0 iio: chemical: atlas-ph-sensor: use regmap_bulk_read
Replaced i2c_smbus_read_i2c_block_data() with regmap_bulk_read()
function call. This is to make the driver code more consistent.

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:40 +00:00
Cristina Moraru
7247645f68 iio: hmc5843: Move hmc5843 out of staging
This patch moves hmc5843 driver from staging/iio/magnetometer
to iio/magnetometer, updates the corresponding Makefiles and
moves the hmc5843* entries to the 'Industrial I/O support ->
Magnetometer sensors' menu.

Signed-off-by: Cristina Moraru <cristina.moraru09@gmail.com>
Cc: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-24 20:40:39 +00:00
Matt Ranostay
0d43b34688 iio: chemical: atlas-ph-sensor: switch regmap cache
switch from using REGCACHE_FLAT to REGCACHE_RBTREE so initial hw values
are read from device. This also allows some volatile ranges to be
dropped.

Note that REGCACHE_FLAT is intended only for very low lag cases so doesn't
do nice things like read initial values from the device.  Hence this change.

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-19 18:57:13 +00:00
Arnd Bergmann
3d5032a046 iio: pressure: ms5611: select IIO_BUFFER
The ms5611 driver started using the IIO_TRIGGERED_BUFFER infrastructure
which in turn depend on IIO_BUFFER, and it produces a build error now
if that is not enabled:

warning: (... && MS5611 && ...) selects IIO_TRIGGERED_BUFFER which has unmet direct dependencies (IIO && IIO_BUFFER)
buffer/industrialio-triggered-buffer.c: In function 'iio_triggered_buffer_setup':
buffer/industrialio-triggered-buffer.c:58:2: error: implicit declaration of function 'iio_device_attach_buffer' [-Werror=implicit-function-declaration]
pressure/ms5611_core.c: In function 'ms5611_trigger_handler':
pressure/ms5611_core.c:193:2: error: implicit declaration of function 'iio_push_to_buffers_with_timestamp' [-Werror=implicit-function-declaration]

This adds the second select.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 713bbb4efb ("iio: pressure: ms5611: Add triggered buffer support")
Acked-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-17 20:50:01 +00:00
Arnd Bergmann
0e6071ab76 iio: health/afe4404: mark suspend/resume functions __maybe_unused
The newly added afe4404 driver implements suspend/resume using the
SIMPLE_DEV_PM_OPS() macro, which leaves out references to the actual
functions when CONFIG_PM is disabled, causing a harmless warning:

health/afe4404.c:509:12: error: 'afe4404_suspend' defined but not used
health/afe4404.c:530:12: error: 'afe4404_resume' defined but not used

This marks the functions as __maybe_unused so we don't get those
warnings.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 87aec56e27 ("iio: health: Add driver for the TI AFE4404 heart monitor")
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-17 19:36:01 +00:00
Arnd Bergmann
9e8be75e27 iio: health/afe4403: mark suspend/resume functions __maybe_unused
The newly added afe4403 driver implements suspend/resume using the
SIMPLE_DEV_PM_OPS() macro, which leaves out references to the actual
functions when CONFIG_PM is disabled, causing a harmless warning:

health/afe4403.c:509:12: error: 'afe4403_suspend' defined but not used
health/afe4403.c:530:12: error: 'afe4403_resume' defined but not used

This marks the functions as __maybe_unused so we don't get those
warnings.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: eec96d1e2d ("iio: health: Add driver for the TI AFE4403 heart monitor")
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-17 19:35:28 +00:00
Arnd Bergmann
f56293c75b iio: health/afe4403: select REGMAP_SPI
The newly added afe4403 driver uses the regmap facility to abstract
the I2C and SPI access. However, it fails to ensure that regmap_spi
is actually present:

drivers/iio/built-in.o: In function `afe4403_probe':
:(.text+0x9bf8): undefined reference to `__devm_regmap_init_spi'

This adds a Kconfig select statement like the afe4404 I2C driver
has.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: eec96d1e2d ("iio: health: Add driver for the TI AFE4403 heart monitor")
Acked-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-17 19:31:06 +00:00
Greg Kroah-Hartman
d9750a2f9e 2nd round of new IIO device support, features and cleanups for the 4.6 cycle.
New Device Support
 * Apex stx104 DAC
   - new driver for this PC104 board. Right now DAC support only.
 * ADI ad5064
   - Add support for ad5625, ad5627, ad5645, ad5665, ad5667 DACs.
   - Add support for Linear Technology ltc2606, ltc2607, ltc2609, ltc2616,
     ltc2617, ltc2619, ltc2626, ltc2627 and ltc2629.
 * ADI ad7192
   - add support for the ad7193
 * Invensense mpu6050
   - substantial rework of driver to use regmap allowing SPI support extending
     the now split driver to cover the MPU6000.
 * TI adc0832
   - new driver supporting ADC0831, ADC0832, ADC0834 and ADC0838 ADCs.
 * TI ads1015
   - new driver, note that there is an existing hwmon driver. The long term
     intention is to probably remove the hwmon driver but for now we just have
     guards in place to ensure this driver is not built if that one is enabled.
 * TI afe4403
   - new driver for this heart rate monitor / pulse oximeter front end chip.
 * TI afe4404
   - new driver for this heart rate monitor / pulse oximeter front end chip.
 
 Staging Graduations
 * mxs-lradc
   - A combined general purpose and touch screen (input) device driver.
     Originally held in staging to allow reworking into and MFD but as
     that wasn't happening and isn't an absolute requirement we are moving
     it out of staging.
 
 Driver new features
 * ms5611
   - triggered buffer support
   - IIO_CHAN_INFO_SCALE to aid the triggered buffer support.
 
 Driver cleanups / reworks / fixes
 * ad5064
   - Use an enum for the register map layout to allow support of additional
     chips (precursor to the new support listed above).
   - Structural driver changes to allow support of the slightly different
     handling for the ltc parts above.
 * ad5933
   - drop an exceptional & unnecessary for a function pointer.
 * ad7606
   - Cleanup the repeated copies of pm ops.
   - consolidate the various channels specs via a sport of rearranging so only
     one version is needed.
 * atlas ph sensor
   - add select IRQ_WORK
 * hmc8543 (soon to move out of staging)
   - Comment style fixes
   - functionality of suspend and resume was swapped.
 * spear-adc
   - use devm_clk_dev instead of managing the clk lifetime by hand.
 
 Core
 * Use new dmaengine_terminate_sync call to avoid a theoretical race.
 * Fix docs for mlock in struct iio_dev as it is correctly taken in some
   drivers (docs used to say for core only).
 * Add a helper function for calculating the scan index storage size within
   the core cutting out some cut and paste versions of the same code.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWwJeMAAoJEFSFNJnE9BaI9N8P/3nvhVTXXTkwl8UF22dAyRhP
 l6Szj8vk6M9yJ0z8sBPPzKRoPOESuZU/N8BndN5w17Em3fU9k3Qe6CaUYGTKziFt
 hzuL1ySpnrGphKZR6AfONKR6m+yfk+PYVPJlMG1EEdop2nkMyezoZxh9yjNXfm9H
 gekh41rz8LrAluG4n88XdJMzIGBRfup7PPt+sJ5Ao6AMrrQVrx4DA+dTaoVJ50ED
 rvh1DIwUDH158a27Wgc5QgxyA2dSL+65KiD6HR69XKq3exUZ6AlvXHCHwOZR8/xp
 /MtBNP7V9C0vO7PBNIxRQWIdsLRQdfaiCJSWEHH1lqxQK2S6DFYzSXFCA8lQ448Q
 1qH8G2JiYzbzPVX9noXvuQJJYnGa1xsKvdOGFzi/mRXEGTaygPVYEjn2JN4WzRho
 zgAdLdI6RkPVuqDp7Mliu8lsC9giQoLD22Ln2z9AzF1PDMrCD+p2Ff+q+1xQip/q
 8B8AMniPkK8Bn5mMAGPrN6FqUt5cqtnRkECC/Yzg8B21qLcefeFmcwSecmOrd331
 +7PWWDOWCmHVMweo9whZhaS3yZFNerl7G2DzwDI76So+eeBFikFvgitTMbuWWlyG
 SXMqUqfelBs3SpftKlAKXxZ4PK/MEo45LzNSfbi0J69zpIFTqICR9nnN8/rN9ew0
 KhZtcL9Q1H6yJwGuefdp
 =LIQe
 -----END PGP SIGNATURE-----

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

Jonathan writes:

2nd round of new IIO device support, features and cleanups for the 4.6 cycle.

New Device Support
* Apex stx104 DAC
  - new driver for this PC104 board. Right now DAC support only.
* ADI ad5064
  - Add support for ad5625, ad5627, ad5645, ad5665, ad5667 DACs.
  - Add support for Linear Technology ltc2606, ltc2607, ltc2609, ltc2616,
    ltc2617, ltc2619, ltc2626, ltc2627 and ltc2629.
* ADI ad7192
  - add support for the ad7193
* Invensense mpu6050
  - substantial rework of driver to use regmap allowing SPI support extending
    the now split driver to cover the MPU6000.
* TI adc0832
  - new driver supporting ADC0831, ADC0832, ADC0834 and ADC0838 ADCs.
* TI ads1015
  - new driver, note that there is an existing hwmon driver. The long term
    intention is to probably remove the hwmon driver but for now we just have
    guards in place to ensure this driver is not built if that one is enabled.
* TI afe4403
  - new driver for this heart rate monitor / pulse oximeter front end chip.
* TI afe4404
  - new driver for this heart rate monitor / pulse oximeter front end chip.

Staging Graduations
* mxs-lradc
  - A combined general purpose and touch screen (input) device driver.
    Originally held in staging to allow reworking into and MFD but as
    that wasn't happening and isn't an absolute requirement we are moving
    it out of staging.

Driver new features
* ms5611
  - triggered buffer support
  - IIO_CHAN_INFO_SCALE to aid the triggered buffer support.

Driver cleanups / reworks / fixes
* ad5064
  - Use an enum for the register map layout to allow support of additional
    chips (precursor to the new support listed above).
  - Structural driver changes to allow support of the slightly different
    handling for the ltc parts above.
* ad5933
  - drop an exceptional & unnecessary for a function pointer.
* ad7606
  - Cleanup the repeated copies of pm ops.
  - consolidate the various channels specs via a sport of rearranging so only
    one version is needed.
* atlas ph sensor
  - add select IRQ_WORK
* hmc8543 (soon to move out of staging)
  - Comment style fixes
  - functionality of suspend and resume was swapped.
* spear-adc
  - use devm_clk_dev instead of managing the clk lifetime by hand.

Core
* Use new dmaengine_terminate_sync call to avoid a theoretical race.
* Fix docs for mlock in struct iio_dev as it is correctly taken in some
  drivers (docs used to say for core only).
* Add a helper function for calculating the scan index storage size within
  the core cutting out some cut and paste versions of the same code.
2016-02-14 11:10:38 -08:00
Daniel Baluta
ecc24e72f4 iio: adc: Add TI ADS1015 ADC driver support
The driver has sysfs readings with runtime PM support for power saving.
It also offers buffer support that can be used together with IIO software
triggers.

Datasheet can be found here:
	http://www.ti.com.cn/cn/lit/ds/symlink/ads1015.pdf

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-13 20:54:15 +00:00
William Breathitt Gray
97a445dad3 iio: Add IIO support for the DAC on the Apex Embedded Systems STX104
The Apex Embedded Systems STX104 is a 16-channel 16-bit analog input and
2-channel 16-bit analog output PC/104 card. The STX104 incorporates a
large one mega-sample FIFO.

This driver provides IIO support for the 2-channel DAC on the STX104.
The base port addresses for the devices may be configured via the "base"
module parameter array.

Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-13 20:54:14 +00:00
Adriana Reus
fd64df16f4 iio: imu: inv_mpu6050: Add SPI support for MPU6000
The only difference between the MPU6000 and the
MPU6050 is that the first also supports SPI.
Add SPI driver for this chip.

Signed-off-by: Adriana Reus <adriana.reus@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-13 20:54:07 +00:00