#
58f2c391 |
| 16-Oct-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge 4.14-rc5 into char-misc-next
We need the fixes in here to resolve merge issues and for testing.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
c9a934b0 |
| 15-Oct-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge tag 'iio-for-4.15b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Second set of IIO new device support, features and cleanup for 4.15
New devi
Merge tag 'iio-for-4.15b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Second set of IIO new device support, features and cleanup for 4.15
New device support * cros_ec_accel_legacy - New driver for this older chromebook accelerometer. * ds4422 dac driver - New driver and bindings for the Maxim ds4422 and ds4424 I2C DACs. * kxcjk1013 - Support the KXTF9 accelerometers. * mcp320x - support mcp3550, mcp3551, mcp3553 21 bit ADCs. * rfd77402 - new driver for this laser range finder. * st-sensors-accel - add support for the LIS2DW12 accelerometer with bindings - add support for the LIS3DHH accelerometer with bindings
New features * core - Drop a duplicate forward declaration in iio.h * Docs - add a clarification of the meaning of IIO_DISTANCE to reflect existing use in various range finding devices. * st-sensors - add a register mask for the status register to correctly support 2 channel devices. - decouple the irq1 and irq2 configuration parameters. - do not always write the enable_axis register as some newer devices are always on and don't support such configuration. - split open-drain control for irq1 and irq2 - make sampling frequency control optional as non all hardware supports it. * st-sensors-gyro - support 3 wire SPI mode * st-sensors-magn - support 3 wire SPI mode * st-sensors-pressure - support 3 wire SPI mode.
Cleanups and fixes * ad7192 - expand the buffer lock to cover device state protection rather than using core mlock to provide the state protection. * ade7753 - expand the buffer lock to cover device state protection as well rather than having an additional lock. * dummy-evgen - Use the new irq_sim infrastructure rather than having our own local version of the same thing. * hid-sensor-trigger - avoid touching sensors ever if user hasn't requested it. This is a work around for one reported issue where turning a sensor off wasn't sufficient to make it actually switch off. As we have only one report from what looks like buggy hardware we are sending this upstream the slow way. * ina2xx - Adhere to the published ABI docs and use Ohms instead of microohms. We don't think that anyone will notice this ABI fix but are sending it the slow route to reduce fallout if someone does! * kxcjk1013 - refactors to support the KXTF9 being added. - Refactor ODR support. - Fix INT_CTRL/INT_SRC1 bit names to match the register name. - Extract code for reporting motion events as this isn't present on some parts to be supported. - Make the sysfs sampling_frequency_available stuff not a fixed string so as to allow for it to be chip type dependent. - Make the sampling frequency_available per type to match the sampling_frequency attributes. * lsm6dsx - rework prior to new device support. - express the max fifo depth in 'scans' rather than bytes. - split control of the fifo mode fifo output data rate. - move decimator registers into the sensor_settings structure as this will make it easier to support devices that don't have this function. - add a fifo ops datastructure to allow for inter-part variations. * max30100 - fix i2c chip address in dt example * max30102 - use correct binding name for max30102 in example * mma8452 - Rename read/write event value callbacks to be more generic reflecting what they actually do now. * rcar-gyroadc - pointer case to fix warnings when moving to 64 bit as this IP is present on new 64 bit SOCs - enable compile-testing to improve build coverage on this driver. - use the of_device_get_match_data helper instead of open coding * sun4i-gpadc-iio - Register in the thermal framework after pm. Otherwise the IP is not enabled. - Don't fail probing if no thermal DT node is present. * tsl2x7x - renaming tsl2x7x_settings to settings to avoid excessive line lengths. - Use IIO core to generate the integration_time sysfs attributes rather than hand rolling. * vf6180 - Move the range check on integration time to the setter function. - Refactor the code around integration time to be clearer including caching current integration time avoiding unnecessary chip reads. - cleanup the als_gain lookup avoiding reading registers on chip. - use rounded matching rather than precise values for als_gain lookup. - Correct the ALS scale when non-default gain or integration time is used.
show more ...
|
#
6edcf572 |
| 14-Oct-2017 |
Ingo Molnar <mingo@kernel.org> |
Merge branch 'core/urgent' into x86/asm, to pick up dependency
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
#
69f658e3 |
| 13-Oct-2017 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Merge branch 'pm-domains' into pm-opp
|
#
36452b8b |
| 12-Oct-2017 |
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> |
Merge tag 'v4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into fbdev-for-next
Linux 4.14-rc4
|
#
331b57d1 |
| 12-Oct-2017 |
Thomas Gleixner <tglx@linutronix.de> |
Merge branch 'irq/urgent' into x86/apic
Pick up core changes which affect the vector rework.
|
#
8af4b3d7 |
| 11-Oct-2017 |
Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
Merge branch 'acpi-pm' into pm-sleep
|
#
af1a34f2 |
| 10-Oct-2017 |
Ingo Molnar <mingo@kernel.org> |
Merge branch 'locking/urgent' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
#
151aeab7 |
| 10-Oct-2017 |
Ingo Molnar <mingo@kernel.org> |
Merge branch 'sched/urgent' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
Revision tags: v4.13.5 |
|
#
c1375d67 |
| 09-Sep-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Add support for mcp3550/1/3
These ADCs are marketed as single-channel 22 bit delta-sigma ADCs, but in reality their resolution is 21 bit with an overrange or underrange of 12% bey
iio: adc: mcp320x: Add support for mcp3550/1/3
These ADCs are marketed as single-channel 22 bit delta-sigma ADCs, but in reality their resolution is 21 bit with an overrange or underrange of 12% beyond Vref. In other words, "full scale" means +/- 2^20.
This driver does not explicitly signal back to the user when an overrange or underrange occurs, but the user can detect it by comparing the raw value to +/- 2^20 (or the scaled value to Vref).
The chips feature an extended temperature range and high accuracy, low noise characteristics, but their conversion times are slow with up to 80 ms +/- 2% (on the MCP3550-50).
Hence, unlike the other ADCs supported by the driver, conversion does not take place in realtime upon lowering CS. Instead, CS is asserted for 8 usec to start the conversion. After waiting for the duration of the conversion, the result can be fetched. While waiting, control of the bus is ceased so it may be used by a different device.
After the result has been fetched and 10 us have passed, the chip goes into shutdown and an additional power-up delay of 144 clock periods is then required to wake the analog circuitry upon the next conversion (footnote below table 4-1, page 16 in the spec).
Optionally, the chips can be used in so-called "continuous conversion mode": Conversions then take place continuously and the last result may be fetched at any time without observing a delay. The mode is enabled by permanently driving CS low, e.g. by wiring it to ground. The driver only supports "single conversion mode" for now but should be adaptable to "continuous conversion mode" with moderate effort.
The chips clock out a 3 byte word, unlike the other ADCs supported by the driver which all have a lower resolution than 16 bit and thus make do with 2 bytes. Calculate the word length on probe by rounding up the resolution to full bytes. Crucially, if the clock idles low, the transfer is preceded by a useless Data Ready bit which increases its length from 24 bit to 25 bit = 4 bytes (section 5.5 in the spec). Autosense this based on the SPI slave's configuration.
Cc: Mathias Duckeck <m.duckeck@kunbus.de> Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
545633f6 |
| 09-Oct-2017 |
Takashi Iwai <tiwai@suse.de> |
Merge branch 'for-linus' into for-next
|
#
4fcae770 |
| 09-Oct-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge 4.14-rc4 into usb-next
This merges in the USB fixes that we need here.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
9424e8b1 |
| 09-Oct-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge 4.14-rc4 into tty-next
We want the tty/serial fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
1236d6bb |
| 09-Oct-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge 4.14-rc4 into staging-next
We want the staging/iio fixes in here as well to handle merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
753d179a |
| 06-Oct-2017 |
Johannes Berg <johannes.berg@intel.com> |
Merge remote-tracking branch 'net-next/master' into mac80211-next
Merging this brings in the timer_setup() change, which allows me to apply Kees's mac80211 changes for it.
Signed-off-by: Johannes B
Merge remote-tracking branch 'net-next/master' into mac80211-next
Merging this brings in the timer_setup() change, which allows me to apply Kees's mac80211 changes for it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
show more ...
|
#
53954cf8 |
| 05-Oct-2017 |
David S. Miller <davem@davemloft.net> |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just simple overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
#
26eafeaa |
| 05-Oct-2017 |
Thomas Gleixner <tglx@linutronix.de> |
Merge branch 'linus' into timers/core
Pick up upstream changes to get the prerequisites for the timer changes.
|
#
08bbc4fc |
| 03-Oct-2017 |
Linus Torvalds <torvalds@linux-foundation.org> |
Merge tag 'staging-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging/IIO fixes from Greg KH: "Here are some small staging/IIO driver fixes for 4.14-rc4
Most
Merge tag 'staging-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging/IIO fixes from Greg KH: "Here are some small staging/IIO driver fixes for 4.14-rc4
Most of these have been in my tree for a while due to travels, sorry for the delay. They resolve a number of small issues reported by people, mostly for the iio drivers. Nothing major in here, full details are in the shortlog.
All have been linux-next for a few weeks with no reported issues"
* tag 'staging-4.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (23 commits) staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack. iio: core: Return error for failed read_reg iio: ad7793: Fix the serial interface reset iio: ad_sigma_delta: Implement a dedicated reset function IIO: BME280: Updates to Humidity readings need ctrl_reg write! iio: adc: mcp320x: Fix readout of negative voltages iio: adc: mcp320x: Fix oops on module unload iio: adc: stm32: fix bad error check on max_channels iio: trigger: stm32-timer: fix a corner case to write preset iio: trigger: stm32-timer: preset shouldn't be buffered iio: adc: twl4030: Return an error if we can not enable the vusb3v1 regulator in 'twl4030_madc_probe()' iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()' iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()' staging: rtl8723bs: avoid null pointer dereference on pmlmepriv staging: rtl8723bs: add missing range check on id staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist staging: speakup: fix speakup-r empty line lockup staging: pi433: Move limit check to switch default to kill warning staging: r8822be: fix null pointer dereferences with a null driver_adapter staging: mt29f_spinand: Enable the read ECC before program the page ...
show more ...
|
#
069f0e0c |
| 25-Sep-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge tag 'iio-for-4.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Round one of new device support, features and cleanup for IIO in the 4.15 cyc
Merge tag 'iio-for-4.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
Round one of new device support, features and cleanup for IIO in the 4.15 cycle.
Note there is a misc driver drop in here given we have support in IIO and the feeling is no one will care.
A large part of this series is a boiler plate removal series avoiding the need to explicitly provide THIS_MODULE in various locations. It's very dull but touches all drivers.
New device support * ad5446 - add ids to support compatible parts DAC081S101, DAC101S101, DAC121S101. - add the dac7512 id and drop the misc driver as feeling is no one is using it (was introduced for a board that is long obsolete) * mt6577 - add bindings for mt2712 which is fully compatible with other supported parts. * st_pressure - add support for LPS33HW and LPS35HW with bindings (ids mostly).
New features * ccs811 - Add support for the data ready trigger. * mma8452 - remove artifical restriction on supporting multiple event types at the same time. * tcs3472 - support out of threshold events
Core and tree wide cleanup * Use macro magic to remove the need to provide THIS_MODULE as part of struct iio_info or struct iio_trigger_ops. This is similar to work done in a number of other subsystems (e.g. i2c, spi).
All drivers are fixed and then the fields in these structures are removed.
This will cause build failures for out of tree drivers and any new drivers that cross with this work going into the kernel.
Note mostly done with a coccinelle patch, included in the series on the mailing list but not merged as the fields no longer exist in the structures so the any hold outs will cause a build failure.
Cleanups * ads1015 - avoid writing config register when it doesn't change. - add 10% to conversion wait time as it seems it is sometimes a little small. * ade7753 - replace use of core mlock with a local lock. This is part of a long term effort to make the use of mlock opaque and single purpose. * ade7759 - expand the use of buf_lock to cover previous mlock cases. This is a slightly nicer solution to the same issue as in ade7753. * cros_ec - drop an unused variable * inv_mpu6050 - add a missing break in a switch for consistency - not actual bug, - make some local arrays static to save on object code size. * max5481 - drop manual setting of the spi module owner as handled by the spi core. * max5487 - drop manual setting of the spi module owner as handled by the spi core. * max9611 - drop explicit setting of the i2c module owner as handled by the i2c core. * mcp320x - speed up reads on single channel devices, - drop unused of_device_id data elements, - document the struct mcp320x, - improve binding docs to reflect restrictions on spi setup and to make it explicit that the reference regulator is needed. * mma8452 - symbolic to octal permissions, - unsigned to unsigned int. * st_lsm6dsx - avoid setting odr values multiple times, - drop config of LIR as it is only ever set to the existing defaults, - drop rounding configuration as it only ever matches the defaults. * ti-ads8688 - drop manual setting of the spi module owner as handled by the spi core. * tsl2x7x - constify the i2c_device_id, - cleanup limit checks to avoid static checker warnings (and generally have nicer code).
show more ...
|
#
b2e31206 |
| 25-Sep-2017 |
Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
Merge tag 'iio-fixes-for-4.14a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
First round of IIO fixes for the 4.14 cycle
Note this includes fixes
Merge tag 'iio-fixes-for-4.14a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes:
First round of IIO fixes for the 4.14 cycle
Note this includes fixes from recent merge window. As such the tree is based on top of a prior staging/staging-next tree.
* iio core - return and error for a failed read_reg debugfs call rather than eating the error. * ad7192 - Use the dedicated reset function in the ad_sigma_delta library instead of an spi transfer with the data on the stack which could cause problems with DMA. * ad7793 - Implement a dedicate reset function in the ad_sigma_delta library and use it to correctly reset this part. * bme280 - ctrl_reg write must occur after any register writes for updates to take effect. * mcp320x - negative voltage readout was broken. - Fix an oops on module unload due to spi_set_drvdata not being called in probe. * st_magn - Fix the data ready line configuration for the lis3mdl. It is not configurable so the st_magn core was assuming it didn't exist and so wasn't consuming interrupts resulting in an unhandled interrupt. * stm32-adc - off by one error on max channels checking. * stm32-timer - preset should not be buffered - reorganising register writes avoids this. - fix a corner case in which write preset goes wrong when a timer is used first as a trigger then as a counter with preset. Odd case but you never know. * ti-ads1015 - Fix setting of comparator polarity by fixing bitfield definition. * twl4030 - Error path handling fix to cleanup in event of regulator registration failure. - Disable the vusb3v1 regulator correctly in error handling - Don't paper over a regulator enable failure.
show more ...
|
Revision tags: v4.13 |
|
#
e6f47943 |
| 22-Aug-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Fix readout of negative voltages
Commit f686a36b4b79 ("iio: adc: mcp320x: Add support for mcp3301") returns a signed voltage from mcp320x_adc_conversion() but neglects that the ca
iio: adc: mcp320x: Fix readout of negative voltages
Commit f686a36b4b79 ("iio: adc: mcp320x: Add support for mcp3301") returns a signed voltage from mcp320x_adc_conversion() but neglects that the caller interprets a negative return value as failure. Only mcp3301 (and the upcoming mcp3550/1/3) is affected as the other chips are incapable of measuring negative voltages.
Fix and while at it, add mcp3301 to the list of supported chips at the top of the file.
Fixes: f686a36b4b79 ("iio: adc: mcp320x: Add support for mcp3301") Cc: Andrea Galbusera <gizero@gmail.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
0964e409 |
| 22-Aug-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Fix oops on module unload
The driver calls spi_get_drvdata() in its ->remove hook even though it has never called spi_set_drvdata(). Stack trace for posterity:
Unable to handle
iio: adc: mcp320x: Fix oops on module unload
The driver calls spi_get_drvdata() in its ->remove hook even though it has never called spi_set_drvdata(). Stack trace for posterity:
Unable to handle kernel NULL pointer dereference at virtual address 00000220 Internal error: Oops: 5 [#1] SMP ARM [<8072f564>] (mutex_lock) from [<7f1400d0>] (iio_device_unregister+0x24/0x7c [industrialio]) [<7f1400d0>] (iio_device_unregister [industrialio]) from [<7f15e020>] (mcp320x_remove+0x20/0x30 [mcp320x]) [<7f15e020>] (mcp320x_remove [mcp320x]) from [<8055a8cc>] (spi_drv_remove+0x2c/0x44) [<8055a8cc>] (spi_drv_remove) from [<805087bc>] (__device_release_driver+0x98/0x134) [<805087bc>] (__device_release_driver) from [<80509180>] (driver_detach+0xdc/0xe0) [<80509180>] (driver_detach) from [<8050823c>] (bus_remove_driver+0x5c/0xb0) [<8050823c>] (bus_remove_driver) from [<80509ab0>] (driver_unregister+0x38/0x58) [<80509ab0>] (driver_unregister) from [<7f15e69c>] (mcp320x_driver_exit+0x14/0x1c [mcp320x]) [<7f15e69c>] (mcp320x_driver_exit [mcp320x]) from [<801a78d0>] (SyS_delete_module+0x184/0x1d0) [<801a78d0>] (SyS_delete_module) from [<80108100>] (ret_fast_syscall+0x0/0x1c)
Fixes: f5ce4a7a9291 ("iio: adc: add driver for MCP3204/08 12-bit ADC") Cc: Oskar Andero <oskar.andero@gmail.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
9c84c910 |
| 09-Sep-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Document struct mcp320x
Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
|
#
35ed9fbf |
| 09-Sep-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Drop unnecessary of_device_id attributes
The driver sets a .data pointer for each .compatible string but never calls of_device_get_match_data(). Instead, ADC properties are looke
iio: adc: mcp320x: Drop unnecessary of_device_id attributes
The driver sets a .data pointer for each .compatible string but never calls of_device_get_match_data(). Instead, ADC properties are looked up with spi_get_device_id(). The .data pointer is therefore unnecessary, so drop it.
Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|
#
ea910318 |
| 09-Sep-2017 |
Lukas Wunner <lukas@wunner.de> |
iio: adc: mcp320x: Speed up readout of single-channel ADCs
Single-channel converters such as mcp3001, mcp3201, mcp3301 and the upcoming mcp3550/1/3 lack a MOSI pin, so there's no need to call mcp320
iio: adc: mcp320x: Speed up readout of single-channel ADCs
Single-channel converters such as mcp3001, mcp3201, mcp3301 and the upcoming mcp3550/1/3 lack a MOSI pin, so there's no need to call mcp320x_channel_to_tx_data() for them.
Moreover, instead of calling spi_read() for these converters, which generates an spi_message and spi_transfer on the stack on every readout, it's more efficient to use the spi_message and spi_transfer[] included in struct mcp320x (as we do for multi-channel ADCs), but initialize the spi_message only with the receive transfer.
Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
show more ...
|