platform/kernel/linux-starfive.git
5 years agostaging:iio:ad2s90: Move device registration to the end of probe
Matheus Tavares [Sat, 3 Nov 2018 22:49:46 +0000 (19:49 -0300)]
staging:iio:ad2s90: Move device registration to the end of probe

Previously, devm_iio_device_register was being called before the
spi_setup call and the spi_device's max_speed_hz and mode assignments.
This could lead to a race condition since the driver was still being
set up after it was already made ready to use. To fix it, this patch
moves the device registration to the end of ad2s90_probe.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging:iio:ad2s90: Remove always overwritten assignment
Matheus Tavares [Sat, 3 Nov 2018 22:49:45 +0000 (19:49 -0300)]
staging:iio:ad2s90: Remove always overwritten assignment

This patch removes an initial assignment to the variable ret at probe,
that was always overwritten.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging:iio:ad2s90: Make probe handle spi_setup failure
Matheus Tavares [Sat, 3 Nov 2018 22:49:44 +0000 (19:49 -0300)]
staging:iio:ad2s90: Make probe handle spi_setup failure

Previously, ad2s90_probe ignored the return code from spi_setup, not
handling its possible failure. This patch makes ad2s90_probe check if
the code is an error code and, if so, do the following:

- Call dev_err with an appropriate error message.
- Return the spi_setup's error code.

Note: The 'return ret' statement could be out of the 'if' block, but
this whole block will be moved up in the function in the patch:
'staging:iio:ad2s90: Move device registration to the end of probe'.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging:iio:ad2s90: Make read_raw return spi_read's error code
Matheus Tavares [Sat, 3 Nov 2018 22:49:43 +0000 (19:49 -0300)]
staging:iio:ad2s90: Make read_raw return spi_read's error code

Previously, when spi_read returned an error code inside ad2s90_read_raw,
the code was ignored and IIO_VAL_INT was returned. This patch makes the
function return the error code returned by spi_read when it fails.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging: iio: ad7780: fix offset read value
Renato Lui Geh [Thu, 1 Nov 2018 14:43:02 +0000 (11:43 -0300)]
staging: iio: ad7780: fix offset read value

Variable val subtracted an uninitialized value on IIO_CHAN_INFO_OFFSET.
This was fixed by assigning the correct value instead.

Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>
Acked-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging: iio: ad2s1210: Add device tree table.
Nishad Kamdar [Wed, 31 Oct 2018 16:00:36 +0000 (21:30 +0530)]
staging: iio: ad2s1210: Add device tree table.

Add device tree table for matching vendor ID.

Note that as the driver is still heavily in flux and there are some
non obvious aspects to a comprehensive binding, that binding will
be submitted at a later date (before leaving staging!)

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging: iio: ad2s1210: Drop the gpioin flag.
Nishad Kamdar [Wed, 31 Oct 2018 15:59:53 +0000 (21:29 +0530)]
staging: iio: ad2s1210: Drop the gpioin flag.

Drop gpioin flag which decides how the GPIOs
are controlled as the GPIOs must be outputs
for the host as per the datasheet.

Removes need for platform data so that is dropped as well.

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging: iio: ad2s1210: Switch to the gpio descriptor interface
Nishad Kamdar [Wed, 31 Oct 2018 15:58:52 +0000 (21:28 +0530)]
staging: iio: ad2s1210: Switch to the gpio descriptor interface

Use the gpiod interface instead of the deprecated old non-descriptor
interface.

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio: potentiometer: tpl0102: add IIO_AVAIL_RANGE support
Matt Ranostay [Sun, 28 Oct 2018 20:43:54 +0000 (13:43 -0700)]
iio: potentiometer: tpl0102: add IIO_AVAIL_RANGE support

Report the step range of the respective potentiometers that are
possible to userspace.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agodt-bindings: iio: dac: Add ti,dac7311 device tree bindings in documentation
Charles-Antoine Couret [Sun, 28 Oct 2018 16:24:02 +0000 (17:24 +0100)]
dt-bindings: iio: dac: Add ti,dac7311 device tree bindings in documentation

Description how to invoke ti-dac7311 driver from device tree file.

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio:dac:ti-dac7311 Add driver for Texas Instrument DAC7311
Charles-Antoine Couret [Sun, 28 Oct 2018 16:24:01 +0000 (17:24 +0100)]
iio:dac:ti-dac7311 Add driver for Texas Instrument DAC7311

It is a driver for Texas Instruments 8/10/12-bit 1-channel
compatible with DAC6311 and DAC5311 chips.

Datasheet of this chip:
http://www.ti.com/lit/ds/symlink/dac7311.pdf

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agodt-bindings: iio: magn: add LSM9DS1 bindings
Martin Kelly [Fri, 26 Oct 2018 02:38:12 +0000 (19:38 -0700)]
dt-bindings: iio: magn: add LSM9DS1 bindings

Add DT binding documentation for the LSM9DS1 magnetometer.

Signed-off-by: Martin Kelly <martin@martingkelly.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agostaging: iio: adc: ad7280a: don't cast type inside switch expression
Slawomir Stepien [Fri, 26 Oct 2018 16:53:10 +0000 (18:53 +0200)]
staging: iio: adc: ad7280a: don't cast type inside switch expression

The type promotion will kick in, so the comparison will work.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio:magnetometer: st_magn: add BDU settings
Martin Kelly [Fri, 26 Oct 2018 02:38:11 +0000 (19:38 -0700)]
iio:magnetometer: st_magn: add BDU settings

LIS3MDL and LSM9DS1 are missing BDU settings in their register maps, so add
them. I don't have a LIS3MDL sensor to test, but this works correctly on
the LSM9DS1, which has the same register map.

Signed-off-by: Martin Kelly <martin@martingkelly.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio:magnetometer: st_magn: add LSM9DS1 support
Martin Kelly [Fri, 26 Oct 2018 02:38:10 +0000 (19:38 -0700)]
iio:magnetometer: st_magn: add LSM9DS1 support

Update the sensor settings to support the LSM9DS1 sensor. Although the
LSM9DS1 accelerometer and gyroscope are coupled together to use the same
FIFO, the magnetometer is separate and can be cleanly supported without
refactoring the existing driver.

Signed-off-by: Martin Kelly <martin@martingkelly.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio: magnetometer: add clarifying comment
Martin Kelly [Fri, 26 Oct 2018 02:38:09 +0000 (19:38 -0700)]
iio: magnetometer: add clarifying comment

Add a comment clarifying better when to use <device_name> vs
<device_name>-magn in compatibility strings.

Signed-off-by: Martin Kelly <martin@martingkelly.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
5 years agoiio: potentiometer: tpl0102: switch to using pointer to chip config
Matt Ranostay [Wed, 24 Oct 2018 10:38:57 +0000 (11:38 +0100)]
iio: potentiometer: tpl0102: switch to using pointer to chip config

More concise to have a pointer to tpl0102_cfg struct in the iio_priv
data than an integer to an index of an array.

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agodt-bindings: iio: adc: Add AD7949 device tree bindings in documentation
Charles-Antoine Couret [Mon, 22 Oct 2018 21:02:43 +0000 (23:02 +0200)]
dt-bindings: iio: adc: Add AD7949 device tree bindings in documentation

Description how to invoke ad7949 driver from device tree file.

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio:adc:ad7949: Add AD7949 ADC driver family
Charles-Antoine Couret [Mon, 22 Oct 2018 21:02:42 +0000 (23:02 +0200)]
iio:adc:ad7949: Add AD7949 ADC driver family

Compatible with AD7682 and AD7689 chips.
It is a Analog Devices ADC driver 14/16 bits 4/8 channels
with SPI protocol

Datasheet of the device:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD7949.pdf

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: ad5933: Remove unnecessary blank line
Victor Colombo [Mon, 22 Oct 2018 20:41:27 +0000 (17:41 -0300)]
staging: iio: ad5933: Remove unnecessary blank line

This patch fixes the checkpatch.pl warning:

WARNING: Blank lines aren't necessary before a close brace '}'

Signed-off-by: Victor Colombo <victorcolombo@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: ad5933: Remove unnecessary space on casting
Victor Colombo [Mon, 22 Oct 2018 20:40:25 +0000 (17:40 -0300)]
staging: iio: ad5933: Remove unnecessary space on casting

This patch fixes the checkpatch.pl warning:

WARNING: No space is necessary after a cast

Signed-off-by: Victor Colombo <victorcolombo@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc128s052: use SPDX-License-Identifier
Dan O'Donovan [Thu, 25 Oct 2018 15:35:42 +0000 (16:35 +0100)]
iio: adc128s052: use SPDX-License-Identifier

This updates the ti-adc128s052.c file to use SPDX-License-Identifier
instead of more verbose license text.

Signed-off-by: Dan O'Donovan <dan@emutex.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc128s052: add ACPI _HID AANT1280
Nicola Lunghi [Thu, 25 Oct 2018 15:35:41 +0000 (16:35 +0100)]
iio: adc128s052: add ACPI _HID AANT1280

ACPI _HID AANT1280 matches an ADC124S101 present on E3940 SKUs of the UP
Squared board.

Add it to the driver.

Signed-off-by: Nicola Lunghi <nicola.lunghi@emutex.com>
[javier@emutex.com: fix up commit message and one checkpatch warning]
Signed-off-by: Javier Arteaga <javier@emutex.com>
Signed-off-by: Dan O'Donovan <dan@emutex.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc128s052: Add pin-compatible IDs
Javier Arteaga [Thu, 25 Oct 2018 15:35:40 +0000 (16:35 +0100)]
iio: adc128s052: Add pin-compatible IDs

The datasheets for ADC122S021 and ADC124S021 list two more
pin-compatible alternatives for each device.

Add their IDs as compatible strings.

Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Javier Arteaga <javier@emutex.com>
Signed-off-by: Dan O'Donovan <dan@emutex.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: ad7816: Switch to the gpio descriptor interface
Nishad Kamdar [Wed, 17 Oct 2018 14:47:20 +0000 (20:17 +0530)]
staging: iio: ad7816: Switch to the gpio descriptor interface

Use the gpiod interface for rdwr_pin, convert_pin and busy_pin
instead of the deprecated old non-descriptor interface.

Note that Phil Reid identified that some of this code would never
have worked.  A follow up patch can fix that as this is just
a direct change of interface.

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: ina2xx: add in early -EINVAL returns in case statements
Colin Ian King [Tue, 16 Oct 2018 16:14:18 +0000 (17:14 +0100)]
iio: adc: ina2xx: add in early -EINVAL returns in case statements

Static analysis with CoverityScan is throwing warnings that specific
case statements are missing breaks.  Rather than adding breaks, add
return -EINVAL to the specific case statements to clarify the
error return paths. Fix also saves 50 bytes.

Before:
   text    data     bss     dec     hex filename
  21418    4936     128   26482    6772 drivers/iio/adc/ina2xx-adc.o

After:
  dec     hex filename
  21370    4936     128   26434    6742 drivers/iio/adc/ina2xx-adc.o

(gcc 8.2, x86-64)

Detected by CoverityScan, CID#1462408 ("Missing break in switch")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Stefan BrĂ¼ns <stefan.bruens@rwth-aachen.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoStaging:iio:adc:ad7606: Match parenthesis alignment
Marcelo Schmitt [Thu, 18 Oct 2018 01:31:47 +0000 (22:31 -0300)]
Staging:iio:adc:ad7606: Match parenthesis alignment

Change close parenthesis alignment to match respective open parenthesis at
iio/drivers/staging/iio/adc/ad7606.c line 379.
This makes the file more compliant with the preferred coding style for the
linux kernel.

Signed-of-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: st_sensors: miscellaneous cleanup
Martin Kelly [Tue, 16 Oct 2018 03:27:09 +0000 (20:27 -0700)]
iio: st_sensors: miscellaneous cleanup

Miscellaneous cleanup to fix minor consistency, grammar, and spelling
issues.

Signed-off-by: Martin Kelly <martin@martingkelly.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: adc: ad7280a: use crc8.h API to build crc table
Slawomir Stepien [Thu, 18 Oct 2018 18:59:33 +0000 (20:59 +0200)]
staging: iio: adc: ad7280a: use crc8.h API to build crc table

The custom build function ad7280_crc8_build_table is not needed. The
crc8_populate_msb function from linux/crc8.h will build the same crc
table.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: adc: ad7280a: handle error from __ad7280_read32()
Slawomir Stepien [Sat, 20 Oct 2018 21:04:11 +0000 (23:04 +0200)]
staging: iio: adc: ad7280a: handle error from __ad7280_read32()

Inside __ad7280_read32(), the spi_sync_transfer() can fail with negative
error code. This change will ensure that this error is being passed up
in the call stack, so it can be handled.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agotools iio: Override CFLAGS assignments
Jiri Olsa [Tue, 16 Oct 2018 15:06:14 +0000 (17:06 +0200)]
tools iio: Override CFLAGS assignments

So user could specify outside CFLAGS values.

Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Hartmut Knaack <knaack.h@gmx.de>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: accel: kxcjk1013: Add KIOX0009 ACPI Hardware-ID
Hans de Goede [Fri, 12 Oct 2018 10:17:50 +0000 (12:17 +0200)]
iio: accel: kxcjk1013: Add KIOX0009 ACPI Hardware-ID

Add KIOX0009 ACPI HID, this is used e.g. on the Acer One 10.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: adt7316: fix parenthesis alignment
Renato Lui Geh [Mon, 8 Oct 2018 22:12:05 +0000 (19:12 -0300)]
staging: iio: adt7316: fix parenthesis alignment

This patch fixes most "Alignment should match open parenthesis" check
warnings found by checkpatch.pl in the addac/adt7316 driver.

Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: dpot-dac: mark expected switch fall-through with text GCC expects.
Gustavo A. R. Silva [Mon, 8 Oct 2018 17:35:28 +0000 (19:35 +0200)]
iio: dpot-dac: mark expected switch fall-through with text GCC expects.

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Notice that in this particular case, I replaced "...and fall through."
with the specific string "fall through", which is what GCC is
expecting to find thus supressing this false positive.

As Peter has observed this breaks the nice English flow, which is
less than ideal, but short of teaching GCC to read English, there
isn't a lot that we can do about it.

Addresses-Coverity-ID: 1462408 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: ad2s1210: fix 'assignment operator' style checks
Matheus Tavares [Mon, 8 Oct 2018 03:29:38 +0000 (00:29 -0300)]
staging: iio: ad2s1210: fix 'assignment operator' style checks

This patch fixes all "Assignment operator '=' should be on the previous
line" checks found in ad2s1210.c with checkpatch.pl.

Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: cdc: ad7150: fix misaligned lines
Slawomir Stepien [Fri, 5 Oct 2018 08:05:15 +0000 (10:05 +0200)]
staging: iio: cdc: ad7150: fix misaligned lines

These lines were misaligned, but the checkpatch.pl didn't indicate them
as such.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: cdc: ad7150: use value copy to shorten the line length
Slawomir Stepien [Fri, 5 Oct 2018 08:04:44 +0000 (10:04 +0200)]
staging: iio: cdc: ad7150: use value copy to shorten the line length

By using the copy of channel attribute, we can now make the lines short
enough to eliminate the checkpatch.pl problem:

    CHECK: Alignment should match open parenthesis

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: ssp_sensors: don't manually free devm managed resources
Uwe Kleine-König [Fri, 5 Oct 2018 19:48:30 +0000 (21:48 +0200)]
iio: ssp_sensors: don't manually free devm managed resources

The charme of devm_* functions is that you don't need to care about them
in the error path. In this case it is valid to just return NULL which makes
the device fail to probe and then the two gpios and the allocated memory
are freed automatically by the driver core.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: iio: ad5933: rename ext_clk_Hz -> ext_clk_hz
Alexandru Ardelean [Tue, 2 Oct 2018 11:57:57 +0000 (14:57 +0300)]
staging: iio: ad5933: rename ext_clk_Hz -> ext_clk_hz

The checkpatch script doesn't like camel-case names.
Renamed the variable.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: Fix Renesas GyroADC MAINTAINERS entry
Marek Vasut [Tue, 2 Oct 2018 01:00:13 +0000 (03:00 +0200)]
iio: adc: Fix Renesas GyroADC MAINTAINERS entry

Fix the F: entry in MAINTAINERS file, point it to the correct file.
While at it, add DT binding doc F: entry too.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Joe Perches <joe@perches.com>
Cc: linux-renesas-soc@vger.kernel.org
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: rtl8712: add SPDX identifiers
Michael Straube [Wed, 3 Oct 2018 14:17:16 +0000 (16:17 +0200)]
staging: rtl8712: add SPDX identifiers

This satisfies a checkpatch warning and is the preferred
method for notating the license.

The SPDX identifier is a legally binding shorthand, which
can be used instead of the full boiler plate text.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fbtft: Prefer using the BIT macro
Mamta Shukla [Wed, 3 Oct 2018 14:40:15 +0000 (20:10 +0530)]
staging: fbtft: Prefer using the BIT macro

Replacing all occurrences of (1<<x) with BIT(x) to fix checkpatch issue.
CHECK:Prefer using the BIT macro

Signed-off-by: Mamta Shukla <mamtashukla555@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: fix spelling mistake in comment
Michael Straube [Sun, 30 Sep 2018 19:53:10 +0000 (21:53 +0200)]
staging: rtl8188eu: fix spelling mistake in comment

Fix a spelling mistake reported by checkpatch.
Caculate -> Calculate

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove braces from single if statement
Michael Straube [Sun, 30 Sep 2018 19:53:09 +0000 (21:53 +0200)]
staging: rtl8188eu: remove braces from single if statement

Remove braces from single line if statement.
Reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove unnecessary parentheses in odm_rtl8188e.c
Michael Straube [Sun, 30 Sep 2018 19:53:08 +0000 (21:53 +0200)]
staging: rtl8188eu: remove unnecessary parentheses in odm_rtl8188e.c

Remove unnecessary parentheses in odm_rtl8188e.c.
Reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: add spaces around '+' in fw.c
Michael Straube [Sun, 30 Sep 2018 19:53:07 +0000 (21:53 +0200)]
staging: rtl8188eu: add spaces around '+' in fw.c

Add spaces around '+' in fw.c to follow kernel coding style.
Reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: simplify block comment in pwrseq.c
Michael Straube [Sun, 30 Sep 2018 19:53:06 +0000 (21:53 +0200)]
staging: rtl8188eu: simplify block comment in pwrseq.c

Simplify block comment to a single line to clear a checkpatch warning.
WARNING: Block comments use * on subsequent lines

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: correct block comment in bb_cfg.c
Michael Straube [Sun, 30 Sep 2018 19:53:05 +0000 (21:53 +0200)]
staging: rtl8188eu: correct block comment in bb_cfg.c

Correct block comment to clear a checkpatch warning.
WARNING: Block comments should align the * on each line

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename odm_SignalScaleMapping()
Michael Straube [Sun, 30 Sep 2018 19:53:04 +0000 (21:53 +0200)]
staging: rtl8188eu: rename odm_SignalScaleMapping()

Rename odm_SignalScaleMapping to avoid CamelCase.
odm_SignalScaleMapping -> odm_signal_scale_mapping

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename variable in odm_SignalScaleMapping()
Michael Straube [Sun, 30 Sep 2018 19:53:03 +0000 (21:53 +0200)]
staging: rtl8188eu: rename variable in odm_SignalScaleMapping()

Rename variable in odm_SignalScaleMapping() to avoid CamelCase.
RetSig -> retsig

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename parameter of odm_SignalScaleMapping()
Michael Straube [Sun, 30 Sep 2018 19:53:02 +0000 (21:53 +0200)]
staging: rtl8188eu: rename parameter of odm_SignalScaleMapping()

Rename parameter of odm_SignalScaleMapping() to avoid CamelCase.
CurrSig -> currsig

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename odm_EVMdbToPercentage()
Michael Straube [Sun, 30 Sep 2018 19:53:01 +0000 (21:53 +0200)]
staging: rtl8188eu: rename odm_EVMdbToPercentage()

Rename odm_EVMdbToPercentage() to avoid CamelCase.
odm_EVMdbToPercentage -> odm_evm_db_to_percentage

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename parameter of odm_EVMdbToPercentage()
Michael Straube [Sun, 30 Sep 2018 19:53:00 +0000 (21:53 +0200)]
staging: rtl8188eu: rename parameter of odm_EVMdbToPercentage()

Rename parameter of odm_EVMdbToPercentage() to avoid CamelCase.
Value -> value

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename odm_QueryRxPwrPercentage()
Michael Straube [Sun, 30 Sep 2018 19:52:59 +0000 (21:52 +0200)]
staging: rtl8188eu: rename odm_QueryRxPwrPercentage()

Rename odm_QueryRxPwrPercentage() to avoid CamelCase.
odm_QueryRxPwrPercentage -> odm_query_rxpwrpercentage

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename parameter of odm_QueryRxPwrPercentage()
Michael Straube [Sun, 30 Sep 2018 19:52:58 +0000 (21:52 +0200)]
staging: rtl8188eu: rename parameter of odm_QueryRxPwrPercentage()

Rename parameter of odm_QueryRxPwrPercentage() to avoid CamelCase.
AntPower -> antpower

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: replace tabs with spaces in odm_hwconfig.c
Michael Straube [Sun, 30 Sep 2018 19:52:57 +0000 (21:52 +0200)]
staging: rtl8188eu: replace tabs with spaces in odm_hwconfig.c

Replace tabs with spaces in odm_hwconfig.c where appropriate.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: add spaces around '*' in odm_hwconfig.c
Michael Straube [Sun, 30 Sep 2018 19:52:56 +0000 (21:52 +0200)]
staging: rtl8188eu: add spaces around '*' in odm_hwconfig.c

Add spaces around '*' in odm_hwconfig.c to follow kernel coding style.
Reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: add spaces around '+' in odm_hwconfig.c
Michael Straube [Sun, 30 Sep 2018 19:52:55 +0000 (21:52 +0200)]
staging: rtl8188eu: add spaces around '+' in odm_hwconfig.c

Add spaces around '+' in odm_hwconfig.c to follow kernel coding style.
Reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove wrapper odm_SignalScaleMapping()
Michael Straube [Sun, 30 Sep 2018 19:52:54 +0000 (21:52 +0200)]
staging: rtl8188eu: remove wrapper odm_SignalScaleMapping()

The function odm_SignalScaleMapping() is just a wrapper for
odm_SignalScaleMapping_92CSeries().

Rename odm_SignalScaleMapping_92CSeries() to odm_SignalScaleMapping()
and remove the wrapper.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: rename odm_HWConfig
Michael Straube [Sun, 30 Sep 2018 19:52:53 +0000 (21:52 +0200)]
staging: rtl8188eu: rename odm_HWConfig

Rename source and header file to avoid CamelCase.
odm_HWConfig.c -> odm_hwconfig.c
odm_HWConfig.h -> odm_hwconfig.h

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: cleanup inconsistent indenting
Michael Straube [Sun, 30 Sep 2018 19:52:52 +0000 (21:52 +0200)]
staging: rtl8188eu: cleanup inconsistent indenting

Cleanup all inconsistent indenting reported by smatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: ks7010: Remove unnecessary null check
Aymen Qader [Sun, 30 Sep 2018 08:34:21 +0000 (09:34 +0100)]
staging: ks7010: Remove unnecessary null check

Remove the unnecessary socket buffer null check in hostif_data_request.
There is already an appropriate null check in the calling function:

(ks_wlan_net.c) ks_wlan_start_xmit

Signed-off-by: Aymen Qader <qader.aymen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: sm750fb: Remove extra space character
Aymen Qader [Sat, 29 Sep 2018 17:38:07 +0000 (18:38 +0100)]
staging: sm750fb: Remove extra space character

Remove an extra space in ddk750_mode.c to fix indentation

Signed-off-by: Aymen Qader <qader.aymen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtlwifi: Removed unused define and code efuse_re_pg* from wifi.h
Rick Veens [Sun, 30 Sep 2018 18:29:19 +0000 (20:29 +0200)]
staging: rtlwifi: Removed unused define and code efuse_re_pg* from wifi.h

The following:
 bool efuse_re_pg_sec1flag;
 u8 efuse_re_pg_data[8];
are not referenced anywhere in the rtlwifi code.

Signed-off-by: Rick Veens <rickveens92@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: axis-fifo: add error handling of class_create()
Alexey Khoroshilov [Fri, 28 Sep 2018 21:25:27 +0000 (00:25 +0300)]
staging: axis-fifo: add error handling of class_create()

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: most: usb: add release function for DCI device
Christian Gromm [Fri, 28 Sep 2018 21:37:19 +0000 (23:37 +0200)]
staging: most: usb: add release function for DCI device

This patch adds the missing release function for the DCI device that frees
the container structure it is embedded in.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoMAINTAINERS: removed staging/ft1000 driver
Deepa Dinamani [Sat, 29 Sep 2018 01:41:40 +0000 (18:41 -0700)]
MAINTAINERS: removed staging/ft1000 driver

Delete the ft1000 MAINTAINERS entry, concluding the
earlier removal of the driver in commit 6512edec48b2
("staging: ft1000: remove obsolete driver").

Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtlwifi: Return -ENOMEM instead of -1
Aymen Qader [Sat, 29 Sep 2018 17:24:29 +0000 (18:24 +0100)]
staging: rtlwifi: Return -ENOMEM instead of -1

Use the ENOMEM constant instead of -1 for kzalloc failure checks in
rtl_halmac.c

Signed-off-by: Aymen Qader <qader.aymen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: Remove unused single statement macros
Nishad Kamdar [Mon, 1 Oct 2018 14:48:31 +0000 (20:18 +0530)]
staging: mt7621-mmc: Remove unused single statement macros

This patch removes unused single statement macros in sd.c

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: Remove single statement macro msdc_irq_restore()
Nishad Kamdar [Mon, 1 Oct 2018 14:46:05 +0000 (20:16 +0530)]
staging: mt7621-mmc: Remove single statement macro msdc_irq_restore()

This patch removes the macro msdc_irq_restore() and replaces its
usage with call to the function called in the macro definition.
Issue found by checkpatch.

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: dgnc: delete the driver
Greg Kroah-Hartman [Tue, 2 Oct 2018 22:14:14 +0000 (15:14 -0700)]
staging: dgnc: delete the driver

Digi does not support it, no one has hardware for it, and no one is
working on it, so let's drop it for now.  If anyone wants to pick it
back up, then can revert this patch.

Reported-by: Lidza Louina <lidza.louina@gmail.com>
Reported-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: dgnc: Fix Kconfig help header and text
Sehro Rautenkranz [Tue, 25 Sep 2018 23:41:59 +0000 (17:41 -0600)]
staging: dgnc: Fix Kconfig help header and text

Replace Kconfig help header and text to match other modules. Issue found
by checkpatch.

Spacing adjusted to match Documentation/process/coding-style.rst. Issue
reported by rdunlap@infradead.org.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Sehro Rautenkranz <sehro@sehro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8723bs: clean up clang warning on extraneous parentheses
Colin Ian King [Sun, 30 Sep 2018 23:10:51 +0000 (00:10 +0100)]
staging: rtl8723bs: clean up clang warning on extraneous parentheses

There are extraneous parantheses that are causing clang to produce a
warning so remove these.

Clean up 3 clang warnings:
equality comparison with extraneous parentheses [-Wparentheses-equality]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8712: Remove unnecessary parentheses
Dafna Hirschfeld [Sat, 29 Sep 2018 15:55:08 +0000 (18:55 +0300)]
staging: rtl8712: Remove unnecessary parentheses

Remove unnecessary parentheses between 'address-of' operators
and struct members.
Issues found with checkpatch.pl

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8723bs: Mark ACPI table declaration as used
Nathan Chancellor [Wed, 26 Sep 2018 23:20:55 +0000 (16:20 -0700)]
staging: rtl8723bs: Mark ACPI table declaration as used

Clang emits the following warning:

drivers/staging/rtl8723bs/os_dep/sdio_intf.c:25:36: warning: variable
'acpi_ids' is not needed and will not be emitted
[-Wunneeded-internal-declaration]
static const struct acpi_device_id acpi_ids[] = {
                                   ^
1 warning generated.

Mark acpi_ids with the attribute __used, which makes it clear to Clang
that we don't want this warning while not inhibiting Clang's dead code
elimination from removing the unreferenced internal symbol when moving
the data to the globally available symbol with MODULE_DEVICE_TABLE.

$ nm -S drivers/staging/rtl8723bs/os_dep/sdio_intf.o | grep acpi
0000000000000000 0000000000000040 R __mod_acpi__acpi_ids_device_table

Link: https://github.com/ClangBuiltLinux/linux/issues/169
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: replace `printk` with preferred API
Dafna Hirschfeld [Sun, 30 Sep 2018 19:04:04 +0000 (22:04 +0300)]
staging: mt7621-mmc: replace `printk` with preferred API

Replace calls to `printk` with `dev_info` and `pr_err`
Issues found with checkpatch.pl

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: Fix comparison to NULL
Dafna Hirschfeld [Sun, 30 Sep 2018 19:04:03 +0000 (22:04 +0300)]
staging: mt7621-mmc: Fix comparison to NULL

Replace comparisons of a variable 'x' to NULL with
either 'x' or '!x'.
Issues found with checkpatch.pl

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: remove unnecessary braces from 'if' statements
Dafna Hirschfeld [Sun, 30 Sep 2018 19:04:02 +0000 (22:04 +0300)]
staging: mt7621-mmc: remove unnecessary braces from 'if' statements

Remove unnecessary braces from one line 'if' statements.
Issues found with checkpatch.pl

Signed-off-by: Dafna Hirschfeld <dafna3@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoMerge tag 'iio-for-4.20b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Greg Kroah-Hartman [Tue, 2 Oct 2018 01:13:42 +0000 (18:13 -0700)]
Merge tag 'iio-for-4.20b' of git://git./linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of IIO new device support features and cleanup for the 4.20 cycle.

One merge commit in here to bring in the SPI_CS_WORD flag patches
that are also going via the SPI tree.

There are a few more fixes than normal for a pull targetting the
next merge window.  These are all long term issues and as we are late
in the cycle, they can wait.

New device support
* ad7606
  - Add support fo the ad7605-4 driver.  This driver is still in staging
    but is heading in the right direction to graduate, motivated partly
    by the requirement for this device support.
* ST VL53L0X ToF ranging sensor
  - New minimal driver. Interrupt support to follow.

New features

* SPI_CS_WORD optimization allows long transfers with the chip select
  toggled every 16bits.   There is a software fallback as well to let
  drivers not care about whether the hardware supports it.

* bh1750
  - Device tree support and bindings.
* ti-ads7950
  - Use the SPI_CS_WORD optmization to save lots of cpu cycles (assuming
    the hardware supports it)

Fixes and cleanups

* ad5064
  - Fix some long incorrect regulator error handling that preventing
    enabling the internal regulator.
* ad7606
  - The ad7606 doesn't actually have a 2.5V range and the values provided
    for scale have always been wrong.  Fix them.
  - Drop some wrong kernel-doc (things that don't exist)
  - Add missing kernel-doc
* at91-adc
  - Fixing missing ack of dataready on sysfs channel reads to avoid spurious
    interrupts.
  - Fix a wrong channel numbers in triggered_buffer_mode
* hmc5843
  - Fix incorrect part number in a comment.
* imx25-gcq
  - Fix a device_node leak in an error path.
* meson-saradc
  - Drop an unused and pointless define.
  - Use of_device_get_match_data instead of opencoding
  - Tidy up how meson_sar_adc_param is accessed.
  - Rework prior to adding some temperature sensor support.

* tag 'iio-for-4.20b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
  iio: ad5064: Fix regulator handling
  iio: adc: meson-saradc: use the address attribute from iio_chan_spec
  iio: adc: meson-saradc: do not use meson_sar_adc_iio_channels directly
  iio: adc: at91: fix wrong channel number in triggered buffer mode
  iio: adc: at91: fix acking DRDY irq on simple conversions
  iio: adc: meson-saradc: simplify access to meson_sar_adc_param
  iio: adc: meson-saradc: use of_device_get_match_data
  iio: adc: meson-saradc: remove #define MESON_SAR_ADC_DELTA_10_TS_C_SHIFT
  iio: light: bh1750: Add device tree support
  dt-bindings: iio: light: bh1750: Add device tree binding documentation
  staging:iio:ad7606: Add support for the ad7605-4
  iio: proximity: Add driver support for ST's VL53L0X ToF ranging sensor.
  staging:iio:ad7606: update structs with doc annotations
  iio: magnetometer: hmc5843: Fixed a comment error.
  iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs()
  iio: adc: ti-ads7950: use SPI_CS_WORD to reduce CPU usage
  spi: add software implementation for SPI_CS_WORD
  spi: add new SPI_CS_WORD flag
  staging:iio:ad7606: Remove incorrect kernel doc annotations
  staging:iio:ad7606: fix voltage scales

6 years agostaging: vboxvideo: Use more drm_fb_helper functions
Hans de Goede [Sat, 29 Sep 2018 12:18:25 +0000 (14:18 +0200)]
staging: vboxvideo: Use more drm_fb_helper functions

Store fbhelper and afb struct directly in vbox_private and use
drm_fb_helper_fbdev_setup to replace vbox_fbdev_init, note we cannot use
drm_fb_helper_fbdev_teardown since we use a private framebuffer for the
fbdev.

And replace vbox_driver_lastclose with drm_fb_helper_lastclose.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Drop unnecessary drm_connector_helper_funcs callbacks
Hans de Goede [Sat, 29 Sep 2018 12:18:24 +0000 (14:18 +0200)]
staging: vboxvideo: Drop unnecessary drm_connector_helper_funcs callbacks

vbox_mode_valid always returns MODE_OK, which is also the default if no
mode_valid callback is defined.

vbox_best_single_encoder chains to drm_encoder_find, the drm-core will
call drm_encoder_find itself if there is no best_encoder call back.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Call drm_atomic_helper_check_plane_state from atomic_check
Hans de Goede [Sat, 29 Sep 2018 12:18:23 +0000 (14:18 +0200)]
staging: vboxvideo: Call drm_atomic_helper_check_plane_state from atomic_check

Extend our planes atomic_check callbacks to be more thorough by calling
the drm_atomic_helper_check_plane_state helper.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Replace crtc_helper enable/disable functions
Hans de Goede [Sat, 29 Sep 2018 12:18:22 +0000 (14:18 +0200)]
staging: vboxvideo: Replace crtc_helper enable/disable functions

Replace vbox_crtc_commit and vbox_crtc_disable with
vbox_crtc_atomic_[en|dis]able which are the preferred callbacks for
these for atomic drivers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Fix DPMS support after atomic conversion
Hans de Goede [Sat, 29 Sep 2018 12:18:21 +0000 (14:18 +0200)]
staging: vboxvideo: Fix DPMS support after atomic conversion

Atomic modesetting does not use the traditional dpms call backs, instead
we should check crtc_state->active.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Restore page-flip support
Hans de Goede [Sat, 29 Sep 2018 12:18:20 +0000 (14:18 +0200)]
staging: vboxvideo: Restore page-flip support

Restore page-flip support now that the atomic conversion is complete.

Since the mode parameter to vbox_crtc_set_base_and_mode() now never
is NULL call drm_atomic_crtc_needs_modeset() to check if we need to
check for input-mapping changes, to avoid doing unnecesarry work on
a flip. And hookup the drm_atomic_helper_page_flip helper to implement
the page_flip callback.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Atomic phase 3: Switch last bits over to atomic
Hans de Goede [Sat, 29 Sep 2018 12:18:19 +0000 (14:18 +0200)]
staging: vboxvideo: Atomic phase 3: Switch last bits over to atomic

Now that the state objects are wired up, we can:

1) Move to the final atomic handlers
2) Wire up atomic set_config helper
3) Switch to drm_mode_config_helper_suspend/resume for suspend/resume
4) Enable atomic modesetting ioctl

This is all done in one commit because doing this piecemeal leads to
an intermediate state which triggers WARN_ONs in the atomic code because
e.g. plane->fb is still being set.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Atomic phase 2: Stop using plane->fb and crtc->*
Hans de Goede [Sat, 29 Sep 2018 12:18:18 +0000 (14:18 +0200)]
staging: vboxvideo: Atomic phase 2: Stop using plane->fb and crtc->*

Once we are fully atomic plane->fb will always be NULL and we also
should not access things like crtc->enabled and crt->[hw]mode.

Now that we've wired up the state object handlers, we always have a
plane_state and crtc_state so change the code referencing plane->fb and
crtc->* to use the data from the plane_state and crt_state instead.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Atomic phase 2: Wire up state object handlers
Hans de Goede [Sat, 29 Sep 2018 12:18:17 +0000 (14:18 +0200)]
staging: vboxvideo: Atomic phase 2: Wire up state object handlers

Wire up state object handlers for the crtc-s and the planes, call
drm_mode_config_reset() after creating all the crtc-s and encoders and
remove the legacy drm_helper_disable_unused_functions() call.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Atomic phase 1: Use drm_plane_helpers for primary plane
Hans de Goede [Sat, 29 Sep 2018 12:18:16 +0000 (14:18 +0200)]
staging: vboxvideo: Atomic phase 1: Use drm_plane_helpers for primary plane

Use drm_plane_helpers for the primary plane and replace our custom
mode_set callback with drm_helper_crtc_mode_set.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Atomic phase 1: convert cursor to universal plane
Hans de Goede [Sat, 29 Sep 2018 12:18:15 +0000 (14:18 +0200)]
staging: vboxvideo: Atomic phase 1: convert cursor to universal plane

In preparation for atomic conversion, let's use the transitional atomic
helpers drm_plane_helper_update/disable.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Cache mode width, height and crtc panning in vbox_crtc
Hans de Goede [Sat, 29 Sep 2018 12:18:14 +0000 (14:18 +0200)]
staging: vboxvideo: Cache mode width, height and crtc panning in vbox_crtc

When setting a mode we not only pass the mode to the hypervisor,
but also information on how to map / translate input coordinates
for the emulated USB tablet.  This input-mapping may change when
the mode on *another* crtc changes.

This means that sometimes we must do a modeset on other crtc-s then
the one being changed to update the input-mapping. Including crtc-s
which may be disabled inside the guest (shown as a black window
on the host unless closed by the user).

With atomic modesetting the mode-info of disabled crtcs gets zeroed
yet we need it when updating the input-map to avoid resizing the
window as a side effect of a mode_set on another crtc.

This commit adds caching of the mode info into out private vbox_crtc
struct so that we always have the info at hand when we need it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Temporarily remove page_flip support
Hans de Goede [Sat, 29 Sep 2018 12:18:13 +0000 (14:18 +0200)]
staging: vboxvideo: Temporarily remove page_flip support

drm_mode_page_flip_ioctl() cannot deal with the in between phase of
the transitioning to atomic modeset support. Once we start using
drm_helper_crtc_mode_set(), we start setting plane->state on the primary
plane. But we are not fully atomic yet so then set both plane-state->fb
and plane->fb.

If both plane-state->fb and plane->fb are set drm_mode_page_flip_ioctl()
gets confused and stops calling drm_framebuffer_get() on the new fb while
still calling drm_framebuffer_put() on the old fb.

The current page_flip implementation expects drm_mode_page_flip_ioctl()
to take care of both and once we switch to drm_atomic_helper_page_flip()
that will expect neither to be done, taking care of both itself.

So for the transition we need to remove page_flip support and then after
the transition is complete and we set DRIVER_ATOMIC in our driver_features,
we can start using drm_atomic_helper_page_flip().

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Remove empty encoder_helper_funcs
Hans de Goede [Sat, 29 Sep 2018 12:18:12 +0000 (14:18 +0200)]
staging: vboxvideo: Remove empty encoder_helper_funcs

All the encoder_helper_funcs are optional, and even setting the
drm_encoder_helper_funcs vtable itself is optional and may be left out
when not using any of the helper funcs, so lets drop all of this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: vboxvideo: Cleanup vbox_set_up_input_mapping()
Hans de Goede [Sat, 29 Sep 2018 12:18:11 +0000 (14:18 +0200)]
staging: vboxvideo: Cleanup vbox_set_up_input_mapping()

This cleanups 2 things:

1) The first time we loop over the crtc-s, to compare framebuffers, fb1 may
get set to NULL by the fb1 = CRTC_FB(crtci); statement and then we call
to_vbox_framebuffer() on it. The result of this call is only used for
an address comparison, so we don't end up dereferencing the bad pointer,
but still it is better to not do this.

2) Since we already figure out the first crtc with a fb in the first loop
and store that in fb1, there is no need to loop over the crtc-s again just
to find the first crtc with a fb again.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoiio: ad5064: Fix regulator handling
Lars-Peter Clausen [Fri, 28 Sep 2018 09:23:40 +0000 (11:23 +0200)]
iio: ad5064: Fix regulator handling

The correct way to handle errors returned by regualtor_get() and friends is
to propagate the error since that means that an regulator was specified,
but something went wrong when requesting it.

For handling optional regulators, e.g. when the device has an internal
vref, regulator_get_optional() should be used to avoid getting the dummy
regulator that the regulator core otherwise provides.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: meson-saradc: use the address attribute from iio_chan_spec
Martin Blumenstingl [Mon, 24 Sep 2018 22:13:26 +0000 (00:13 +0200)]
iio: adc: meson-saradc: use the address attribute from iio_chan_spec

Until now the "channel" number is identical to how the channel is
identified inside the (FIFO) registers. In our case we have eight
channels and the hardware also has eight inputs.

However, there are two special inputs:
- channel 6 can select between the SAR_ADC_CH6 pad and the chip's
  internal temperature sensor
- channel 7 can select between SAR_ADC_CH7 and VSS, VDD / 4, VDD / 2,
  VDD * 3 / 4 and VDD.

When programming the registers to read for example the temperature
sensor we have to select FIFO channel 6, set the correct bit which muxes
channel 6 to the temperature sensor and then start the ADC measurement
for channel 6 as usual.

When we add support for the temperature sensor the driver has to know
about that it has to use FIFO channel 6 to measure using the chip's
internal temperature sensor. However, in that case the iio_chan_spec
channel will not be 6 because this is already used for the SAR_ADC_CH6
pad input. Thus we use iio_chan_spec's address field to store the FIFO
channel number for each channel.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: meson-saradc: do not use meson_sar_adc_iio_channels directly
Martin Blumenstingl [Mon, 24 Sep 2018 22:13:25 +0000 (00:13 +0200)]
iio: adc: meson-saradc: do not use meson_sar_adc_iio_channels directly

In the future we may support two different channel sets:
- one which includes the voltage pads and the temperature sensor output
  (for Meson8, Meson8b and Meson8m2)
- one which only includes the voltage pads (GXBB, GXL, GXM and AXG)

Channel 7 has a special function on all of these platforms. However,
since we will have different channel array definitions we want our code
to always use whatever channels struct iio_dev uses.

No functional changes for now. This is the preparation for adding
temperature sensor support to this driver.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: at91: fix wrong channel number in triggered buffer mode
Eugen Hristev [Mon, 24 Sep 2018 07:51:44 +0000 (10:51 +0300)]
iio: adc: at91: fix wrong channel number in triggered buffer mode

When channels are registered, the hardware channel number is not the
actual iio channel number.
This is because the driver is probed with a certain number of accessible
channels. Some pins are routed and some not, depending on the description of
the board in the DT.
Because of that, channels 0,1,2,3 can correspond to hardware channels
2,3,4,5 for example.
In the buffered triggered case, we need to do the translation accordingly.
Fixed the channel number to stop reading the wrong channel.

Fixes: 0e589d5fb ("ARM: AT91: IIO: Add AT91 ADC driver.")
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: at91: fix acking DRDY irq on simple conversions
Eugen Hristev [Mon, 24 Sep 2018 07:51:43 +0000 (10:51 +0300)]
iio: adc: at91: fix acking DRDY irq on simple conversions

When doing simple conversions, the driver did not acknowledge the DRDY irq.
If this irq status is not acked, it will be left pending, and as soon as a
trigger is enabled, the irq handler will be called, it doesn't know why
this status has occurred because no channel is pending, and then it will go
int a irq loop and board will hang.
To avoid this situation, read the LCDR after a raw conversion is done.

Fixes: 0e589d5fb ("ARM: AT91: IIO: Add AT91 ADC driver.")
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: adc: meson-saradc: simplify access to meson_sar_adc_param
Martin Blumenstingl [Sat, 22 Sep 2018 22:21:02 +0000 (00:21 +0200)]
iio: adc: meson-saradc: simplify access to meson_sar_adc_param

Commit 053ffe3c8cfe31 ("iio: adc: meson-saradc: squash and share the
common adc platform data") put all the data which is needed at runtime
from struct meson_sar_adc_data to a new struct meson_sar_adc_param so
we can re-use the platform specific configuration without having to
duplicate everything just to change the name.

The only place where struct meson_sar_adc_data is now needed is the
_probe function which has to pass the name to the iio_dev. All other
functions only need access to struct meson_sar_adc_param. This means we
can simplify struct meson_sar_adc_priv.

The goal of this patch is to make the code a bit easier to read since
this removes one level of nesting. No functional changes intended.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>