Commit Graph

948892 Commits

Author SHA1 Message Date
Christophe Leroy
becd201492 SUNRPC: Add missing definition of ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
Even if that's only a warning, not including asm/cacheflush.h
leads to svc_flush_bvec() being empty allthough powerpc defines
ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE.

  CC      net/sunrpc/svcsock.o
net/sunrpc/svcsock.c:227:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is not defined [-Wundef]
 #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE
     ^

Include linux/highmem.h so that asm/cacheflush.h will be included.

Reported-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reported-by: kernel test robot <lkp@intel.com>
Fixes: ca07eda33e ("SUNRPC: Refactor svc_recvfrom()")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2020-06-29 14:50:25 -04:00
J. Bruce Fields
bf2654017e nfsd: fix nfsdfs inode reference count leak
I don't understand this code well, but  I'm seeing a warning about a
still-referenced inode on unmount, and every other similar filesystem
does a dput() here.

Fixes: e8a79fb14f ("nfsd: add nfsd/clients directory")
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2020-06-29 14:48:28 -04:00
J. Bruce Fields
681370f4b0 nfsd4: fix nfsdfs reference count loop
We don't drop the reference on the nfsdfs filesystem with
mntput(nn->nfsd_mnt) until nfsd_exit_net(), but that won't be called
until the nfsd module's unloaded, and we can't unload the module as long
as there's a reference on nfsdfs.  So this prevents module unloading.

Fixes: 2c830dd720 ("nfsd: persist nfsd filesystem across mounts")
Reported-and-Tested-by:  Luo Xiaogang <lxgrxd@163.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2020-06-29 14:48:02 -04:00
Marek Szyprowski
ea9dd8f61c ARM: exynos: MCPM: Restore big.LITTLE cpuidle support
Call exynos_cpu_power_up(cpunr) unconditionally. This is needed by the
big.LITTLE cpuidle driver and has no side-effects on other code paths.

The additional soft-reset call during little core power up has been added
to properly boot all cores on the Exynos5422-based boards with secure
firmware (like Odroid XU3/XU4 family). This however broke big.LITTLE
CPUidle driver, which worked only on boards without secure firmware (like
Peach-Pit/Pi Chromebooks). Apply the workaround only when board is
running under secure firmware.

Fixes: 833b5794e3 ("ARM: EXYNOS: reset Little cores when cpu is up")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-06-29 20:27:33 +02:00
Andrzej Pietrasiewicz
f5e50bf4d3 thermal: Rename set_mode() to change_mode()
set_mode() is only called when tzd's mode is about to change. Actual
setting is performed in thermal_core, in thermal_zone_device_set_mode().
The meaning of set_mode() callback is actually to notify the driver about
the mode being changed and giving the driver a chance to oppose such
change.

To better reflect the purpose of the method rename it to change_mode()

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-12-andrzej.p@collabora.com
2020-06-29 20:26:39 +02:00
Andrzej Pietrasiewicz
5d7bd8aa7c thermal: Simplify or eliminate unnecessary set_mode() methods
Setting polling_delay is now done at thermal_core level (by not polling
DISABLED devices), so no need to repeat this code.

int340x: Checking for an impossible enum value is unnecessary.
acpi/thermal: It only prints debug messages.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-11-andrzej.p@collabora.com
2020-06-29 20:26:39 +02:00
Andrzej Pietrasiewicz
b56bdff78e thermal: core: Stop polling DISABLED thermal devices
Polling DISABLED devices is not desired, as all such "disabled" devices
are meant to be handled by userspace. This patch introduces and uses
should_stop_polling() to decide whether the device should be polled or not.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-10-andrzej.p@collabora.com
2020-06-29 20:26:38 +02:00
Andrzej Pietrasiewicz
bbcf90c064 thermal: Explicitly enable non-changing thermal zone devices
Some thermal zone devices never change their state, so they should be
always enabled.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-9-andrzej.p@collabora.com
2020-06-29 20:26:37 +02:00
Andrzej Pietrasiewicz
7f4957be0d thermal: Use mode helpers in drivers
Use thermal_zone_device_{en|dis}able() and thermal_zone_device_is_enabled().

Consequently, all set_mode() implementations in drivers:

- can stop modifying tzd's "mode" member,
- shall stop taking tzd's lock, as it is taken in the helpers
- shall stop calling thermal_zone_device_update() as it is called in the
helpers
- can assume they are called when the mode truly changes, so checks to
verify that can be dropped

Not providing set_mode() by a driver no longer prevents the core from
being able to set tzd's mode, so the relevant check in mode_store() is
removed.

Other comments:

- acpi/thermal.c: tz->thermal_zone->mode will be updated only after we
return from set_mode(), so use function parameter in thermal_set_mode()
instead, no need to call acpi_thermal_check() in set_mode()
- thermal/imx_thermal.c: regmap writes and mode assignment are done in
thermal_zone_device_{en|dis}able() and set_mode() callback
- thermal/intel/intel_quark_dts_thermal.c: soc_dts_{en|dis}able() are a
part of set_mode() callback, so they don't need to modify tzd->mode, and
don't need to fall back to the opposite mode if unsuccessful, as the return
value will be propagated to thermal_zone_device_{en|dis}able() and
ultimately tzd's member will not be changed in thermal_zone_device_set_mode().
- thermal/of-thermal.c: no need to set zone->mode to DISABLED in
of_parse_thermal_zones() as a tzd is kzalloc'ed so mode is DISABLED anyway

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-8-andrzej.p@collabora.com
2020-06-29 20:26:36 +02:00
Andrzej Pietrasiewicz
ac5d9ecc74 thermal: Add mode helpers
Prepare for making the drivers not access tzd's private members.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
[staticize thermal_zone_device_set_mode()]
Signed-off-by: kernel test robot <lkp@intel.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-7-andrzej.p@collabora.com
2020-06-29 20:26:36 +02:00
Andrzej Pietrasiewicz
1ee14820fd thermal: remove get_mode() operation of drivers
get_mode() is now redundant, as the state is stored in struct
thermal_zone_device.

Consequently the "mode" attribute in sysfs can always be visible, because
it is always possible to get the mode from struct tzd.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-6-andrzej.p@collabora.com
2020-06-29 20:26:35 +02:00
Andrzej Pietrasiewicz
5a3506657f thermal: Store device mode in struct thermal_zone_device
Prepare for eliminating get_mode().

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-5-andrzej.p@collabora.com
2020-06-29 20:26:34 +02:00
Andrzej Pietrasiewicz
cbba1d7195 thermal: Add current mode to thermal zone device
Prepare for changing the place where the mode is stored: now it is in
drivers, which might or might not implement get_mode()/set_mode() methods.
A lot of cleanup can be done thanks to storing it in struct tzd. The
get_mode() methods will become redundant.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-4-andrzej.p@collabora.com
2020-06-29 20:26:34 +02:00
Andrzej Pietrasiewicz
1595d887af thermal: Store thermal mode in a dedicated enum
Prepare for storing mode in struct thermal_zone_device.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
[for acerhdf]
Acked-by: Peter Kaestle <peter@piie.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-3-andrzej.p@collabora.com
2020-06-29 20:26:33 +02:00
Andrzej Pietrasiewicz
172066cc31 acpi: thermal: Fix error handling in the register function
The acpi_thermal_register_thermal_zone() is missing any error handling.
This needs to be fixed.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200629122925.21729-2-andrzej.p@collabora.com
2020-06-29 20:26:32 +02:00
Drew Fustini
e14d2c7663 ARM: dts: am335x-pocketbeagle: add gpio-line-names
The BeagleBoard.org PocketBeagle has P1 and P2 headers [0] which expose
many of the TI AM3358 SoC balls to stacking expansion boards called
"capes", or to other external connections like jumper wires connected
to a breadboard.

Note: the AM3358 die is actually embedded inside of the OSD335x-SM
System-in-Package (SiP) [1] but that is irrelevant to the gpio driver.

Many of the P1 and P2 header pins can muxed to a GPIO line.  The
gpio-line-names describe which P1 or P2 pin that line goes to and the
default mux for that P1 or P2 pin if it is not GPIO.

Some GPIO lines are named "[NC]" as the corresponding balls are not
routed to anything on the PCB.

The goal for these names is to make it easier for a user viewing the
output of gpioinfo to determine which P1 or P2 pin is connected to a
GPIO line.  The output of gpioinfo on a PocketBeagle would be:

gpiochip0 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high
	line   1:       "[NC]"       unused   input  active-high
	line   2: "P1.08 [SPI0_CLK]" unused input active-high
	line   3: "P1.10 [SPI0_MISO]" unused input active-high
	line   4: "P1.12 [SPI0_MOSI]" unused input active-high
	line   5: "P1.06 [SPI0_CS]" unused input active-high
	line   6:  "[MMC0_CD]"         "cd"   input   active-low [used]
	line   7: "P2.29 [SPI1_CLK]" unused input active-high
	line   8:  "[SYSBOOT]"       unused   input  active-high
	line   9:  "[SYSBOOT]"       unused   input  active-high
	line  10:  "[SYSBOOT]"       unused   input  active-high
	line  11:  "[SYSBOOT]"       unused   input  active-high
	line  12: "P1.26 [I2C2_SDA]" unused input active-high
	line  13: "P1.28 [I2C2_SCL]" unused input active-high
	line  14: "P2.11 [I2C1_SDA]" unused input active-high
	line  15: "P2.09 [I2C1_SCL]" unused input active-high
	line  16:       "[NC]"       unused   input  active-high
	line  17:       "[NC]"       unused   input  active-high
	line  18:       "[NC]"       unused   input  active-high
	line  19: "P2.31 [SPI1_CS]" unused input active-high
	line  20: "P1.20 [PRU0.16]" unused input active-high
	line  21:       "[NC]"       unused   input  active-high
	line  22:       "[NC]"       unused   input  active-high
	line  23:      "P2.03"       unused   input  active-high
	line  24:       "[NC]"       unused   input  active-high
	line  25:       "[NC]"       unused   input  active-high
	line  26:      "P1.34"       unused   input  active-high
	line  27:      "P2.19"       unused   input  active-high
	line  28:       "[NC]"       unused   input  active-high
	line  29:       "[NC]"       unused   input  active-high
	line  30: "P2.05 [UART4_RX]" unused input active-high
	line  31: "P2.07 [UART4_TX]" unused input active-high
gpiochip1 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high
	line   1:       "[NC]"       unused   input  active-high
	line   2:       "[NC]"       unused   input  active-high
	line   3:       "[NC]"       unused   input  active-high
	line   4:       "[NC]"       unused   input  active-high
	line   5:       "[NC]"       unused   input  active-high
	line   6:       "[NC]"       unused   input  active-high
	line   7:       "[NC]"       unused   input  active-high
	line   8:       "[NC]"       unused   input  active-high
	line   9: "P2.25 [SPI1_MOSI]" unused input active-high
	line  10: "P1.32 [UART0_RX]" unused input active-high
	line  11: "P1.30 [UART0_TX]" unused input active-high
	line  12:      "P2.24"       unused   input  active-high
	line  13:      "P2.33"       unused   input  active-high
	line  14:      "P2.22"       unused   input  active-high
	line  15:      "P2.18"       unused   input  active-high
	line  16:       "[NC]"       unused   input  active-high
	line  17:       "[NC]"       unused   input  active-high
	line  18: "P2.01 [PWM1A]" unused input active-high
	line  19:       "[NC]"       unused   input  active-high
	line  20:      "P2.10"       unused   input  active-high
	line  21: "[USR LED 0]" "beaglebone:green:usr0" output active-high [used]
	line  22: "[USR LED 1]" "beaglebone:green:usr1" output active-high [used]
	line  23: "[USR LED 2]" "beaglebone:green:usr2" output active-high [used]
	line  24: "[USR LED 3]" "beaglebone:green:usr3" output active-high [used]
	line  25:      "P2.06"       unused   input  active-high
	line  26:      "P2.04"       unused   input  active-high
	line  27:      "P2.02"       unused   input  active-high
	line  28:      "P2.08"       unused   input  active-high
	line  29:       "[NC]"       unused   input  active-high
	line  30:       "[NC]"       unused   input  active-high
	line  31:       "[NC]"       unused   input  active-high
gpiochip2 - 32 lines:
	line   0:      "P2.20"       unused   input  active-high
	line   1:      "P2.17"       unused   input  active-high
	line   2:       "[NC]"       unused   input  active-high
	line   3:       "[NC]"       unused   input  active-high
	line   4:       "[NC]"       unused   input  active-high
	line   5: "[EEPROM_WP]" unused input active-high
	line   6:  "[SYSBOOT]"       unused   input  active-high
	line   7:  "[SYSBOOT]"       unused   input  active-high
	line   8:  "[SYSBOOT]"       unused   input  active-high
	line   9:  "[SYSBOOT]"       unused   input  active-high
	line  10:  "[SYSBOOT]"       unused   input  active-high
	line  11:  "[SYSBOOT]"       unused   input  active-high
	line  12:  "[SYSBOOT]"       unused   input  active-high
	line  13:  "[SYSBOOT]"       unused   input  active-high
	line  14:  "[SYSBOOT]"       unused   input  active-high
	line  15:  "[SYSBOOT]"       unused   input  active-high
	line  16:  "[SYSBOOT]"       unused   input  active-high
	line  17:  "[SYSBOOT]"       unused   input  active-high
	line  18:       "[NC]"       unused   input  active-high
	line  19:       "[NC]"       unused   input  active-high
	line  20:       "[NC]"       unused   input  active-high
	line  21:       "[NC]"       unused   input  active-high
	line  22: "P2.35 [AIN5]" unused input active-high
	line  23: "P1.02 [AIN6]" unused input active-high
	line  24: "P1.35 [PRU1.10]" unused input active-high
	line  25: "P1.04 [PRU1.11]" unused input active-high
	line  26: "[MMC0_DAT3]" unused input active-high
	line  27: "[MMC0_DAT2]" unused input active-high
	line  28: "[MMC0_DAT1]" unused input active-high
	line  29: "[MMC0_DAT0]" unused input active-high
	line  30: "[MMC0_CLK]"       unused   input  active-high
	line  31: "[MMC0_CMD]"       unused   input  active-high
gpiochip3 - 32 lines:
	line   0:       "[NC]"       unused   input  active-high
	line   1:       "[NC]"       unused   input  active-high
	line   2:       "[NC]"       unused   input  active-high
	line   3:       "[NC]"       unused   input  active-high
	line   4:       "[NC]"       unused   input  active-high
	line   5: "[I2C0_SDA]"       unused   input  active-high
	line   6: "[I2C0_SCL]"       unused   input  active-high
	line   7:     "[JTAG]"       unused   input  active-high
	line   8:     "[JTAG]"       unused   input  active-high
	line   9:       "[NC]"       unused   input  active-high
	line  10:       "[NC]"       unused   input  active-high
	line  11:       "[NC]"       unused   input  active-high
	line  12:       "[NC]"       unused   input  active-high
	line  13: "P1.03 [USB1]" unused input active-high
	line  14: "P1.36 [PWM0A]" unused input active-high
	line  15: "P1.33 [PRU0.1]" unused input active-high
	line  16: "P2.32 [PRU0.2]" unused input active-high
	line  17: "P2.30 [PRU0.3]" unused input active-high
	line  18: "P1.31 [PRU0.4]" unused input active-high
	line  19: "P2.34 [PRU0.5]" unused input active-high
	line  20: "P2.28 [PRU0.6]" unused input active-high
	line  21: "P1.29 [PRU0.7]" unused input active-high
	line  22:       "[NC]"       unused   input  active-high
	line  23:       "[NC]"       unused   input  active-high
	line  24:       "[NC]"       unused   input  active-high
	line  25:       "[NC]"       unused   input  active-high
	line  26:       "[NC]"       unused   input  active-high
	line  27:       "[NC]"       unused   input  active-high
	line  28:       "[NC]"       unused   input  active-high
	line  29:       "[NC]"       unused   input  active-high
	line  30:       "[NC]"       unused   input  active-high
	line  31:       "[NC]"       unused   input  active-high

[0] https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#71_Expansion_Header_Connectors
[1] https://octavosystems.com/app_notes/osd335x-family-pin-assignments/

Reviewed-by: Jason Kridner <jason@beagleboard.org>
Reviewed-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Drew Fustini <drew@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:24:27 -07:00
Drew Fustini
aafd897a5a ARM: dts: am335x-boneblack: add gpio-line-names
The BeagleBone Black has P8 and P9 headers [0] which expose many of the
AM3358 ZCZ SoC balls to stacking expansion boards called "capes", or to
other external connections like jumper wires connected to a breadboard.
BeagleBone users will often refer to the "Cape Exanpsion Headers" pin
diagram [1] as it is in the "Bone101" getting started tutorial. [2]

Most of the P8 and P9 header pins can muxed to a GPIO line.  The
gpio-line-names describe which P8 or P9 pin that line goes to and the
default mux for that P8 or P9 pin if it is not GPIO.

For example, gpiochip 1 line 0 is connected to P8 header pin 25 (P8_25)
however the default device tree has the corresponding BGA ball (ZCZ U7)
muxed to mmc1_dat0 as it is used for the on-board eMMC chip.  For that
GPIO line to be used, one would need to modify the device tree to
disable the eMMC and change the pin mux for that ball to GPIO mode.

Some of the AM3358 ZCZ balls corresponding to GPIO lines are not routed
to a P8 or P9 header, but are instead wired to some peripheral device
like on-board eMMC, HDMI framer IC, or status LEDs.  Those names are in
brackets to denote those GPIO lines can not be used.

Some GPIO lines are named "[NC]" as the corresponding balls are not
routed to anything on the PCB.

The goal for these names is to make it easier for a user viewing the
output of gpioinfo to determine which P8 or P9 pin is connected to a
GPIO line.  The output of gpioinfo on a BeagleBone Black would be:

gpiochip0 - 32 lines:
	line   0: "[ethernet]"       unused   input  active-high
	line   1: "[ethernet]"       unused   input  active-high
	line   2: "P9_22 [spi0_sclk]" unused input active-high
	line   3: "P9_21 [spi0_d0]" unused input active-high
	line   4: "P9_18 [spi0_d1]" unused input active-high
	line   5: "P9_17 [spi0_cs0]" unused input active-high
	line   6:  "[sd card]"         "cd"   input   active-low [used]
	line   7: "P9_42A [ecappwm0]" unused input active-high
	line   8: "P8_35 [hdmi]" unused input active-high
	line   9: "P8_33 [hdmi]" unused input active-high
	line  10: "P8_31 [hdmi]" unused input active-high
	line  11: "P8_32 [hdmi]" unused input active-high
	line  12: "P9_20 [i2c2_sda]" unused input active-high
	line  13: "P9_19 [i2c2_scl]" unused input active-high
	line  14: "P9_26 [uart1_rxd]" unused input active-high
	line  15: "P9_24 [uart1_txd]" unused input active-high
	line  16: "[ethernet]"       unused   input  active-high
	line  17: "[ethernet]"       unused   input  active-high
	line  18:      "[usb]"       unused   input  active-high
	line  19:     "[hdmi]"       unused   input  active-high
	line  20:     "P9_41B"       unused   input  active-high
	line  21: "[ethernet]"       unused   input  active-high
	line  22: "P8_19 [ehrpwm2a]" unused input active-high
	line  23: "P8_13 [ehrpwm2b]" unused input active-high
	line  24:       "[NC]"       unused   input  active-high
	line  25:       "[NC]"       unused   input  active-high
	line  26:      "P8_14"       unused   input  active-high
	line  27:      "P8_17"       unused   input  active-high
	line  28: "[ethernet]"       unused   input  active-high
	line  29: "[ethernet]"       unused   input  active-high
	line  30: "P9_11 [uart4_rxd]" unused input active-high
	line  31: "P9_13 [uart4_txd]" unused input active-high
gpiochip1 - 32 lines:
	line   0: "P8_25 [emmc]" unused input active-high
	line   1:     "[emmc]"       unused   input  active-high
	line   2: "P8_5 [emmc]" unused input active-high
	line   3: "P8_6 [emmc]" unused input active-high
	line   4: "P8_23 [emmc]" unused input active-high
	line   5: "P8_22 [emmc]" unused input active-high
	line   6: "P8_3 [emmc]" unused input active-high
	line   7: "P8_4 [emmc]" unused input active-high
	line   8:       "[NC]"       unused   input  active-high
	line   9:       "[NC]"       unused   input  active-high
	line  10:       "[NC]"       unused   input  active-high
	line  11:       "[NC]"       unused   input  active-high
	line  12:      "P8_12"       unused   input  active-high
	line  13:      "P8_11"       unused   input  active-high
	line  14:      "P8_16"       unused   input  active-high
	line  15:      "P8_15"       unused   input  active-high
	line  16:     "P9_15A"       unused   input  active-high
	line  17:      "P9_23"       unused   input  active-high
	line  18: "P9_14 [ehrpwm1a]" unused input active-high
	line  19: "P9_16 [ehrpwm1b]" unused input active-high
	line  20:     "[emmc]"       unused   input  active-high
	line  21: "[usr0 led]" "beaglebone:green:heartbeat" output active-high [used]
	line  22: "[usr1 led]" "beaglebone:green:mmc0" output active-high [used]
	line  23: "[usr2 led]" "beaglebone:green:usr2" output active-high [used]
	line  24: "[usr3 led]" "beaglebone:green:usr3" output active-high [used]
	line  25:     "[hdmi]"  "interrupt"   input  active-high [used]
	line  26:      "[usb]"       unused   input  active-high
	line  27: "[hdmi audio]" "enable" output active-high [used]
	line  28:      "P9_12"       unused   input  active-high
	line  29:      "P8_26"       unused   input  active-high
	line  30: "P8_21 [emmc]" unused input active-high
	line  31: "P8_20 [emmc]" unused input active-high
gpiochip2 - 32 lines:
	line   0:     "P9_15B"       unused   input  active-high
	line   1:      "P8_18"       unused   input  active-high
	line   2:       "P8_7"       unused   input  active-high
	line   3:       "P8_8"       unused   input  active-high
	line   4:      "P8_10"       unused   input  active-high
	line   5:       "P8_9"       unused   input  active-high
	line   6: "P8_45 [hdmi]" unused input active-high
	line   7: "P8_46 [hdmi]" unused input active-high
	line   8: "P8_43 [hdmi]" unused input active-high
	line   9: "P8_44 [hdmi]" unused input active-high
	line  10: "P8_41 [hdmi]" unused input active-high
	line  11: "P8_42 [hdmi]" unused input active-high
	line  12: "P8_39 [hdmi]" unused input active-high
	line  13: "P8_40 [hdmi]" unused input active-high
	line  14: "P8_37 [hdmi]" unused input active-high
	line  15: "P8_38 [hdmi]" unused input active-high
	line  16: "P8_36 [hdmi]" unused input active-high
	line  17: "P8_34 [hdmi]" unused input active-high
	line  18: "[ethernet]"       unused   input  active-high
	line  19: "[ethernet]"       unused   input  active-high
	line  20: "[ethernet]"       unused   input  active-high
	line  21: "[ethernet]"       unused   input  active-high
	line  22: "P8_27 [hdmi]" unused input active-high
	line  23: "P8_29 [hdmi]" unused input active-high
	line  24: "P8_28 [hdmi]" unused input active-high
	line  25: "P8_30 [hdmi]" unused input active-high
	line  26:     "[emmc]"       unused   input  active-high
	line  27:     "[emmc]"       unused   input  active-high
	line  28:     "[emmc]"       unused   input  active-high
	line  29:     "[emmc]"       unused   input  active-high
	line  30:     "[emmc]"       unused   input  active-high
	line  31:     "[emmc]"       unused   input  active-high
gpiochip3 - 32 lines:
	line   0: "[ethernet]"       unused   input  active-high
	line   1: "[ethernet]"       unused   input  active-high
	line   2: "[ethernet]"       unused   input  active-high
	line   3: "[ethernet]"       unused   input  active-high
	line   4: "[ethernet]"       unused   input  active-high
	line   5:     "[i2c0]"       unused   input  active-high
	line   6:     "[i2c0]"       unused   input  active-high
	line   7:      "[emu]"       unused   input  active-high
	line   8:      "[emu]"       unused   input  active-high
	line   9: "[ethernet]"       unused   input  active-high
	line  10: "[ethernet]"       unused   input  active-high
	line  11:       "[NC]"       unused   input  active-high
	line  12:       "[NC]"       unused   input  active-high
	line  13:      "[usb]"       unused   input  active-high
	line  14: "P9_31 [spi1_sclk]" unused input active-high
	line  15: "P9_29 [spi1_d0]" unused input active-high
	line  16: "P9_30 [spi1_d1]" unused input active-high
	line  17: "P9_28 [spi1_cs0]" unused input active-high
	line  18: "P9_42B [ecappwm0]" unused input active-high
	line  19:      "P9_27"       unused   input  active-high
	line  20:     "P9_41A"       unused   input  active-high
	line  21:      "P9_25"       unused   input  active-high
	line  22:       "[NC]"       unused   input  active-high
	line  23:       "[NC]"       unused   input  active-high
	line  24:       "[NC]"       unused   input  active-high
	line  25:       "[NC]"       unused   input  active-high
	line  26:       "[NC]"       unused   input  active-high
	line  27:       "[NC]"       unused   input  active-high
	line  28:       "[NC]"       unused   input  active-high
	line  29:       "[NC]"       unused   input  active-high
	line  30:       "[NC]"       unused   input  active-high
	line  31:       "[NC]"       unused   input  active-high

[0] https://git.io/JfgOd
[1] https://beagleboard.org/capes
[1] https://beagleboard.org/Support/bone101
[2] https://beagleboard.org/static/images/cape-headers.png

Reviewed-by: Jason Kridner <jason@beagleboard.org>
Reviewed-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Drew Fustini <drew@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:24:27 -07:00
Drew Fustini
ff82009fcc ARM: dts: am33xx-l4: add gpio-ranges
Add gpio-ranges properties to the gpio controller nodes.

These gpio-ranges were created based on "Table 9-10. CONTROL_MODULE
REGISTERS" in the  "AM335x Technical Reference Manual" [0] and "Table
4-2. Pin Attributes" in the "AM335x Sitara Processor datasheet" [1].
A csv file with this data is available for reference [2].

These mappings are valid for all SoC's that are using am33xx-l4.dtsi.
In addition, the only TI AM33xx parts that actually exist are [0]:
AM3351, AM3352, AM3354, AM3356, AM3357, AM3358, AM3359

These gpio-ranges properties should be added as they describe the
relationship between a gpio line and pin control register that exists
in the hardware.  For example, GPMC_A0 pin has mode 7 which is labeled
gpio1_16. conf_gpmc_a0 register is at offset 840h which makes it pin 16.

[0] https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf
[1] http://www.ti.com/lit/ds/symlink/am3358.pdf
[2] https://gist.github.com/pdp7/6ffaddc8867973c1c3e8612cfaf72020
[3] http://www.ti.com/processors/sitara-arm/am335x-cortex-a8/overview.html

Signed-off-by: Drew Fustini <drew@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:24:26 -07:00
Suman Anna
96cafa00c5 ARM: dts: am5729-beaglebone-ai: Disable ununsed mailboxes
The IPU and DSP remote processors use sub-mailbox nodes only from a
limited set of System Mailboxes 5 and 6 to achieve the Remote Processor
Messaging (RPMsg) communication stack between the MPU host processor
and the respective remote processor. These are all defined and enabled
through the inherited common dra74-ipu-dsp-common.dtsi file.

The other System Mailboxes do not define any actual sub-mailboxes, so
they serve no purpose and can all be safely dropped.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:24:23 -07:00
Suman Anna
4873b668d6 ARM: dts: am5729-beaglebone-ai: Enable IPU & DSP rprocs
Assign the previously added CMA reserved memory nodes to the respective
IPU and DSP rproc device nodes, and enable these rproc nodes so that
these remote processors can be booted on the AM5729 BeagleBone AI board.

The addresses and sizes of the CMA pools are identical to those used on
various other TI AM572x/AM574x based boards. The mailboxes, timers and
watchdog-timers for all these remoteprocs are inherited by including the
common dra72-ipu-dsp-common.dtsi file.

An associated pair of the rproc node and its CMA node can be disabled
later on if there is no use-case defined to use that remote processor.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:24:23 -07:00
Linus Walleij
f27b1dc641 spi: omap2-mcspi: Convert to use GPIO descriptors
The OMAP2 MCSPI has some kind of half-baked GPIO CS support:
it includes code like this:

  if (gpio_is_valid(spi->cs_gpio)) {
        ret = gpio_request(spi->cs_gpio, dev_name(&spi->dev));
	(...)

But it doesn't parse the "cs-gpios" attribute in the device
tree to count the number of GPIOs or pick out the GPIO numbers
and put these in the SPI master's .cs_gpios property.

We complete the implementation of supporting CS GPIOs
from the device tree and switch it over to use the SPI core
for this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20200625231257.280615-1-linus.walleij@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 19:14:07 +01:00
Douglas Anderson
638d8488ae spi: spi-geni-qcom: Don't set the cs if it was already right
Setting the chip select on the Qualcomm geni SPI controller isn't
exactly cheap.  Let's cache the current setting and avoid setting the
chip select if it's already right.

Using "flashrom" to read or write the EC firmware on a Chromebook
shows roughly a 25% reduction in interrupts and a 15% speedup.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20200626151946.1.I06134fd669bf91fd387dc6ecfe21d44c202bd412@changeid
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 19:14:06 +01:00
Krzysztof Kozlowski
2d62edd65e ARM: dts: am: Align L2 cache-controller nodename with dtschema
Fix dtschema validator warnings like:
    l2-cache-controller@48242000: $nodename:0: 'l2-cache-controller@48242000'
        does not match '^(cache-controller|cpu)(@[0-9a-f,]+)*$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:13:49 -07:00
Krzysztof Kozlowski
01df6238fa ARM: dts: omap: Align L2 cache-controller nodename with dtschema
Fix dtschema validator warnings like:
    l2-cache-controller@48242000: $nodename:0:
        'l2-cache-controller@48242000' does not match '^(cache-controller|cpu)(@[0-9a-f,]+)*$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 11:13:43 -07:00
Dan Murphy
f10b6c99c0 ASoC: tas2562: Add voltage sense slot property
Add a property to configure the slot for the voltage sense monitoring of
the device. Vsense data will be sent to the processor via the slot
defined by the property

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200626154143.20351-2-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:48:55 +01:00
Dan Murphy
09ed395b05 ASoC: tas2562: Add voltage sense slot configuration
Add Vsense slot configuration based on the device tree.  Adding this
property enables the slot programming to be moved to the tdm_set_slot
callback.  This in affect sets the slots for the Isense and Vsense and
enabling this these modes are now based on whether these features were
powered on or not.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200626154143.20351-3-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:48:54 +01:00
Dan Murphy
d7bd40ae55 ASoC: tas2562: Add right and left channel slot programming
Add programming for the tdm slots for the right and left. This also
requires configuring the RX/TX offsets for the DAI format type.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Link: https://lore.kernel.org/r/20200626154143.20351-1-dmurphy@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:48:53 +01:00
Randy Dunlap
4946cd45ef ASoC: Documentation: fix reference to renamed source file
sound/soc/soc-io.c was merged into sound/soc/soc-component.c, so fixup
the Documentation to use the updated file name.

Error: Cannot open file ../sound/soc/soc-io.c
WARNING: kernel-doc '../scripts/kernel-doc -rst -enable-lineno ../sound/soc/soc-io.c' failed with return code 1

Fixes: 460b42d162 ("ASoC: soc-component: merge soc-io.c into soc-component.c")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/a9f59f30-8cf2-ea82-567c-1706fd64fe62@infradead.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:48:52 +01:00
Rohit kumar
abc17b2974 asoc: Update supported rate and format for dummy dai
Add support for 384KHz sample rate and S24_3LE
bitwidth for dummy dai.

Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Link: https://lore.kernel.org/r/1593265030-1451-1-git-send-email-rohitkr@codeaurora.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:48:51 +01:00
Adam Ford
c312f06631 ARM: dts: omap3: Migrate AES from hwmods to sysc-omap2
Various OMAP3 boards have two AES blocks, but only one is currently
available, because the hwmods are only configured for one.

This patch migrates the hwmods for the AES engine to sysc-omap2
which allows the second AES crypto engine to become available.

  omap-aes 480a6000.aes1: OMAP AES hw accel rev: 2.6
  omap-aes 480a6000.aes1: will run requests pump with realtime priority
  omap-aes 480c5000.aes2: OMAP AES hw accel rev: 2.6
  omap-aes 480c5000.aes2: will run requests pump with realtime priority

Signed-off-by: Adam Ford <aford173@gmail.com>
[tony@atomide.com: updated to disable both aes_targets on hs boards]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-06-29 10:22:47 -07:00
Lukas Bulwahn
412847fb47 MAINTAINERS: remove obsolete entry after file renaming
Commit f16861b12f ("regulator: rename da903x to da903x-regulator") missed
to adjust the DIALOG SEMICONDUCTOR DRIVERS section in MAINTAINERS.

Hence, ./scripts/get_maintainer.pl --self-test=patterns complains:

  warning: no file matches    F:    drivers/regulator/da903x.c

The da903x-regulator.c file is already covered by the pattern
drivers/regulator/da9???-regulator.[ch] in the section.

So, simply remove the non-matching file entry in MAINTAINERS.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Link: https://lore.kernel.org/r/20200628180229.5068-1-lukas.bulwahn@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 18:14:20 +01:00
Alexander Usyskin
e852c2c251 mei: bus: don't clean driver pointer
It's not needed to set driver to NULL in mei_cl_device_remove()
which is bus_type remove() handler as this is done anyway
in __device_release_driver().

Actually this is causing an endless loop in driver_detach()
on ubuntu patched kernel, while removing (rmmod) the mei_hdcp module.
The reason list_empty(&drv->p->klist_devices.k_list) is always not-empty.
as the check is always true in  __device_release_driver()
	if (dev->driver != drv)
		return;

The non upstream patch is causing this behavior, titled:
'vfio -- release device lock before userspace requests'

Nevertheless the fix is correct also for the upstream.

Link: https://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20180912085046.3401-2-apw@canonical.com/
Cc: <stable@vger.kernel.org>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/20200628225359.2185929-1-tomas.winkler@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 19:10:51 +02:00
Michał Mirosław
b037d60a3b misc: atmel-ssc: lock with mutex instead of spinlock
Uninterruptible context is not needed in the driver and causes lockdep
warning because of mutex taken in of_alias_get_id(). Convert the lock to
mutex to avoid the issue.

Cc: stable@vger.kernel.org
Fixes: 099343c64e ("ARM: at91: atmel-ssc: add device tree support")
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Link: https://lore.kernel.org/r/50f0d7fa107f318296afb49477c3571e4d6978c5.1592998403.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 19:10:51 +02:00
Linus Torvalds
7c30b859a9 Merge tag 'spi-fix-v5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
Pull spi fixes from Mark Brown:
 "A batch of fixes for the Freescale DSPI driver fixing some serious
  issues with removal of active devices and one resume case, plus a few
  new PCI IDs for Intel platforms"

* tag 'spi-fix-v5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: pxa2xx: Add support for Intel Tiger Lake PCH-H
  spi: spi-fsl-dspi: Initialize completion before possible interrupt
  spi: spi-fsl-dspi: Fix external abort on interrupt in resume or exit paths
  spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
  spi: spi-fsl-dspi: Fix lockup if device is removed during SPI transfer
2020-06-29 10:10:16 -07:00
Linus Torvalds
be88fef34f Merge tag 'thermal-v5.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux
Pull thermal fixes from Daniel Lezcano:

 - Fix undefined temperature if negative on the rcar_gen3 (Dien Pham)

 - Fix wrong frequency converted from power for the cpufreq cooling
   device (Finley Xiao)

 - Fix compilation warnings by making functions static in the tsens
   driver (Amit Kucheria)

 - Fix return value of sprd_thm_probe for the Spreadtrum driver
   (Tiezhu Yang)

 - Fix bank number settings on the Mediatek mt8183 (Michael Kao)

 - Fix missing of_node_put() at probe time i.MX (Anson Huang)

* tag 'thermal-v5.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
  thermal/drivers/rcar_gen3: Fix undefined temperature if negative
  thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
  thermal/drivers/tsens: Fix compilation warnings by making functions static
  thermal/drivers/sprd: Fix return value of sprd_thm_probe()
  thermal/drivers/mediatek: Fix bank number settings on mt8183
  thermal/drivers: imx: Fix missing of_node_put() at probe time
2020-06-29 10:08:15 -07:00
Linus Torvalds
2cfa46dadd Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu:
 "This fixes two race conditions, one in padata and one in af_alg"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  padata: upgrade smp_mb__after_atomic to smp_mb in padata_do_serial
  crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
2020-06-29 10:06:26 -07:00
Geert Uytterhoeven
b6aa06de77 ASoC: qcom: Drop HAS_DMA dependency to fix link failure
When building on allyesconfig kernel for a NO_DMA=y platform (e.g.
Sun-3), CONFIG_SND_SOC_QCOM_COMMON=y, but CONFIG_SND_SOC_QDSP6_AFE=n,
leading to a link failure:

    sound/soc/qcom/common.o: In function `qcom_snd_parse_of':
    common.c:(.text+0x2e2): undefined reference to `q6afe_is_rx_port'

While SND_SOC_QDSP6 depends on HAS_DMA, SND_SOC_MSM8996 and SND_SOC_SDM845
don't, so the following warning is seen:

    WARNING: unmet direct dependencies detected for SND_SOC_QDSP6
      Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && HAS_DMA [=n]
      Selected by [y]:
      - SND_SOC_MSM8996 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y]
      - SND_SOC_SDM845 [=y] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=y] && QCOM_APR [=y] && CROS_EC [=y] && I2C [=y] && SOUNDWIRE [=y]

Until recently, this warning was harmless (from a compile-testing
point-of-view), but the new user of q6afe_is_rx_port() turned this into
a hard failure.

As the QDSP6 driver itself builds fine if NO_DMA=y, and it depends on
QCOM_APR (which in turns depends on ARCH_QCOM || COMPILE_TEST), it is
safe to increase compile testing coverage.  Hence fix the link failure
by dropping the HAS_DMA dependency of SND_SOC_QDSP6.

Fixes: a212008925 ("ASoC: qcom: common: set correct directions for dailinks")
Fixes: 6b1687bf76 ("ASoC: qcom: add sdm845 sound card support")
Fixes: a6f933f63f ("ASoC: qcom: apq8096: Add db820c machine driver")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/20200629122443.21736-1-geert@linux-m68k.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-29 17:52:22 +01:00
Lee Jones
ba2104c24a misc: pti: Fix documentation for bit-rotted function pti_tty_driver_write()
The API has moved on since the original function header was
authored.  This changes brings the function's documentation
back into line with reality, complete descriptions of the
latest arguments to be used.

Squashes the following W=1 kernel build warnings:

 drivers/misc/pti.c:510: warning: Function parameter or member 'tty' not described in 'pti_tty_driver_wr
 drivers/misc/pti.c:510: warning: Function parameter or member 'buf' not described in 'pti_tty_driver_wr
 drivers/misc/pti.c:510: warning: Excess function parameter 'filp' description in 'pti_tty_driver_write'
 drivers/misc/pti.c:510: warning: Excess function parameter 'data' description in 'pti_tty_driver_write'

Cc: J Freyensee <james_p_freyensee@linux.intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-11-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:53 +02:00
Lee Jones
9eea2a499f misc: habanalabs: irq: Add missing struct identifier for 'struct hl_eqe_work'
In kerneldoc format, data structures have to start with 'struct'
else the kerneldoc tooling/parsers/validators get confused.

Squashes the following W=1 warning:

 drivers/misc/habanalabs/irq.c:19: warning: cannot understand function prototype: 'struct hl_eqe_work '

Cc: Oded Gabbay <oded.gabbay@gmail.com>
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-10-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:53 +02:00
Lee Jones
dfe40cccac misc: cb710: sgbuf2: Add missing documentation for cb710_sg_dwiter_write_next_block()'s 'data' arg
An attempt was made to provide a proper kerneldoc header for
cb710_sg_dwiter_write_next_block(), but a description for it's 'data'
argument was missed.

Squashes W=1 kernel build warning:

 drivers/misc/cb710/sgbuf2.c:131: warning: Function parameter or member 'data' not described in 'cb710_sg_dwiter_write_next_block'

Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-9-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:53 +02:00
Lee Jones
e4be4884f3 misc: mic: vop: vop_main: Remove set but unused variable 'ret'
Hasn't been checked since its conception 2 years ago.

Squashes W=1 warning:

 drivers/misc/mic/vop/vop_main.c: In function ‘_vop_scan_devices’:
 drivers/misc/mic/vop/vop_main.c:617:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
 617 | int ret;
 | ^~~

Cc: Sudeep Dutt <sudeep.dutt@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-8-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:53 +02:00
Lee Jones
98e72eb643 misc: eeprom: eeprom_93cx6: Repair function arg descriptions
Copy-paste issue.  Looks like the kerneldoc style descriptions for
these functions were taken from existing functions with slightly
different argument names.

Fixes the following W=1 warnings:

 drivers/misc/eeprom/eeprom_93cx6.c:239: warning: Function parameter or member 'byte' not described in 'eeprom_93cx6_readb'
 drivers/misc/eeprom/eeprom_93cx6.c:239: warning: Excess function parameter 'word' description in 'eeprom_93cx6_readb'
 drivers/misc/eeprom/eeprom_93cx6.c:280: warning: Function parameter or member 'bytes' not described in 'eeprom_93cx6_multireadb'
 drivers/misc/eeprom/eeprom_93cx6.c:280: warning: Excess function parameter 'words' description in 'eeprom_93cx6_multireadb'

Cc: Wolfram Sang <wsa@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-7-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:52 +02:00
Lee Jones
f049c54546 misc: lkdtm: bugs: At least try to use popuated variable
The result may not be intereresting, but not using a set variable
is bad form and causes W=1 kernel builds to complain.

Fixes the following W=1 warning(s):

 drivers/misc/lkdtm/bugs.c: In function ‘lkdtm_STACK_GUARD_PAGE_LEADING’:
 drivers/misc/lkdtm/bugs.c:331:25: warning: variable ‘byte’ set but not used [-Wunused-but-set-variable]
 331 | volatile unsigned char byte;
 | ^~~~
 drivers/misc/lkdtm/bugs.c: In function ‘lkdtm_STACK_GUARD_PAGE_TRAILING’:
 drivers/misc/lkdtm/bugs.c:345:25: warning: variable ‘byte’ set but not used [-Wunused-but-set-variable]
 345 | volatile unsigned char byte;
 | ^~~~

Cc: Kees Cook <keescook@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-5-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:52 +02:00
Lee Jones
3caf1b4839 misc: ti-st: st_kim: Tidy-up bespoke commentry
If it's still in use and worth the effort, it sure looks like
this driver could do with a good scrub (clean).

This patch conserns itself with the non-standard comments located
thoughout the file.

It also fixes the following W=1 warnings by demoting the kerneldoc
function headers to standard comments, since there doesn't appear
to be a requirement for the function args to be documented:

 /drivers/misc/ti-st/st_kim.c:42: warning: Function parameter or member 'id' not described in 'st_get_plat_device'
 /drivers/misc/ti-st/st_kim.c:53: warning: Function parameter or member 'kim_gdata' not described in 'validate_firmware_response'
 /drivers/misc/ti-st/st_kim.c:126: warning: Function parameter or member 'kim_gdata' not described in 'kim_int_recv'
 /drivers/misc/ti-st/st_kim.c:126: warning: Function parameter or member 'data' not described in 'kim_int_recv'
 /drivers/misc/ti-st/st_kim.c:126: warning: Function parameter or member 'count' not described in 'kim_int_recv'
 /drivers/misc/ti-st/st_kim.c:272: warning: Function parameter or member 'kim_gdata' not described in 'download_firmware'
 /drivers/misc/ti-st/st_kim.c:445: warning: Function parameter or member 'kim_data' not described in 'st_kim_start'
 /drivers/misc/ti-st/st_kim.c:509: warning: Function parameter or member 'kim_data' not described in 'st_kim_stop'
 /drivers/misc/ti-st/st_kim.c:661: warning: Function parameter or member 'core_data' not described in 'st_kim_ref'
 /drivers/misc/ti-st/st_kim.c:661: warning: Function parameter or member 'id' not described in 'st_kim_ref'

Cc: Pavan Savoy <pavan_savoy@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-4-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:52 +02:00
Lee Jones
7e8eebef1c misc: ti-st: st_core: Tidy-up bespoke commentry
If it's still in use and worth the effort, it sure looks like
this driver could do with a good scrub (clean).

This patch conserns itself with the non-standard comments located
thoughout the file.

It also fixes the following W=1 warnings by demoting the kerneldoc
function headers to standard comments, since there doesn't appear
to be a requirement for the function args to be documented:

 drivers/misc/ti-st/st_core.c:132: warning: Function parameter or member 'st_gdata' not described in 'st_reg_complete'
 drivers/misc/ti-st/st_core.c:132: warning: Function parameter or member 'err' not described in 'st_reg_complete'
 drivers/misc/ti-st/st_core.c:197: warning: Function parameter or member 'st_gdata' not described in 'st_wakeup_ack'
 drivers/misc/ti-st/st_core.c:197: warning: Function parameter or member 'cmd' not described in 'st_wakeup_ack'
 drivers/misc/ti-st/st_core.c:226: warning: Function parameter or member 'disc_data' not described in 'st_int_recv'
 drivers/misc/ti-st/st_core.c:226: warning: Function parameter or member 'data' not described in 'st_int_recv'
 drivers/misc/ti-st/st_core.c:226: warning: Function parameter or member 'count' not described in 'st_int_recv'
 drivers/misc/ti-st/st_core.c:387: warning: Function parameter or member 'st_gdata' not described in 'st_int_dequeue'
 drivers/misc/ti-st/st_core.c:409: warning: Function parameter or member 'st_gdata' not described in 'st_int_enqueue'
 drivers/misc/ti-st/st_core.c:409: warning: Function parameter or member 'skb' not described in 'st_int_enqueue'

Cc: Pavan Savoy <pavan_savoy@ti.com>
Cc: Naveen Jain <naveen_jain@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-3-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:52 +02:00
Lee Jones
b23d5151f3 misc: c2port: core: Ensure source size does not equal destination size in strncpy()
We need to ensure there's a place for the NULL terminator.

Fixes the following W=1 warning(s):

 In file included from include/linux/bitmap.h:9,
 from include/linux/nodemask.h:95,
 from include/linux/mmzone.h:17,
 from include/linux/gfp.h:6,
 from include/linux/umh.h:4,
 from include/linux/kmod.h:9,
 from include/linux/module.h:16,
 from drivers/misc/c2port/core.c:9:
 In function ‘strncpy’,
 inlined from ‘c2port_device_register’ at drivers/misc/c2port/core.c:926:2:
 include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
 297 | #define __underlying_strncpy __builtin_strncpy
 | ^
 include/linux/string.h:307:9: note: in expansion of macro ‘__underlying_strncpy’
 307 | return __underlying_strncpy(p, q, size);
 | ^~~~~~~~~~~~~~~~~~~~

Cc: Rodolfo Giometti <giometti@linux.it>
Cc: "Eurotech S.p.A" <info@eurotech.it>
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20200626130525.389469-2-lee.jones@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:45:52 +02:00
Vaibhav Gupta
34afa1d657 misc/pch_phub.c: use generic power management
Drivers should not use legacy power management as they have to manage power
states and related operations, for the device, themselves. This driver was
handling them with the help of PCI helper functions like
pci_save/restore_state(), pci_enable/disable_device(), etc.

With generic PM, all essentials will be handled by the PCI core. Driver
needs to do only device-specific operations.

The driver was also using pci_enable_wake(...,..., 0) to disable wake. Use
device_wakeup_disable() instead. It was also saving device register
configuration using pch_phub_save/restore_reg_conf() which is not
recommended.

Compile-tested only.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20200629081531.214734-6-vaibhavgupta40@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:43:42 +02:00
Vaibhav Gupta
6bbf52566b misc/phantom.c: use generic power management
With the support of generic PM callbacks, drivers no longer need to use
legacy .suspend() and .resume() in which they had to maintain PCI states
changes and device's power state themselves. All required operations are
done by PCI core.

Driver needs to do only device-specific operations.

Compile-tested only.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20200629081531.214734-5-vaibhavgupta40@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:43:42 +02:00
Vaibhav Gupta
ff249c1c70 misc/tifm_7xx1.c: use generic power management
Drivers should not use legacy power management as they have to manage power
states and related operations, for the device, themselves. This driver was
handling them with the help of PCI helper functions like
pci_save/restore_state(), pci_enable/disable_device(), etc.

With generic PM, all essentials will be handled by the PCI core. Driver
needs to do only device-specific operations.

The driver was also using pci_enable_wake(...,..., 0) to disable wake. Use
device_wakeup_disable() instead.

Compile-tested only.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20200629081531.214734-4-vaibhavgupta40@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:43:42 +02:00
Vaibhav Gupta
6bf23661d4 cardreader/rtsx_pcr.c: use generic power management
Drivers should not use legacy power management as they have to manage power
states and related operations, for the device, themselves. This driver was
handling them with the help of PCI helper functions like
pci_save/restore_state(), pci_enable/disable_device(), etc.

With generic PM, all essentials will be handled by the  PCI core. Driver
needs to do only device-specific operations.

The driver was also using pci_enable_wake(...,..., 0) to disable wake. Use
device_wakeup_disable() instead.

Compile-tested only.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20200629081531.214734-3-vaibhavgupta40@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 18:43:42 +02:00