The following Coccinelle script was used to detect this:
@r@
expression x;
void* e;
type T;
identifier f;
@@
(
*((T *)e)
|
((T *)x)[...]
|
((T*)x)->f
|
- (T*)
e
)
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The following Coccinelle script was used to detect this:
@r@
expression x;
void* e;
type T;
identifier f;
@@
(
*((T *)e)
|
((T *)x)[...]
|
((T*)x)->f
|
- (T*)
e
)
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The following Coccinelle script was used to detect this:
@r@
expression x;
void* e;
type T;
identifier f;
@@
(
*((T *)e)
|
((T *)x)[...]
|
((T*)x)->f
|
- (T*)
e
)
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The following Coccinelle script was used to detect this:
@r@
expression x;
void* e;
type T;
identifier f;
@@
(
*((T *)e)
|
((T *)x)[...]
|
((T*)x)->f
|
- (T*)
e
)
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Change the name of function from adis16060_spi_write_than_read()
to adis16060_spi_write_then_read(). change "than" to "then" as
its time depended.
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
event_attrs filed of iio_info structure. As the event_attrs field of
iio_info structures is constant, so these attribute_group structures can
also be declared constant. Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.event_attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
As the attrs field of iio_info structures is also constant, so these
attribute_group structures can also be declared constant. Done manually.
File size before:
text data bss dec hex filename
5798 2376 0 8174 1fee drivers/iio/light/lm3533-als.o
File size after:
text data bss dec hex filename
5926 2248 0 8174 1fee drivers/iio/light/lm3533-als.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Aspeed BMC SoCs include a 16 channel, 10-bit ADC. Low and high threshold
interrupts are supported by the hardware but are not currently implemented.
Signed-off-by: Rick Altherr <raltherr@google.com>
Tested-by: Xo Wang <xow@google.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Rick Altherr <raltherr@google.com>
Acked-by: Joel Stanley <joel@jms.id.au>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
As the event_attrs field of iio_info structures is constant, so these
attribute_group structures can also be declared constant.
File size before:
text data bss dec hex filename
15064 1528 0 16592 40d0
drivers/staging/iio/light/tsl2x7x_core.o
File size after:
text data bss dec hex filename
15192 1400 0 16592 40d0
drivers/staging/iio/light/tsl2x7x_core.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
attrs filed of iio_info structure. As the attrs field of iio_info
structures is constant, so these attribute_group structures can also be
declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
3042 480 0 3522 dc2 drivers/iio/adc/hx711.o
File size after:
text data bss dec hex filename
3098 416 0 3514 dba drivers/iio/adc/hx711.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
attrs filed of iio_info structure. As the attrs field of iio_info
structures is constant, so these attribute_group structures can also be
declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
3459 488 0 3947 f6b drivers/iio/humidity/hdc100x.o
File size after:
text data bss dec hex filename
3507 424 0 3931 f5b drivers/iio/humidity/hdc100x.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
attrs filed of iio_info structure. As the attrs field of iio_info
structures is constant, so these attribute_group structures can also be
declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
8503 488 0 8991 231f drivers/iio/light/apds9960.o
File size after:
text data bss dec hex filename
8567 424 0 8991 231f drivers/iio/light/apds9960.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
attrs filed of iio_info structure. As the attrs field of iio_info
structures is constant, so these attribute_group structures can also be
declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
2276 352 0 2628 a44 drivers/iio/light/bh1750.o
File size after:
text data bss dec hex filename
2340 320 0 2660 a64 drivers/iio/light/bh1750.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
attrs filed of iio_info structure. As the attrs field of iio_info
structures is constant, so these attribute_group structures can also be
declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
4037 288 0 4325 10e5 drivers/iio/proximity/as3935.o
File size after:
text data bss dec hex filename
4101 256 0 4357 1105 drivers/iio/proximity/as3935.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
On Motorola phones like droid 4 there is a custom CPCAP PMIC. This PMIC
has ADCs that are used for battery charging and USB PHY VBUS and ID pin
detection.
Unfortunately the only documentation for this ADC seems to be the
Motorola mapphone Linux kernel tree. I have tested that reading raw and
scaled values works, but I have not used the timed sampling that the ADC
seems to support.
Let's add a minimal support for it so we can eventually provide IIO
channels for the related battery charging and USB PHY drivers.
Cc: devicetree@vger.kernel.org
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The driver needs to insure atomicity during frequency
changes of bus and device. The iiodev->mlock as used
was not doing that. Replace it with the drivers existing
buffer lock and introduce an auxiliary spi_write() that does
not hold the lock.
Signed-off-by: Gargi Sharma <gs051095@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Replace a comma between expression statements by a semicolon. This
changes the semantics of the code, but given the current indentation
appears to be what is intended.
A simplified version of the Coccinelle semantic patch that performs this
transformation is as follows:
// <smpl>
@r@
expression e1,e2;
@@
e1
-,
+;
e2;
// </smpl>
Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Replace a comma between expression statements by a semicolon. This
changes the semantics of the code, but given the current indentation
appears to be what is intended.
A simplified version of the Coccinelle semantic patch that performs this
transformation is as follows:
// <smpl>
@r@
expression e1,e2;
@@
e1
-,
+;
e2;
// </smpl>
Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
event_attrs filed of iio_info structure. As the event_attrs field of
iio_info structures is constant, so these attribute_group structures can
also be declared constant.
Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.event_attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
26051 464 0 26515 6793 drivers/iio/adc/ad799x.o
File size after:
text data bss dec hex filename
26115 400 0 26515 6793 drivers/iio/adc/ad799x.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
event_attrs filed of iio_info structure. As the event_attrs field of
iio_info structures is constant, so these attribute_group structures can
also be declared constant. Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.event_attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
36951 448 0 37399 9217 drivers/iio/adc/max1363.o
File size after:
text data bss dec hex filename
37015 384 0 37399 9217 drivers/iio/adc/max1363.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Check for attribute_group structures that are only stored in the
event_attrs filed of iio_info structure. As the event_attrs field of
iio_info structures is constant, so these attribute_group structures can
also be declared constant. Done using coccinelle:
@r1 disable optional_qualifier @
identifier i;
position p;
@@
static struct attribute_group i@p = {...};
@ok1@
identifier r1.i;
position p;
struct iio_info x;
@@
x.event_attrs=&i@p;
@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
static
+const
struct attribute_group i={...};
@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct attribute_group i;
File size before:
text data bss dec hex filename
3046 360 0 3406 d4e drivers/iio/dac/ad5504.o
File size after:
text data bss dec hex filename
3110 296 0 3406 d4e drivers/iio/dac/ad5504.o
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Symbolic permissions 'S_IWUSR | S_IRUGO' are not preferred. Consider using
octal permissions '0644'. Found running checkpatch.
Signed-off-by: Olivier Leveque <o_leveque@orange.fr>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Fixes three checkpatch warnings due to braces used when single
statements are sufficient.
Signed-off-by: Mark Stenglein <mark@stengle.in>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Standard deviation is calculated as the square root of the variance
where variance is the mean of sample_sum and length. Correct the
computation of statP->stddev in accordance to the proper calculation.
Fixes: 3c97c08b57 ("staging: iio: add TAOS tsl2x7x driver")
Reported-by: Abhiram Balasubramanian <abhiram@cs.utah.edu>
Signed-off-by: Eva Rachel Retuya <eraretuya@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Environmental humidity sensor is a hid defined sensor,
it shows raw humidity measurement of air.
More information can be found in:
http://www.usb.org/developers/hidpage/HUTRR39b.pdf
According to IIO ABI definition, humidityrelative data output unit is
milli percent. Add the unit convert from percent to milli percent.
Signed-off-by: Song Hongyan <hongyan.song@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Scale value include two parts: unit conversion and exponent conversion.
Add gravity unit convert table to fix gravity sensor scale value not
right issue.
Signed-off-by: Song Hongyan <hongyan.song@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch adds support for STMicro VL6180 - ALS, range and proximity sensor. Sensor is capable of measuring the light
intensity as well as object distance using TOF (Time of Flight) technology.
Signed-off-by: Manivannan Sadhasivam <manivannanece23@gmail.com>
Signed-off-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Remove the extra parenthesis remove the checkpatch issue.
Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Use resourced managed function devm_iio_triggered_buffer_setup
to make error path simpler and be able to get rid of the remove
function.
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch adds calibration for the Meson SAR ADC.
Points 25% vref and 75% vref are used for calibration.
It uses a simple linear calibration function: SCALE * val + BIAS
Successfully tested on a Odroid C2.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
adis16203_read_raw does not need lock for IIO_CHAN_INFO_CALIBBIAS
since adis_read_reg_16 is already atomic and nothing else needs to be
protected.
Signed-off-by: Gargi Sharma <gs051095@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This was reported by checkpatch.pl:
CHECK: Alignment should match open parenthesis
Signed-off-by: Narcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This was reported by checkpatch.pl:
CHECK: Please use a blank line after function/struct/union/enum
declarations
Signed-off-by: Narcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This was reported by checkpatch.pl
Signed-off-by: Narcisa Ana Maria Vasile <narcisaanamaria12@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The IIO subsystem is redefining iio_dev->mlock to be used by
the IIO core only for protecting device operating mode changes.
ie. Changes between INDIO_DIRECT_MODE, INDIO_BUFFER_* modes.
In this driver, mlock was being used to protect hardware state
changes. Replace it with a lock in the devices global data.
Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch removes trailing whitespaces in order to follow the Linux
coding style.
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Alphabetize and separate kernel and subsystem headers.
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch replaces bit shifting on 1 with the BIT(x) macro.
This was done with coccinelle:
@@
constant c;
@@
-1 << c
+BIT(c)
Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The IIO subsystem is redefining iio_dev->mlock to be used by
the IIO core only for protecting device operating mode changes.
ie. Changes between INDIO_DIRECT_MODE, INDIO_BUFFER_* modes.
In this driver, mlock was being used to protect hardware state changes.
In the driver, buf_lock protects both the adis16060_spi_write() and
adis16060_spi_read() functions and both are always called in
pair. First write, then read. Refactor the code to have
one single function adis16060_spi_write_than_read() protected by
the buf_lock. This removes the need for additional locking via
mlock, so this locking is removed.
Signed-off-by: simran singhal <singhalsimran0@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
A good collection of outreachy related patches in here - mostly staging
driver cleanup. Also a fair number of patches added explicit OF device ID
tables for i2c drivers - a precursor to dropping (eventually) the implicit
probing.
New Device Support
* Allwinner SoC ADC.
- So far covers the sun4i-a10, sun5i-a13 and sun6i-a31 general purpose ADCs,
including thermal side of things.
This missed the last cycle due to my incompetence, so good to get in now,
particularly as various patches dependent on it are appearing.
* ltc2632
- new driver supporting ltc2632-l12, ltc2632-l10, ltc2632-l8, ltc2632-h12,
ltc-2632-h10, ltc-2632-h8 dacs
Cleanups
* Documentation
- drop a broken reference to i2c/trivial-devices
* ad2s1200
- drop & from function pointers for consistency.
* ad2s1210
- formatting fixes.
* ad7152
- octal permissions instead of symbolic.
- drop & from function pointers for consistent usage.
* ad7192
- drop & from function pointers for consistent usage.
* ad7280
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad7746
- drop & from function pointers for consistent usage.
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad7754
- move contents of header file into source file as not used anywhere else.
* ad7759
- move contents of header file into source file as not used anywhere else.
* ad7780
- drop & from function pointers for consistent usage.
* ad7832
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad9834
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
- drop an unnecessary goto in favour of direct return.
* adis16060
- drop & from function pointers as inconsistent.
* adis16201
- drop a local mutex as the adis core already protects everything necessary.
- drop & from function pointers for consistent usage.
* adis16203
- drop & from function pointers for consistent usage.
* adis16209
- drop a local mutex as the adis core already protects everything necessary.
- use an enum for scan index giving slightly nicer code.
- drop & from function pointers for consistent usage.
* adis16240
- drop a local mutex as the adis core already protects everything necessary.
- use an enum for scan index giving slightly nicer code.
- drop & from function pointers for consistent usage.
* apds9960
- add OF device ID table.
* bma180
- add OF device ID table.
- prefer unsigned int to bare use of unsigned.
* bmc150_magn
- add OF device ID table.
* hmp03
- add OF device ID table.
* ina2xx
- add OF device ID table.
* itg3200
- add OF device ID table.
* mag3110
- add OF device ID table.
* max11100
- remove .owner field as it is set by the spi core.
* max5821
- add .of_match_table set to the ID table which was present but not used.
* mcp4725
- add OF device ID table.
* mlx96014
- add OF device ID table.
* mma7455
- add OF device ID table.
* mma7660
- add OF device ID table.
* mpl3115
- add OF device ID table.
* mpu6050
- add OF device ID table.
* pc104
- mask pc104 drivers behind a global pc104 config option.
* ti-ads1015
- add OF device ID table.
* tsl2563
- add OF device ID table.
* us5182d
- add OF device ID table.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAljRe1MRHGppYzIzQGtl
cm5lbC5vcmcACgkQVIU0mcT0Foh41xAAgVPrPnMF3vzHZADKbZRdvc0XPRoDl4Hf
6Z9sL+5hFNskwH2tPGxCDigz/RZA6gjB5XLxv+gA/UYPyiYSRnlLNeslzL0HSkPL
ACKN2f8mutzz0fJ9z5E14M7h+7y5/d3Chj3BmcCeVdHq900kgJaB0aJ7/YWEsvdj
HGwDvpMvOXzLnVTFTPmJLqryQVZun4kSlpUFxieQlsNNkfkwJS5owdj2R2z/P/y/
wNsUzeTmmACSbH2JLPrOd8krYnDnmP7xvkTUEfM5W4bOCI8sSRqlxKRseaWc4IPF
dyxujpwKave+Yq4evmZi9k/BMvq4a5pqKI0TsHoA+LdGWc9vILO6av1S0xa/bM/L
PAvjwPaDmJ9vfgUSQFsHLnYY2ZFF93Z1kGnGk28lwFKCcQT3qC0t9UjqBf1cyYuo
yXjotmKeqn9fjgZcUW3HT9vGr6TLROsd3zjgBvrUg0cuBcv2i04nADHEtITS4ZQx
oDgDqgxBbnbrjxM9DC91uPF8uMJRu+95OKjHe9p+MOzyg+BlquBjaIrg1XBsJpo/
229PSOjg/g3KeVDS4op6+kyTr2fhn0hFdgiUdXDlnKdsOAbB9mhr9uGHFM3wm5PF
CkXtHA2ke1ys9ygJzu/1FSKBZJhJRfcl46BUbO+Ea2VEvuTtKDXCTPeFD7vG5tHV
1s6OUVuaZHw=
=PwhQ
-----END PGP SIGNATURE-----
Merge tag 'iio-for-4.12b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
2nd set of new device support, features and cleanups for IIO in the 4.12 cycle
A good collection of outreachy related patches in here - mostly staging
driver cleanup. Also a fair number of patches added explicit OF device ID
tables for i2c drivers - a precursor to dropping (eventually) the implicit
probing.
New Device Support
* Allwinner SoC ADC.
- So far covers the sun4i-a10, sun5i-a13 and sun6i-a31 general purpose ADCs,
including thermal side of things.
This missed the last cycle due to my incompetence, so good to get in now,
particularly as various patches dependent on it are appearing.
* ltc2632
- new driver supporting ltc2632-l12, ltc2632-l10, ltc2632-l8, ltc2632-h12,
ltc-2632-h10, ltc-2632-h8 dacs
Cleanups
* Documentation
- drop a broken reference to i2c/trivial-devices
* ad2s1200
- drop & from function pointers for consistency.
* ad2s1210
- formatting fixes.
* ad7152
- octal permissions instead of symbolic.
- drop & from function pointers for consistent usage.
* ad7192
- drop & from function pointers for consistent usage.
* ad7280
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad7746
- drop & from function pointers for consistent usage.
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad7754
- move contents of header file into source file as not used anywhere else.
* ad7759
- move contents of header file into source file as not used anywhere else.
* ad7780
- drop & from function pointers for consistent usage.
* ad7832
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
* ad9834
- replace core mlock usage with a local lock as mlock is intended only to
protect the current device state (direct reads, or triggered and buffered)
- drop an unnecessary goto in favour of direct return.
* adis16060
- drop & from function pointers as inconsistent.
* adis16201
- drop a local mutex as the adis core already protects everything necessary.
- drop & from function pointers for consistent usage.
* adis16203
- drop & from function pointers for consistent usage.
* adis16209
- drop a local mutex as the adis core already protects everything necessary.
- use an enum for scan index giving slightly nicer code.
- drop & from function pointers for consistent usage.
* adis16240
- drop a local mutex as the adis core already protects everything necessary.
- use an enum for scan index giving slightly nicer code.
- drop & from function pointers for consistent usage.
* apds9960
- add OF device ID table.
* bma180
- add OF device ID table.
- prefer unsigned int to bare use of unsigned.
* bmc150_magn
- add OF device ID table.
* hmp03
- add OF device ID table.
* ina2xx
- add OF device ID table.
* itg3200
- add OF device ID table.
* mag3110
- add OF device ID table.
* max11100
- remove .owner field as it is set by the spi core.
* max5821
- add .of_match_table set to the ID table which was present but not used.
* mcp4725
- add OF device ID table.
* mlx96014
- add OF device ID table.
* mma7455
- add OF device ID table.
* mma7660
- add OF device ID table.
* mpl3115
- add OF device ID table.
* mpu6050
- add OF device ID table.
* pc104
- mask pc104 drivers behind a global pc104 config option.
* ti-ads1015
- add OF device ID table.
* tsl2563
- add OF device ID table.
* us5182d
- add OF device ID table.
Add support for Linear Technology LTC2632 (SPI) family of·
dual 12- 10-, and 8-bits output DACs.
Signed-off-by: Maxime Roussin-Belanger <maxime.roussinbelanger@gmail.com>
Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Driver uses multiple identifier names for the same task (retval, ret,
rc). It would be easier to read the code if a single task is
identified with a single name. 'ret' is the most common return value
identifier name found in the kernel tree, following the principle of
least surprise using 'ret' is a decent choice.
Rename rc -> ret
Rename retval -> ret
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Comparison, equal to zero, is redundant
'if (foo == 0)' is equal to 'if (!foo)'
Typical kernel coding style is to use the shorter form.
Remove unnecessary zero comparison.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Comparison, does not equal zero, is redundant
'if (foo != 0)' is equal to 'if (foo)'
Typical kernel coding style is to use the shorter form.
Remove unnecessary non-zero comparison.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Driver uses different label forms for similar purposes. It would be
more clear if single use case has uniform label. 'out' is generic and
adds no meaning to label.
Documentation/process/coding-style.rst:
Choose label names which say what the goto does or why the goto
exists.
Rename labels so as to better describe what they do. If an execution
path only exists for the label on an error, prefix the label with
'err_'. If a non-error execution path exist do not use prefix.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Function uses goto label with no clean up code. In this case we
should just return directly.
Remove goto statement, return directly on error.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checkpatch emits CHECK: multiple assignments should be avoided.
Move multiple line assignment to individual lines.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checkpatch emits CHECK: Unbalanced braces around else
statement. Statements in question are single statements so we do not
need braces. Checkpatch also warns about multiple line dereference for
this code.
Fix if/else/else if statement use of braces. Fix function argument layout
at the same time since it is the same statement.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checkpatch emits CHECK: Alignment should match open parenthesis.
Fix alignment to open parenthesis in line with kernel coding style.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checkpatch emits CHECK: No space is necessary after a cast.
Remove unnecessary space after cast.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>