GitHub/moto-9609/android_kernel_motorola_exynos9610.git
7 years agoMerge branch 'next/arm64' into next/soc
Olof Johansson [Wed, 6 Sep 2017 03:29:54 +0000 (20:29 -0700)]
Merge branch 'next/arm64' into next/soc

* next/arm64:
  arm64: defconfig: enable rockchip graphics
  arm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl
  arm64: defconfig: add CONFIG_BRCMSTB_THERMAL
  arm64: defconfig: add recently added crypto drivers as modules
  arm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOG
  arm64: defconfig: Enable CONFIG_WQ_POWER_EFFICIENT_DEFAULT
  arm64: defconfig: enable DMA driver for hi3660
  arm64: defconfig: enable OP-TEE
  arm64: defconfig: enable support for serial port connected device
  arm64: defconfig: enable CONFIG_SYSCON_REBOOT_MODE
  arm64: defconfig: enable support hi6421v530 PMIC
  arm64: defconfig: enable Kirin PCIe
  arm64: defconfig: enable SCSI_HISI_SAS_PCI
  arm64: defconfig: Enable REGULATOR_AXP20X
  arm64: defconfig: Enable MFD_AXP20X_RSB
  arm64: select PINCTRL for ZTE platform
  arm64: defconfig: enable fine-grained task level IRQ time accounting
  arm64: defconfig: compile ak4613 and renesas sound as modules
  arm64: defconfig: enable nop-xceiv PHY driver

7 years agoMerge branch 'next/cleanup' into next/soc
Olof Johansson [Wed, 6 Sep 2017 03:29:46 +0000 (20:29 -0700)]
Merge branch 'next/cleanup' into next/soc

* next/cleanup:
  soc: versatile: remove unnecessary static in realview_soc_probe()
  ARM: Convert to using %pOF instead of full_name
  ARM: hisi: Fix typo in comment
  ARM: OMAP4+: PRM: fix of_irq_get() result checks
  ARM: OMAP3+: PRM: fix of_irq_get() result check
  ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap
  ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
  ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
  bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe

7 years agoarm64: defconfig: enable rockchip graphics
Heiko Stuebner [Thu, 24 Aug 2017 15:02:10 +0000 (17:02 +0200)]
arm64: defconfig: enable rockchip graphics

Enable the graphics-related options needed by Rockchip boards.
This includes the pwm-backlight which will be needed by the internal
displays used on Gru Chrome-devices.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Mark yao <mark.yao@rock-chips.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
7 years agoMAINTAINERS: Update Cavium ThunderX2 entry
Robert Richter [Tue, 8 Aug 2017 09:29:13 +0000 (11:29 +0200)]
MAINTAINERS: Update Cavium ThunderX2 entry

Add Robert Richter as the primary maintainer for this platform.

Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
7 years agoMerge tag 'v4.14-rockchip-soc32-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 24 Aug 2017 13:54:33 +0000 (15:54 +0200)]
Merge tag 'v4.14-rockchip-soc32-2' of git://git./linux/kernel/git/mmind/linux-rockchip into next/soc

Pull "second round of Rockchip soc32 changes for 4.14" from Heiko Stübner:

Enable the ARCH_DMA_ADDR_T_64BIT kconfig option for LPAE builds,
as some peripherals like the Mali gpu do support 64bit dma addresses.

* tag 'v4.14-rockchip-soc32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAE

7 years agoMerge tag 'samsung-soc-4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Wed, 23 Aug 2017 19:46:48 +0000 (21:46 +0200)]
Merge tag 'samsung-soc-4.14-2' of git://git./linux/kernel/git/krzk/linux into next/soc

Pull "Samsung mach/soc changes for v4.14, part 2" from Krzysztof Kozłowski:

Fix NAND ECC mode for mini2440 board.

* tag 'samsung-soc-4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c24xx: Fix NAND ECC mode for mini2440 board

7 years agoARM: s3c24xx: Fix NAND ECC mode for mini2440 board
Sylwester Nawrocki [Wed, 16 Aug 2017 20:31:01 +0000 (22:31 +0200)]
ARM: s3c24xx: Fix NAND ECC mode for mini2440 board

After commit e9f66ae23c20 ("mtd: s3c2410: make ecc mode configurable via
platform data") booting of the mini2440 board is broken, since
for this board we have CONFIG_MTD_NAND_S3C2410_HWECC set. The console
gets flooded with errors reported by the mtd subsystem.
This patch changes ecc_mode to NAND_ECC_HW which restores proper
operation of the NAND flash memory.

Cc: Sergio Prado <sergio.prado@e-labworks.com>
Fixes: e9f66ae23c20 ("mtd: s3c2410: make ecc mode configurable via platform data")
Signed-off-by: Sylwester Nawrocki <snawrocki@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
7 years agoMerge tag 'sunxi-config64-for-4.14' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 21 Aug 2017 07:21:26 +0000 (09:21 +0200)]
Merge tag 'sunxi-config64-for-4.14' of https://git./linux/kernel/git/sunxi/linux into next/arm64

Pull "Allwinner arm64 defconfig changes for 4.14" from Chen-Yu Tsai:

Enable X-Powers AXP series PMIC mfd and regulator support by default.

* tag 'sunxi-config64-for-4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: defconfig: Enable REGULATOR_AXP20X
  arm64: defconfig: Enable MFD_AXP20X_RSB

7 years agoMerge tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub...
Arnd Bergmann [Fri, 18 Aug 2017 22:07:56 +0000 (00:07 +0200)]
Merge tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/cleanup

Pull "non-urgent fixes for omaps for v4.14" from Tony Lindgren:

Non-urgent fixes for omaps for v4.14 merge window. These all
can wait for the merge window as we have not seemed to hit
any of these so far:

- Fix error handling in omap_ocp2scp_probe affecting runtime
  PM error path

- Drop broken RPM status update for omap_device

- Two fixes for of_irq_get() usage that can return 0

* tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP4+: PRM: fix of_irq_get() result checks
  ARM: OMAP3+: PRM: fix of_irq_get() result check
  ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
  bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe

7 years agoMerge tag 'qcom-arm64-defconfig-for-4.14' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Fri, 18 Aug 2017 22:06:43 +0000 (00:06 +0200)]
Merge tag 'qcom-arm64-defconfig-for-4.14' of git://git./linux/kernel/git/agross/linux into next/arm64

Pull "Qualcomm ARM64 Based defconfig Updates for v4.14" from Andy Gross:

* Enable Qualcomm IPQ8074 clocks and pinctrl

* tag 'qcom-arm64-defconfig-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl

7 years agoMerge tag 'zte-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Arnd Bergmann [Fri, 18 Aug 2017 22:01:03 +0000 (00:01 +0200)]
Merge tag 'zte-soc-4.14' of git://git./linux/kernel/git/shawnguo/linux into next/arm64

Pull "ZTE SoC updates for 4.14" from Shawn Guo:

 - Select PINCTRL for ZTE platform, so that pinctrl driver for ZX296718
   can be enabled.

* tag 'zte-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: select PINCTRL for ZTE platform

7 years agoMerge tag 'arm-soc/for-4.14/defconfig-arm64' of http://github.com/Broadcom/stblinux...
Arnd Bergmann [Fri, 18 Aug 2017 21:59:07 +0000 (23:59 +0200)]
Merge tag 'arm-soc/for-4.14/defconfig-arm64' of github.com/Broadcom/stblinux into next/arm64

Pull "Broadcom defconfig-arm64 changes for 4.14" from Florian Fainelli:

This pull request contains ARM64 defconfig changes for Broadcom ARM64-based
SoCs for 4.14, please pull the following:

- Markus enables the Broadcom STB AVS thermal monitoring driver as a module
  which is currently queued in Rui Zhang's tree

* tag 'arm-soc/for-4.14/defconfig-arm64' of http://github.com/Broadcom/stblinux:
  arm64: defconfig: add CONFIG_BRCMSTB_THERMAL

7 years agoMerge tag 'tegra-for-4.14-arm-core' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Fri, 18 Aug 2017 21:36:09 +0000 (23:36 +0200)]
Merge tag 'tegra-for-4.14-arm-core' of git://git./linux/kernel/git/tegra/linux into next/soc

Pull "ARM: tegra: Changes for v4.14-rc1" from Thierry Reding:

Contains a single fix for platforms with more than 2 GiB of memory
running on a kernel with LPAE enabled.

* tag 'tegra-for-4.14-arm-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Select appropriate DMA options for LPAE

7 years agoarm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl
Abhishek Sahu [Thu, 4 May 2017 11:54:01 +0000 (17:24 +0530)]
arm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl

These configs are required for booting kernel in QCOM
IPQ8074 boards.

Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
Signed-off-by: Varadarajan Narayanan <varada@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
7 years agoMerge tag 'v4.14-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 16 Aug 2017 21:34:15 +0000 (23:34 +0200)]
Merge tag 'v4.14-rockchip-soc32-1' of git://git./linux/kernel/git/mmind/linux-rockchip into next/soc

Pull "Rockchip soc32 changes for 4.14" from Heiko Stübner:

32bit arch changes for Rockchip socs containing enablement for ZONE_DMA
for LPAE builds due to the peripherals only being 32bit capable
and conversion to the exclusive reset controls in smp code.

* tag 'v4.14-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: enable ZONE_DMA for non 64-bit capable peripherals
  ARM: rockchip: explicitly request exclusive reset control in smp code

7 years agoMerge tag 'gemini-for-arm-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 16 Aug 2017 20:41:23 +0000 (22:41 +0200)]
Merge tag 'gemini-for-arm-soc-1' of git://git./linux/kernel/git/linusw/linux-nomadik into next/soc

Pull "Gemini changes for v4.14" from Linus Walleij:

They all deal with fixing up the Kconfig selects
for misc stuff that has been merged in different
subsystems:

- We have a reset controller
- We have a clock controller
- We need ARM_AMBA for FTDMAC020 which is PL08x
- We need to select the pin controller (being merged
  for v4.14)

* tag 'gemini-for-arm-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: gemini: select pin controller
  ARM: gemini: select ARM_AMBA
  ARM: gemini: select the clock controller
  ARM: gemini: tag the arch as having reset controller

7 years agoMerge tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu into next/soc
Arnd Bergmann [Wed, 16 Aug 2017 20:40:18 +0000 (22:40 +0200)]
Merge tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu into next/soc

Pull "mvebu soc for 4.14 (part 1)" from Gregory CLEMENT:

Enabling ARM_GLOBAL_TIMER in mvebu_v7_defconfig for Armada 38x

* tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: enable ARM_GLOBAL_TIMER compilation Armada 38x platforms

7 years agoMAINTAINERS: update ARM/ZTE entry
Shawn Guo [Mon, 14 Aug 2017 02:44:54 +0000 (10:44 +0800)]
MAINTAINERS: update ARM/ZTE entry

Update ARM/ZTE entry to include all those ZTE ZX platform drivers and
files that do not have a separate MAINTAINERS entry.

Since I have been contributing a lot for ZTE ZX SoCs support and
collecting platform patches for a few cycles, add myself as one
maintainer for the platform.

Cc: Jun Nie <jun.nie@linaro.org>
Cc: Baoyou Xie <baoyou.xie@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoMerge tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Wed, 16 Aug 2017 20:36:10 +0000 (22:36 +0200)]
Merge tag 'omap-for-v4.14/debug-ll-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/soc

Pull "Updates to for omap debug_ll code to use generic DEBUG_UART_8250 code" from Tony Lindgren:

The legacy code to try to detect the debug_ll uart based on machine
is no longer needed, and we can remove it. Note that the Kconfig
options stay the same, we just need to define the port configuration
now.

* tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: debug: Use generic 8250 debug_ll for am3517 and am335x
  ARM: debug: Use generic 8250 debug_ll for ti81xx
  ARM: debug: Use generic 8250 debug_ll for omap3/4/5
  ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uarts

7 years agoMerge tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 16 Aug 2017 20:34:15 +0000 (22:34 +0200)]
Merge tag 'omap-for-v4.14/soc-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/soc

Pull "soc changes for omaps for v4.14" from Tony Lindgren:

SoC updates for omaps for v4.14. Most of the chages are to add
support for new dra762 SoC. The other changes are are for legacy
DMA code removal, and MMC quirk and iodelay config for dra7.

* tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains
  ARM: dra762: Enable SMP for dra762
  ARM: dra7: hwmod: Register dra76x specific hwmod
  ARM: dra762: Add support for device identification
  ARM: OMAP2+: board-generic: add support for dra762 family
  ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX
  ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM
  ARM: OMAP2+: Remove unused legacy code for DMA

7 years agoMerge tag 'renesas-soc-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 16 Aug 2017 20:31:05 +0000 (22:31 +0200)]
Merge tag 'renesas-soc-for-v4.14' of https://git./linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Updates for v4.14" Simon Horman:

* Add debug-ll support to RZ/G1M (r8a7743) SoC

  Chris Paterson says, "RZ/G1M uses SCIF0 for the debug console, like most
  of the R-Car Gen2 SoCs."

* Remove ARCH_SHMOBILE_MULTI

  Geert Uytterhoeven says, "The migration from ARCH_SHMOBILE_MULTI to
  ARCH_RENESAS has been completed in v4.12..."

* Correct arch timer frequency on RZ/G1M (r8a7743) SoC

  Geert Uytterhoeven says, "According to the datasheet, the frequency of
  the ARM architecture timer on RZ/G1E depends on the frequency of the ZS
  clock..."

* Add support for CPG/MSSR bindings

  Geert Uytterhoeven says, "When using the new CPG/MSSR bindings, there is
  no longer a "renesas,rcar-gen2-cpg-clocks" node, and the code to obtain
  the external clock crystal frequency falls back to a default of 20 MHz.
  While this is correct for all upstream R-Car Gen2 and RZ/G1 boards, this
  is not necessarily the case for out-of-tree third party boards.

  Add support for finding the external clock crystal oscillator on RZ/G1M,
  and on R-Car H2, M2-W, and M2-N using the new CPG/MSSR bindings, through
  the corresponding "renesas,r8a77xx-cpg-mssr" nodes."

* Obtain jump stub region from DT

  Geert Uytterhoeven says, "Add support for obtaining from DT the SRAM
  region to store the jump stub for CPU core bringup, according to the
  renesas,smp-sram DT bindings."

* tag 'renesas-soc-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove ARCH_SHMOBILE_MULTI
  ARM: shmobile: rcar-gen2: Correct arch timer frequency on RZ/G1E
  ARM: shmobile: rcar-gen2: Add support for CPG/MSSR bindings
  ARM: shmobile: rcar-gen2: Obtain jump stub region from DT
  ARM: debug-ll: Add support for r8a7743

7 years agosoc: versatile: remove unnecessary static in realview_soc_probe()
Gustavo A. R. Silva [Wed, 19 Jul 2017 22:40:59 +0000 (17:40 -0500)]
soc: versatile: remove unnecessary static in realview_soc_probe()

Remove unnecessary static on local variables syscon_regmap.
Such variables are initialized before being used, on every
execution path throughout the functions. The static has no
benefit and, removing it reduces the object file size.

This issue was detected using Coccinelle and the following
semantic patch:

@bad exists@
position p;
identifier x;
type T;
@@

static T x@p;
...
x = <+...x...+>

@@
identifier x;
expression e;
type T;
position p != bad.p;
@@

-static
 T x@p;
 ... when != x
     when strict
?x = e;

In the following log you can see the difference in the object file size.
This log is the output of the size command, before and after the code
change:

before:
   text    data     bss     dec     hex filename
   3339    2104     128    5571    15c3 drivers/soc/versatile/soc-realview.o

after:
   text    data     bss     dec     hex filename
   3321    2048      64    5433    1539 drivers/soc/versatile/soc-realview.o

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoARM: Convert to using %pOF instead of full_name
Rob Herring [Fri, 21 Jul 2017 19:28:32 +0000 (14:28 -0500)]
ARM: Convert to using %pOF instead of full_name

Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Benoît Cousson" <bcousson@baylibre.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoMerge tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git.kernel.org/pub...
Arnd Bergmann [Wed, 16 Aug 2017 20:21:42 +0000 (22:21 +0200)]
Merge tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/cleanup

Pull "non-urgent dts fixes for omaps for v4.14" from Tony Lindgren:

Two non-urgent dts fixes for dra7 Ethernet quirk. These are sent
separately from the rest of the dts changes to avoid merge conflicts
as these depend on earlier fixes sent during v4.13-rc cycle.

* tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap
  ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap

7 years agoMerge tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi into next...
Arnd Bergmann [Wed, 16 Aug 2017 20:17:12 +0000 (22:17 +0200)]
Merge tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi into next/cleanup

Pull "ARM: hisi fixes for 4.14" from Wei Xu:

- Fix the comment typo of the machine code "0xe51ff004"
  to avoid confusion.

* tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi:
  ARM: hisi: Fix typo in comment

7 years agoMerge tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux into next/soc
Arnd Bergmann [Wed, 16 Aug 2017 19:52:02 +0000 (21:52 +0200)]
Merge tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux into next/soc

Pull "ADC device support for Cirrus Logic EP93xx SoC" from Alexander Sverdlin:

- Add ADC specific clock
- Add ADC device support to EP93xx core
- Add ADC instance to EDB93xx boards

The above doesn't include a driver for ADC device.

* tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux:
  ARM: edb93xx: Add ADC platform device
  ARM: ep93xx: Add ADC platform device support to core
  ARM: ep93xx: Add ADC clock

7 years agoMerge tag 'samsung-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Wed, 16 Aug 2017 19:50:53 +0000 (21:50 +0200)]
Merge tag 'samsung-soc-4.14' of git://git./linux/kernel/git/krzk/linux into next/soc

Pull "Samsung mach/soc changes for v4.14" from Krzysztof Kozłowski:

Only for S3C24xx platform:
1. Cleanup from non-existent CONFIG entries.
2. Fix unmet NET dependency when H1940 bluetooth chip is selected..

* tag 'samsung-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c24xx: make H1940BT depend on RFKILL
  ARM: s3c24xx: Do not confuse local define with Kconfig
  ARM: s3c24xx: Remove non-existing SND_SOC_SMDK2443_WM9710
  ARM: s3c24xx: Remove non-existing CONFIG_CPU_S3C2413

7 years agoARM: hisi: Fix typo in comment
Yunzhi Li [Mon, 7 Aug 2017 09:37:04 +0000 (17:37 +0800)]
ARM: hisi: Fix typo in comment

The machine code "0xe51ff004" means "ldr pc, [pc, #-4]".
This patch fixed the comment typo to avoid any confusion.

Signed-off-by: Yunzhi Li <yunzhi.li@deephi.tech>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: add CONFIG_BRCMSTB_THERMAL
Markus Mayer [Wed, 9 Aug 2017 22:02:57 +0000 (15:02 -0700)]
arm64: defconfig: add CONFIG_BRCMSTB_THERMAL

Turn on CONFIG_BRCMSTB_THERMAL as module.

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoMerge tag 'hisi-defconfig-for-4.14' of git://github.com/hisilicon/linux-hisi into...
Arnd Bergmann [Tue, 15 Aug 2017 16:06:32 +0000 (18:06 +0200)]
Merge tag 'hisi-defconfig-for-4.14' of git://github.com/hisilicon/linux-hisi into next/arm64

Pull "ARM64: hisilicon: defconfig updates for 4.14" from Wei Xu:

- Enable Kirin PCIe host, hi6421v530 mfd and regulator,
  syscon reboot mode, serdev bus, OP-TEE and K3 DMA support
  for hikey and hikey960

- Enable pcie based sas controller support for hip08 SoC

* tag 'hisi-defconfig-for-4.14' of git://github.com/hisilicon/linux-hisi:
  arm64: defconfig: enable DMA driver for hi3660
  arm64: defconfig: enable OP-TEE
  arm64: defconfig: enable support for serial port connected device
  arm64: defconfig: enable CONFIG_SYSCON_REBOOT_MODE
  arm64: defconfig: enable support hi6421v530 PMIC
  arm64: defconfig: enable Kirin PCIe
  arm64: defconfig: enable SCSI_HISI_SAS_PCI

7 years agoarm64: defconfig: add recently added crypto drivers as modules
Ard Biesheuvel [Sun, 16 Jul 2017 19:51:52 +0000 (20:51 +0100)]
arm64: defconfig: add recently added crypto drivers as modules

Add the arm64 crypto drivers that have been added over the past
couple of kernel releases to its defconfig as modules.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoMerge tag 'mvebu-arm64-4.14-1' of git://git.infradead.org/linux-mvebu into next/arm64
Arnd Bergmann [Tue, 15 Aug 2017 16:04:01 +0000 (18:04 +0200)]
Merge tag 'mvebu-arm64-4.14-1' of git://git.infradead.org/linux-mvebu into next/arm64

Pull "mvebu arm64 for 4.14 (part 1)" from Gregory CLEMENT:

Enabling nop-xceiv PHY driver in the defconfig, needed for USB support
on A8K SoC based board.

Enabling fine-grained task level IRQ time accounting for ARMv8 as it was
already done for x86

* tag 'mvebu-arm64-4.14-1' of git://git.infradead.org/linux-mvebu:
  arm64: defconfig: enable fine-grained task level IRQ time accounting
  arm64: defconfig: enable nop-xceiv PHY driver

7 years agoarm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOG
Keiji Hayashibara [Tue, 18 Jul 2017 06:38:10 +0000 (15:38 +0900)]
arm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOG

Enable the watchdog driver for UniPhier SoC

Signed-off-by: Keiji Hayashibara <hayashibara.keiji@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoMerge tag 'renesas-arm64-defconfig-for-v4.14' of https://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Tue, 15 Aug 2017 16:00:40 +0000 (18:00 +0200)]
Merge tag 'renesas-arm64-defconfig-for-v4.14' of https://git./linux/kernel/git/horms/renesas into next/arm64

Pull "Renesas ARM64 Based SoC Defconfig Updates for v4.14" from Simon Horman:

* compile ak4613 and renesas sound as modules

  This is intended to reduce the size of a kernel image compiled
  using the defconfig. This is timely as it brings the kernel image
  back below the size that can be booted in my environment, a limit
  it crept over in v4.13-rc1.

* tag 'renesas-arm64-defconfig-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: compile ak4613 and renesas sound as modules

7 years agoarm64: defconfig: Enable CONFIG_WQ_POWER_EFFICIENT_DEFAULT
Viresh Kumar [Thu, 3 Aug 2017 10:28:41 +0000 (15:58 +0530)]
arm64: defconfig: Enable CONFIG_WQ_POWER_EFFICIENT_DEFAULT

commit cee22a15052f ("workqueues: Introduce new flag WQ_POWER_EFFICIENT
for power oriented workqueues") introduced the concept of power
efficient workqueues (4 years back), but it was never enabled in
upstream kernel configs.

Power efficient workqueues are simply marked as "unbound," so that jobs
queued to them can run on any CPU in the system. It leaves the target
CPU selection to the scheduler, which is the best place for such
decision making. This improves power efficiency for workqueues which are
otherwise pinned to a CPU.

Enable it for ARM64 platforms as ARM platforms were the main target for
the introduction of power efficient workqueues.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 years agoARM: OMAP4+: PRM: fix of_irq_get() result checks
Sergei Shtylyov [Tue, 15 Aug 2017 15:53:28 +0000 (08:53 -0700)]
ARM: OMAP4+: PRM: fix of_irq_get() result checks

of_irq_get() may return 0 as well as a nagative error number on failure,
(and never on success), however omap44xx_prm_late_init() regards 0 as a
valid IRQ -- fix this.

Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT")
Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP3+: PRM: fix of_irq_get() result check
Sergei Shtylyov [Tue, 15 Aug 2017 15:53:18 +0000 (08:53 -0700)]
ARM: OMAP3+: PRM: fix of_irq_get() result check

of_irq_get() may return 0 as well as a nagative error number on failure
(and never on success), however omap3xxx_prm_late_init() regards 0 as a
valid IRQ -- fix this.

Fixes: 1e037794f7f ("ARM: OMAP3+: PRM: register interrupt information from DT")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains
Lokesh Vutla [Sat, 12 Aug 2017 04:06:02 +0000 (09:36 +0530)]
ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains

Custom efuse powerdomain is always on in dra72 ES2.0
and dra76 SoCs. So register it as aon for these SoCs.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: dra762: Enable SMP for dra762
Lokesh Vutla [Sat, 12 Aug 2017 04:06:01 +0000 (09:36 +0530)]
ARM: dra762: Enable SMP for dra762

smp specific routines are called based on soc_is_*() api in omap-smc.c.
Add soc_is_dra76x() to the condition so that smp specific routines are
called for dra76 SoC.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: dra7: hwmod: Register dra76x specific hwmod
Lokesh Vutla [Sat, 12 Aug 2017 04:06:00 +0000 (09:36 +0530)]
ARM: dra7: hwmod: Register dra76x specific hwmod

Certain IPs are available on dra76 which are not present
either in dra74 or dra72. So add provision to register dra76
specific IPs separately.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: dra762: Add support for device identification
Lokesh Vutla [Sat, 12 Aug 2017 04:05:59 +0000 (09:35 +0530)]
ARM: dra762: Add support for device identification

Add ID code detection for dra762 SoC.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP2+: board-generic: add support for dra762 family
Lokesh Vutla [Sat, 12 Aug 2017 04:05:58 +0000 (09:35 +0530)]
ARM: OMAP2+: board-generic: add support for dra762 family

Adding board generic support for dra762 family.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoarm64: defconfig: enable DMA driver for hi3660
Wang Ruyi [Thu, 10 Aug 2017 02:37:28 +0000 (10:37 +0800)]
arm64: defconfig: enable DMA driver for hi3660

enable DMA driver for hi3660.

Signed-off-by: Wang Ruyi <wangruyi@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable OP-TEE
Victor Chong [Thu, 10 Aug 2017 02:37:27 +0000 (10:37 +0800)]
arm64: defconfig: enable OP-TEE

This patch enables configs for Trusted Execution Environment (TEE) and
OP-TEE.

+CONFIG_TEE=y
+CONFIG_OPTEE=y

Signed-off-by: Victor Chong <victor.chong@linaro.org>
Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable support for serial port connected device
Guodong Xu [Thu, 10 Aug 2017 02:37:26 +0000 (10:37 +0800)]
arm64: defconfig: enable support for serial port connected device

This patch enables these configs:

+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y

As example, a bluetooth device connected to UART port can be supported by
this.

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable CONFIG_SYSCON_REBOOT_MODE
Guodong Xu [Thu, 10 Aug 2017 02:37:25 +0000 (10:37 +0800)]
arm64: defconfig: enable CONFIG_SYSCON_REBOOT_MODE

Enable CONFIG_SYSCON_REBOOT_MODE

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable support hi6421v530 PMIC
Guodong Xu [Thu, 10 Aug 2017 02:37:24 +0000 (10:37 +0800)]
arm64: defconfig: enable support hi6421v530 PMIC

Enable configs for hi6421v530 mfd and regulator driver
 + CONFIG_MFD_HI6421_PMIC=y
 + CONFIG_REGULATOR_HI6421V530=y

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable Kirin PCIe
Xiaowei Song [Thu, 10 Aug 2017 02:37:23 +0000 (10:37 +0800)]
arm64: defconfig: enable Kirin PCIe

Enable HiSilicon Kirin series SoCs PCIe controllers

Signed-off-by: Guodong Xu <guodong.xu@linaro.org>
Signed-off-by: Xiaowei Song <songxiaowei@hisilicon.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: enable SCSI_HISI_SAS_PCI
John Garry [Tue, 18 Jul 2017 11:44:57 +0000 (19:44 +0800)]
arm64: defconfig: enable SCSI_HISI_SAS_PCI

Enable HiSilicon SAS controller based on PCI device,
which is included in hip08 SoC.

Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
7 years agoarm64: defconfig: Enable REGULATOR_AXP20X
Jagan Teki [Sat, 12 Aug 2017 05:40:43 +0000 (11:10 +0530)]
arm64: defconfig: Enable REGULATOR_AXP20X

The Allwinner A64 SoC is paired with the X-Powers AXP803 PMIC over the
Reduced Serial Bus (RSB). The regulators of this PMIC supply all power
rails of the SoC and many external peripherals.

Enable the driver for the regulators of this PMIC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[wens@csie.org: refined commit message]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
7 years agoarm64: defconfig: Enable MFD_AXP20X_RSB
Jagan Teki [Sat, 12 Aug 2017 05:40:42 +0000 (11:10 +0530)]
arm64: defconfig: Enable MFD_AXP20X_RSB

The Allwinner A64 SoC is paired with the X-Powers AXP803 PMIC over the
Reduced Serial Bus (RSB).

Enable the driver for this PMIC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[wens@csie.org: Refined commit message]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
7 years agoarm64: select PINCTRL for ZTE platform
Shawn Guo [Wed, 9 Aug 2017 06:18:50 +0000 (14:18 +0800)]
arm64: select PINCTRL for ZTE platform

Select PINCTRL for ZTE platform, so that we can have ZX pinctrl driver
options available for enabling.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
7 years agoARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap
Sekhar Nori [Wed, 9 Aug 2017 14:02:48 +0000 (19:32 +0530)]
ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap

The DRA72 EVM Rev C straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL
pin in mode 1. Unfortunately, the phy data manual disallows this.

Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node
to allow kernel to enable software workaround for this incorrect strap
setting. This is as suggested by the phy's datamanual and ensures proper
operation of this PHY.

This needs to be done for both instances of this PHY present on the board.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
Sekhar Nori [Wed, 9 Aug 2017 14:02:47 +0000 (19:32 +0530)]
ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap

The DRA71 EVM straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin
in mode 1. Unfortunately, the phy data manual disallows this.

Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node
to allow kernel to enable software workaround for this incorrect strap
setting. This is as suggested by the phy's datamanual and ensures proper
operation of this PHY.

This needs to be done for both instances of this PHY present on the board.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX
Kishon Vijay Abraham I [Thu, 10 Aug 2017 16:56:20 +0000 (09:56 -0700)]
ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX

PINCTRL_TI_IODELAY should be enabled so that "pinctrl_dev" can be created
for pinctrl entries populated with iodelay values in device tree data.
Select PINCTRL_TI_IODELAY for SOC_DRA7XX here.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM
Sekhar Nori [Thu, 10 Aug 2017 16:02:37 +0000 (09:02 -0700)]
ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM

DRA74x EVM Rev H EVM comes with revision 2.0 silicon.
However, earlier versions of EVM can come with either
revision 1.1 or revision 1.0 of silicon.

The device-tree file is written to support rev 2.0 of
silicon. pdata quirks are used to then override the
settings needed for PG 1.1 silicon.

PG 1.1 silicon has limitations w.r.t frequencies at
which MMC1/2/3 can operate as well as different IOdelay
numbers.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP2+: Remove unused legacy code for DMA
Tony Lindgren [Thu, 10 Aug 2017 15:21:40 +0000 (08:21 -0700)]
ARM: OMAP2+: Remove unused legacy code for DMA

We are now booting all mach-omap2 in device tree only mode.
Any code that is only called in legacy boot mode where
of_have_populated_dt() is not set is safe to remove now.

Let's leave the dummy omap2_system_dma_init_dev() check
in place for now to avoid a pointless merge conflict with
tusb6010 dmaengine conversion as pointed out by Peter
Ujfalusi <peter.ujfalusi@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
Johan Hovold [Thu, 10 Aug 2017 15:06:39 +0000 (08:06 -0700)]
ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq

Since commit a8636c89648a ("PM / Runtime: Don't allow to suspend a
device with an active child"), which went into 4.10, it is no longer
permitted to set RPM_SUSPENDED state for a device with active children
(unless power.ignore_children is set).

This specifically means that the attempts to do just that from the omap
pm-domain suspend_noirq callback have since been failing whenever a
child is active, for example:

  am335x-usb-childs 47400000.usb: runtime PM trying to suspend
    device but active child

Silence this warning by dropping the broken pm_runtime_set_suspended()
call from the omap suspend_noirq callback along with the redundant
pm_runtime_set_active() in resume_noirq.

This effectively reverts commit 3522bf7bfa24 ("ARM: OMAP2+: omap_device:
maintain sane runtime pm status around suspend/resume"), which started
updating the RPM state after the runtime_suspend callback (!) for active
omap devices had been called during system suspend. The rationale was
that a later pm_runtime_get_sync() would then fail (even after runtime
pm had been disabled) and that this in turn would avoid any external
aborts when accessing registers with clocks disabled. (See also commit
6f3c77b040fc ("PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE,
even when disabled, v2").

But during the suspend_noirq phase all children would already have been
suspended and their drivers would specifically not attempt any further
register accesses. And if this was all just a workaround for random
device drivers doing cross-tree calls during system suspend, those
drivers should be fixed and updated to explicitly model such
dependencies using device-links instead (and either way, any such calls
have been causing crashes since 4.10).

Fixes: 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume")
Fixes: a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child")
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
7 years agoLinux 4.13-rc4
Linus Torvalds [Mon, 7 Aug 2017 01:44:49 +0000 (18:44 -0700)]
Linux 4.13-rc4

7 years agoMerge tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform...
Linus Torvalds [Sun, 6 Aug 2017 23:11:34 +0000 (16:11 -0700)]
Merge tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86

Pull x86 platform driver fix from Darren Hart:
 "Fix loop preventing some platforms from waking up via the power button
  in s2idle:

   - intel-vbtn: match power button on press rather than release"

* tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86:
  platform/x86: intel-vbtn: match power button on press rather than release

7 years agoMerge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 6 Aug 2017 19:31:17 +0000 (12:31 -0700)]
Merge tag 'ext4_for_linus_stable' of git://git./linux/kernel/git/tytso/ext4

Pull ext4 fixes from Ted Ts'o:
 "A large number of ext4 bug fixes and cleanups for v4.13"

* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: fix copy paste error in ext4_swap_extents()
  ext4: fix overflow caused by missing cast in ext4_resize_fs()
  ext4, project: expand inode extra size if possible
  ext4: cleanup ext4_expand_extra_isize_ea()
  ext4: restructure ext4_expand_extra_isize
  ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize
  ext4: make xattr inode reads faster
  ext4: inplace xattr block update fails to deduplicate blocks
  ext4: remove unused mode parameter
  ext4: fix warning about stack corruption
  ext4: fix dir_nlink behaviour
  ext4: silence array overflow warning
  ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
  ext4: release discard bio after sending discard commands
  ext4: convert swap_inode_data() over to use swap() on most of the fields
  ext4: error should be cleared if ea_inode isn't added to the cache
  ext4: Don't clear SGID when inheriting ACLs
  ext4: preserve i_mode if __ext4_set_acl() fails
  ext4: remove unused metadata accounting variables
  ext4: correct comment references to ext4_ext_direct_IO()

7 years agoMerge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Linus Torvalds [Sun, 6 Aug 2017 18:52:01 +0000 (11:52 -0700)]
Merge branch 'upstream' of git://git.linux-mips.org/ralf/upstream-linus

Pull MIPS fixes from Ralf Baechle:
 "This fixes two build issues for ralink platforms, both due to missing
  #includes which used to be included indirectly via other headers"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: ralink: mt7620: Add missing header
  MIPS: ralink: Fix build error due to missing header

7 years agoFix compat_sys_sigpending breakage
Dmitry V. Levin [Sat, 5 Aug 2017 20:00:50 +0000 (23:00 +0300)]
Fix compat_sys_sigpending breakage

The latest change of compat_sys_sigpending in commit 8f13621abced
("sigpending(): move compat to native") has broken it in two ways.

First, it tries to write 4 bytes more than userspace expects:
sizeof(old_sigset_t) == sizeof(long) == 8 instead of
sizeof(compat_old_sigset_t) == sizeof(u32) == 4.

Second, on big endian architectures these bytes are being written in the
wrong order.

This bug was found by strace test suite.

Reported-by: Anatoly Pugachev <matorola@gmail.com>
Inspired-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Fixes: 8f13621abced ("sigpending(): move compat to native")
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
7 years agoARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAE
Tao Huang [Tue, 1 Aug 2017 09:55:55 +0000 (17:55 +0800)]
ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAE

Rockchip RK3288 has some 64-bit capable DMA and therefore needs
dma_addr_t to be a 64-bit size. One user is the Mali GPU.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
7 years agoext4: fix copy paste error in ext4_swap_extents()
Maninder Singh [Sun, 6 Aug 2017 05:33:07 +0000 (01:33 -0400)]
ext4: fix copy paste error in ext4_swap_extents()

This bug was found by a static code checker tool for copy paste
problems.

Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Vaneet Narang <v.narang@samsung.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: fix overflow caused by missing cast in ext4_resize_fs()
Jerry Lee [Sun, 6 Aug 2017 05:18:31 +0000 (01:18 -0400)]
ext4: fix overflow caused by missing cast in ext4_resize_fs()

On a 32-bit platform, the value of n_blcoks_count may be wrong during
the file system is resized to size larger than 2^32 blocks.  This may
caused the superblock being corrupted with zero blocks count.

Fixes: 1c6bd7173d66
Signed-off-by: Jerry Lee <jerrylee@qnap.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org # 3.7+
7 years agoext4, project: expand inode extra size if possible
Miao Xie [Sun, 6 Aug 2017 05:00:49 +0000 (01:00 -0400)]
ext4, project: expand inode extra size if possible

When upgrading from old format, try to set project id
to old file first time, it will return EOVERFLOW, but if
that file is dirtied(touch etc), changing project id will
be allowed, this might be confusing for users, we could
try to expand @i_extra_isize here too.

Reported-by: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: cleanup ext4_expand_extra_isize_ea()
Miao Xie [Sun, 6 Aug 2017 04:55:48 +0000 (00:55 -0400)]
ext4: cleanup ext4_expand_extra_isize_ea()

Clean up some goto statement, make ext4_expand_extra_isize_ea() clearer.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
7 years agoext4: restructure ext4_expand_extra_isize
Miao Xie [Sun, 6 Aug 2017 04:40:01 +0000 (00:40 -0400)]
ext4: restructure ext4_expand_extra_isize

Current ext4_expand_extra_isize just tries to expand extra isize, if
someone is holding xattr lock or some check fails, it will give up.
So rename its name to ext4_try_to_expand_extra_isize.

Besides that, we clean up unnecessary check and move some relative checks
into it.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
7 years agoext4: fix forgetten xattr lock protection in ext4_expand_extra_isize
Miao Xie [Sun, 6 Aug 2017 04:27:38 +0000 (00:27 -0400)]
ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize

We should avoid the contention between the i_extra_isize update and
the inline data insertion, so move the xattr trylock in front of
i_extra_isize update.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
7 years agoext4: make xattr inode reads faster
Tahsin Erdogan [Sun, 6 Aug 2017 04:07:01 +0000 (00:07 -0400)]
ext4: make xattr inode reads faster

ext4_xattr_inode_read() currently reads each block sequentially while
waiting for io operation to complete before moving on to the next
block. This prevents request merging in block layer.

Add a ext4_bread_batch() function that starts reads for all blocks
then optionally waits for them to complete. A similar logic is used
in ext4_find_entry(), so update that code to use the new function.

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: inplace xattr block update fails to deduplicate blocks
Tahsin Erdogan [Sun, 6 Aug 2017 02:41:42 +0000 (22:41 -0400)]
ext4: inplace xattr block update fails to deduplicate blocks

When an xattr block has a single reference, block is updated inplace
and it is reinserted to the cache. Later, a cache lookup is performed
to see whether an existing block has the same contents. This cache
lookup will most of the time return the just inserted entry so
deduplication is not achieved.

Running the following test script will produce two xattr blocks which
can be observed in "File ACL: " line of debugfs output:

  mke2fs -b 1024 -I 128 -F -O extent /dev/sdb 1G
  mount /dev/sdb /mnt/sdb

  touch /mnt/sdb/{x,y}

  setfattr -n user.1 -v aaa /mnt/sdb/x
  setfattr -n user.2 -v bbb /mnt/sdb/x

  setfattr -n user.1 -v aaa /mnt/sdb/y
  setfattr -n user.2 -v bbb /mnt/sdb/y

  debugfs -R 'stat x' /dev/sdb | cat
  debugfs -R 'stat y' /dev/sdb | cat

This patch defers the reinsertion to the cache so that we can locate
other blocks with the same contents.

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
7 years agoext4: remove unused mode parameter
Tahsin Erdogan [Sun, 6 Aug 2017 02:15:45 +0000 (22:15 -0400)]
ext4: remove unused mode parameter

ext4_alloc_file_blocks() does not use its mode parameter. Remove it.

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: fix warning about stack corruption
Arnd Bergmann [Sun, 6 Aug 2017 01:57:46 +0000 (21:57 -0400)]
ext4: fix warning about stack corruption

After commit 62d1034f53e3 ("fortify: use WARN instead of BUG for now"),
we get a warning about possible stack overflow from a memcpy that
was not strictly bounded to the size of the local variable:

    inlined from 'ext4_mb_seq_groups_show' at fs/ext4/mballoc.c:2322:2:
include/linux/string.h:309:9: error: '__builtin_memcpy': writing between 161 and 1116 bytes into a region of size 160 overflows the destination [-Werror=stringop-overflow=]

We actually had a bug here that would have been found by the warning,
but it was already fixed last year in commit 30a9d7afe70e ("ext4: fix
stack memory corruption with 64k block size").

This replaces the fixed-length structure on the stack with a variable-length
structure, using the correct upper bound that tells the compiler that
everything is really fine here. I also change the loop count to check
for the same upper bound for consistency, but the existing code is
already correct here.

Note that while clang won't allow certain kinds of variable-length arrays
in structures, this particular instance is fine, as the array is at the
end of the structure, and the size is strictly bounded.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: fix dir_nlink behaviour
Andreas Dilger [Sat, 5 Aug 2017 23:47:34 +0000 (19:47 -0400)]
ext4: fix dir_nlink behaviour

The dir_nlink feature has been enabled by default for new ext4
filesystems since e2fsprogs-1.41 in 2008, and was automatically
enabled by the kernel for older ext4 filesystems since the
dir_nlink feature was added with ext4 in kernel 2.6.28+ when
the subdirectory count exceeded EXT4_LINK_MAX-1.

Automatically adding the file system features such as dir_nlink is
generally frowned upon, since it could cause the file system to not be
mountable on older kernel, thus preventing the administrator from
rolling back to an older kernel if necessary.

In this case, the administrator might also want to disable the feature
because glibc's fts_read() function does not correctly optimize
directory traversal for directories that use st_nlinks field of 1 to
indicate that the number of links in the directory are not tracked by
the file system, and could fail to traverse the full directory
hierarchy.  Fortunately, in the past ten years very few users have
complained about incomplete file system traversal by glibc's
fts_read().

This commit also changes ext4_inc_count() to allow i_nlinks to reach
the full EXT4_LINK_MAX links on the parent directory (including "."
and "..") before changing i_links_count to be 1.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196405
Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoext4: silence array overflow warning
Dan Carpenter [Sat, 5 Aug 2017 23:00:31 +0000 (19:00 -0400)]
ext4: silence array overflow warning

I get a static checker warning:

    fs/ext4/ext4.h:3091 ext4_set_de_type()
    error: buffer overflow 'ext4_type_by_mode' 15 <= 15

It seems unlikely that we would hit this read overflow in real life, but
it's also simple enough to make the array 16 bytes instead of 15.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
7 years agoARM: gemini: select pin controller
Linus Walleij [Wed, 5 Jul 2017 14:58:53 +0000 (16:58 +0200)]
ARM: gemini: select pin controller

The Gemini needs its pin controller for the platform to work properly.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 years agoARM: gemini: select ARM_AMBA
Linus Walleij [Sat, 1 Apr 2017 17:54:39 +0000 (19:54 +0200)]
ARM: gemini: select ARM_AMBA

This selects the ARM_AMBA PrimeCell bus for the Gemini so we can
use the PL08x DMA engine derivative FTDMAC020 through the
combined PL08x driver.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 years agoARM: gemini: select the clock controller
Linus Walleij [Thu, 20 Apr 2017 19:41:51 +0000 (21:41 +0200)]
ARM: gemini: select the clock controller

We have added a common clock framework clock controller for the
Gemini SoC, let's put it to use.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 years agoARM: gemini: tag the arch as having reset controller
Linus Walleij [Thu, 13 Apr 2017 14:13:16 +0000 (16:13 +0200)]
ARM: gemini: tag the arch as having reset controller

This arch has a reset controller so make this selectable.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 years agoext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
Jan Kara [Sat, 5 Aug 2017 21:43:24 +0000 (17:43 -0400)]
ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize

ext4_find_unwritten_pgoff() does not properly handle a situation when
starting index is in the middle of a page and blocksize < pagesize. The
following command shows the bug on filesystem with 1k blocksize:

  xfs_io -f -c "falloc 0 4k" \
            -c "pwrite 1k 1k" \
            -c "pwrite 3k 1k" \
            -c "seek -a -r 0" foo

In this example, neither lseek(fd, 1024, SEEK_HOLE) nor lseek(fd, 2048,
SEEK_DATA) will return the correct result.

Fix the problem by neglecting buffers in a page before starting offset.

Reported-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Jan Kara <jack@suse.cz>
CC: stable@vger.kernel.org # 3.8+
7 years agoplatform/x86: intel-vbtn: match power button on press rather than release
Mario Limonciello [Fri, 4 Aug 2017 17:00:06 +0000 (12:00 -0500)]
platform/x86: intel-vbtn: match power button on press rather than release

This fixes a problem where the system gets stuck in a loop
unable to wakeup via power button in s2idle.

The problem happens because:
 - press power button:
   - system emits 0xc0 (power press), event ignored
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - set wakeup_mode to true
   - system goes to s2idle
 - press power button
   - system emits 0xc0 (power press), wakeup_mode is true,
     system wakes
   - system emits 0xc1 (power release), event processed,
     emited as KEY_POWER
   - system goes to s2idle again

To avoid this situation, process the presses (which matches what
intel-hid does too).

Verified on an Dell XPS 9365

Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
7 years agoMerge tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
Linus Torvalds [Sat, 5 Aug 2017 21:09:26 +0000 (14:09 -0700)]
Merge tag 'media/v4.13-2' of git://git./linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:
 "This series is larger than I would like to submit for -rc4. My
  original intent were to sent it to either -rc2 or -rc3. Unfortunately,
  due to my vacations, I got a lot of pending stuff after my return, and
  had to do some biz trips, with prevented me to send this earlier.

  Several fixes:

   - some fixes at atomisp staging driver

   - several gcc 7 warning fixes

   - cleanup media SVG files, in order to fix PDF build on some distros

   - fix random Kconfig build of venus driver

   - some fixes for the venus driver

   - some changes from semaphone to mutex in ngene's driver

   - some locking fixes at dib0700 driver

   - several fixes on ngene's driver and frontends to make it properly
     support some new boards added on Kernel 4.13

   - some fixes to CEC drivers

   - omap_vout: vrfb: convert to dmaengine

   - docs-rst: document EBUSY for VIDIOC_S_FMT

  Please notice that the big diffstat changes here are at the SVG files.

  Visually, the images look the same, but the file size is now a lot
  smaller than before, and they don't use some XML tags that would cause
  them to be badly parsed by some ImageMagick versions, or to require a
  lot of memory by TeTex, with would break PDF output on some
  distributions"

* tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (68 commits)
  media: atomisp2: array underflow in imx_enum_frame_size()
  media: atomisp2: array underflow in ap1302_enum_frame_size()
  media: atomisp2: Array underflow in atomisp_enum_input()
  media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS
  media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl
  media: venus: don't abuse dma_alloc for non-DMA allocations
  media: venus: hfi: fix error handling in hfi_sys_init_done()
  media: venus: fix compile-test build on non-qcom ARM platform
  media: venus: mark PM functions as __maybe_unused
  media: cec-notifier: small improvements
  media: pulse8-cec: persistent_config should be off by default
  media: cec: cec_transmit_attempt_done: ignore CEC_TX_STATUS_MAX_RETRIES
  media: staging: atomisp: array underflow in ioctl
  media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds
  media: svg: avoid too long lines
  media: svg files: simplify files
  media: selection.svg: simplify the SVG file
  media: vimc: set id_table for platform drivers
  media: staging: atomisp: disable warnings with cc-disable-warning
  media: davinci: variable 'common' set but not used
  ...

7 years agoext4: release discard bio after sending discard commands
Daeho Jeong [Sat, 5 Aug 2017 17:11:57 +0000 (13:11 -0400)]
ext4: release discard bio after sending discard commands

We've changed the discard command handling into parallel manner.
But, in this change, I forgot decreasing the usage count of the bio
which was used to send discard request. I'm sorry about that.

Fixes: a015434480dc ("ext4: send parallel discards on commit completions")
Signed-off-by: Daeho Jeong <daeho.jeong@samsung.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
7 years agoMerge tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
Linus Torvalds [Sat, 5 Aug 2017 13:55:13 +0000 (06:55 -0700)]
Merge tag 'gpio-v4.13-2' of git://git./linux/kernel/git/linusw/linux-gpio

Pull GPIO fixes from Linus Walleij:

 - LP87565: set the proper output level for direction_output.

 - stm32: fix the kernel build by selecting the hierarchical irqdomain
   symbol properly - this happens to be done in the pin control
   framework but whatever, it had dependencies to GPIO so we need to
   apply it here.

 - Select the hierarchical IRQ domain also for Xgene.

 - Fix wakeups to work on MXC.

 - Fix up the device tree binding on Exar that went astray, also add the
   right bindings.

 - Fix the unwanted events for edges from the library.

 - Fix the unbalanced chanined IRQ on the Tegra.

* tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
  gpio: tegra: fix unbalanced chained_irq_enter/exit
  gpiolib: skip unwanted events, don't convert them to opposite edge
  gpio: exar: Use correct property prefix and document bindings
  gpio: gpio-mxc: Fix: higher 16 GPIOs usable as wake source
  gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
  pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
  gpio: lp87565: Set proper output level and direction for direction_output
  MAINTAINERS: Add entry for Whiskey Cove PMIC GPIO driver

7 years agoMerge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 4 Aug 2017 23:45:29 +0000 (16:45 -0700)]
Merge tag 'clk-fixes-for-linus' of git://git./linux/kernel/git/clk/linux

Pull clk fixes from Stephen Boyd:
 "A handful of critical fixes for changes introduce this merge window.

   - The TI sci_clk_get() API was pretty broken and nobody noticed.

   - There were some CPUfreq crashes on C.H.I.P devices because we
     failed to propagate rates up the clk tree.

   - Also, the Intel Atom PMC clk driver needs to mark a clk critical if
     the firmware has it enabled already so that audio doesn't get
     killed on Baytrail.

   - Gemini devices have a dead serial console because the reset control
     usage in the serial driver assume one method of reset that gemini
     doesn't support (this will be fixed in the next version in the
     reset framework so this is the small fix for -rc series).

   - Finally we have two rate calculation fixes, one for Exynos and one
     for Meson SoCs, that fix rate inconsistencies"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: keystone: sci-clk: Fix sci_clk_get
  clk: meson: mpll: fix mpll0 fractional part ignored
  clk: samsung: exynos5420: The EPLL rate table corrections
  clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock
  clk: x86: Do not gate clocks enabled by the firmware
  clk: gemini: Fix reset regression

7 years agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Linus Torvalds [Fri, 4 Aug 2017 22:18:27 +0000 (15:18 -0700)]
Merge tag 'for-linus' of git://git./virt/kvm/kvm

Pull KVM fixes from Radim Krčmář:
 "ARM:

   - Yet another race with VM destruction plugged

   - A set of small vgic fixes

  x86:

   - Preserve pending INIT

   - RCU fixes in paravirtual async pf, VM teardown, and VMXOFF
     emulation

   - nVMX interrupt injection and dirty tracking fixes

   - initialize to make UBSAN happy"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: arm/arm64: vgic: Use READ_ONCE fo cmpxchg
  KVM: nVMX: Fix interrupt window request with "Acknowledge interrupt on exit"
  KVM: nVMX: mark vmcs12 pages dirty on L2 exit
  kvm: nVMX: don't flush VMCS12 during VMXOFF or VCPU teardown
  KVM: nVMX: do not pin the VMCS12
  KVM: avoid using rcu_dereference_protected
  KVM: X86: init irq->level in kvm_pv_kick_cpu_op
  KVM: X86: Fix loss of pending INIT due to race
  KVM: async_pf: make rcu irq exit if not triggered from idle task
  KVM: nVMX: fixes to nested virt interrupt injection
  KVM: nVMX: do not fill vm_exit_intr_error_code in prepare_vmcs12
  KVM: arm/arm64: Handle hva aging while destroying the vm
  KVM: arm/arm64: PMU: Fix overflow interrupt injection
  KVM: arm/arm64: Fix bug in advertising KVM_CAP_MSI_DEVID capability

7 years agoMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 4 Aug 2017 22:16:09 +0000 (15:16 -0700)]
Merge branch 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull x86 fix from Thomas Gleixner:
 "The recent irq core changes unearthed API abuse in the HPET code,
  which manifested itself in a suspend/resume regression.

  The fix replaces the cruft with the proper function calls and cures
  the regression"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/hpet: Cure interface abuse in the resume path

7 years agoMerge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 4 Aug 2017 22:14:09 +0000 (15:14 -0700)]
Merge branch 'timers-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull timer fix from Thomas Gleixner:
 "A single fix for a multiplication overflow in the timer code on 32bit
  systems"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  timers: Fix overflow in get_next_timer_interrupt

7 years agoMerge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Linus Torvalds [Fri, 4 Aug 2017 22:12:15 +0000 (15:12 -0700)]
Merge tag 'armsoc-fixes' of git://git./linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Arnd Bergmann:
 "This comes a bit later than I planned, and as a consequence is a
  larger than it should be.

  Most of the changes are devicetree fixes, across lots of platforms:
  Renesas, Samsung Exynos, Marvell EBU, TI OMAP, Rockchips, Amlogic
  Meson, Sigma Desings Tango, Allwinner SUNxi and TI Davinci.

  Also across many platforms, I applied an older series of simple
  randconfig build fixes. This includes making the CONFIG_MTD_XIP option
  compile again, which had been broken for many years and probably has
  not been missed, but it felt wrong to just remove it completely.

  The only other changes are:

   - We enable HWSPINLOCK in defconfig to get some Qualcomm boards to
     work out of the box.

   - A few regression fixes for Texas Instruments OMAP2+.

   - A boot regression fix for the Renesas regulator quirk.

   - A suspend/resume fix for Uniphier SoCs, fixing the resume of the
     system bus"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
  ARM: dts: tango4: Request RGMII RX and TX clock delays
  bus: uniphier-system-bus: set up registers when resuming
  ARM64: dts: marvell: armada-37xx: Fix the number of GPIO on south bridge
  ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
  arm64: defconfig: enable missing HWSPINLOCK
  ARM: pxa: select both FB and FB_W100 for eseries
  ARM: ixp4xx: fix ioport_unmap definition
  ARM: ep93xx: use ARM_PATCH_PHYS_VIRT correctly
  ARM: mmp: mark usb_dma_mask as __maybe_unused
  ARM: omap2: mark unused functions as __maybe_unused
  ARM: omap1: avoid unused variable warning
  ARM: sirf: mark sirfsoc_init_late as __maybe_unused
  ARM: ixp4xx: use normal prototype for {read,write}s{b,w,l}
  ARM: omap1/ams-delta: warn about failed regulator enable
  ARM: rpc: rename RAM_SIZE macro
  ARM: w90x900: normalize clk API
  ARM: ep93xx: normalize clk API
  ARM: dts: sun8i: a83t: Switch to CCU device tree binding macros
  arm64: allwinner: sun50i-a64: Correct emac register size
  ARM: dts: sunxi: h3/h5: Correct emac register size
  ...

7 years agoMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Linus Torvalds [Fri, 4 Aug 2017 19:11:48 +0000 (12:11 -0700)]
Merge tag 'arm64-fixes' of git://git./linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "Here are some more arm64 fixes for 4.13. The main one is the PTE race
  with the hardware walker, but there are a couple of other things too.

   - Report correct timer frequency to userspace when trapping
     CNTFRQ_EL0

   - Fix race with hardware page table updates when updating access
     flags

   - Silence clang overflow warning in VA_START and PAGE_OFFSET
     calculations"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: avoid overflow in VA_START and PAGE_OFFSET
  arm64: Fix potential race with hardware DBM in ptep_set_access_flags()
  arm64: Use arch_timer_get_rate when trapping CNTFRQ_EL0

7 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Linus Torvalds [Fri, 4 Aug 2017 17:17:45 +0000 (10:17 -0700)]
Merge git://git./linux/kernel/git/davem/sparc

Pull sparc fixes from David Miller:

 - block interrupts properly across the entire MMU context change (both
   the hw MMU context change and the TSB table change) so that we don't
   get a perf event interrupt in the middle. From Rob Gardner.

 - be sure to register hugepages early enough, from Nitin Gupta.

 - UltraSPARC-III user copy exception handling would return garbage for
   the copied length in some circumstances.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc64: Fix exception handling in UltraSPARC-III memcpy.
  sbus: Convert to using %pOF instead of full_name
  sparc: defconfig: Cleanup from old Kconfig options
  sparc64: Register hugepages during arch init
  sparc64: Prevent perf from running during super critical sections

7 years agoMerge tag 'ceph-for-4.13-rc4' of git://github.com/ceph/ceph-client
Linus Torvalds [Fri, 4 Aug 2017 17:15:11 +0000 (10:15 -0700)]
Merge tag 'ceph-for-4.13-rc4' of git://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:
 "A bunch of fixes and follow-ups for -rc1 Luminous patches: issues with
  ->reencode_message() and last minute RADOS semantic changes in
  v12.1.2"

* tag 'ceph-for-4.13-rc4' of git://github.com/ceph/ceph-client:
  libceph: make RECOVERY_DELETES feature create a new interval
  libceph: upmap semantic changes
  crush: assume weight_set != null imples weight_set_size > 0
  libceph: fallback for when there isn't a pool-specific choose_arg
  libceph: don't call ->reencode_message() more than once per message
  libceph: make encode_request_*() work with r_mempool requests

7 years agoMerge tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Linus Torvalds [Fri, 4 Aug 2017 17:11:13 +0000 (10:11 -0700)]
Merge tag 'sound-4.13-rc4' of git://git./linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "Now we hit the usual ASoC-fix-flood in the middle of release.

  Most of the changes are trivial and device-specific, while one
  significant change is the fix for unbalanced of_graph_*() refcounts.
  This involved a change in the graph API itself that had been a bit
  messy"

* tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: hda - Fix speaker output from VAIO VPCL14M1R
  device property: Fix usecount for of_graph_get_port_parent()
  ASoC: rt5665: fix wrong register for bclk ratio control
  ASoC: Intel: Use MCLK instead of BLCK as the sysclock for RT5514 codec on kabylake platform
  ASoC: Intel: Enabling ASRC for RT5663 codec on kabylake platform
  ASoC: codecs: msm8916-analog: fix DIG_CLK_CTL_RXD3_CLK_EN define
  ASoC: Intel: Skylake: Fix missing sentinels in sst_acpi_mach
  ASoC: sh: hac: add missing "int ret"
  ASoC: samsung: odroid: Fix EPLL frequency values
  ASoC: sgtl5000: Use snd_soc_kcontrol_codec()
  ASoC: rt5665: fix GPIO6 pin function define
  ASoC: ux500: Restore platform DAI assignments
  ASoC: fix pcm-creation regression
  ASoC: do not close shared backend dailink
  ASoC: pxa: SND_PXA2XX_SOC should depend on HAS_DMA
  ASoC: Intel: Skylake: Fix default dma_buffer_size
  ASoC: rt5663: Update the HW default values based on the shipping version
  ASoC: imx-ssi: add check on platform_get_irq return value

7 years agoMerge tag 'iommu-fixes-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 4 Aug 2017 17:05:29 +0000 (10:05 -0700)]
Merge tag 'iommu-fixes-v4.13-rc3' of git://git./linux/kernel/git/joro/iommu

Pull IOMMU fixes from Joerg Roedel:

 - fix a scheduling-while-atomic bug in the AMD IOMMU driver. It was
   found after the checker was enabled earlier.

 - a fix for the virtual APIC code in the AMD IOMMU driver which
   delivers device interrupts directly into KVM guests for assigned
   devices.

 - fixes for the recently merged lock-less page-table code for ARM. The
   redundant TLB syncs got reverted and locks added again around the TLB
   sync code.

 - fix for error handling in arm_smmu_add_device()

 - address sanitization fix for arm io-pgtable code

* tag 'iommu-fixes-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
  iommu/amd: Fix schedule-while-atomic BUG in initialization code
  iommu/amd: Enable ga_log_intr when enabling guest_mode
  iommu/io-pgtable: Sanitise map/unmap addresses
  iommu/arm-smmu: Fix the error path in arm_smmu_add_device
  Revert "iommu/io-pgtable: Avoid redundant TLB syncs"
  iommu/mtk: Avoid redundant TLB syncs locally
  iommu/arm-smmu: Reintroduce locking around TLB sync operations

7 years agoMerge tag 'mmc-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Linus Torvalds [Fri, 4 Aug 2017 17:02:56 +0000 (10:02 -0700)]
Merge tag 'mmc-v4.13-rc3' of git://git./linux/kernel/git/ulfh/mmc

Pull MMC fixes from Ulf Hansson:
 "A couple of mmc fixes intended for v4.13-rc4.

  MMC core:
   - Fix NULL pointer dereference for block I/O during hotplug

  MMC host:
   - sdhci-of-at91: Fix card detect for non-removable cards"

* tag 'mmc-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: block: bypass the queue even if usage is present for hotplug
  mmc: sdhci-of-at91: force card detect value for non removable devices

7 years agoMerge tag 'drm-fixes-for-v4.13-rc4' of git://people.freedesktop.org/~airlied/linux
Linus Torvalds [Fri, 4 Aug 2017 16:59:24 +0000 (09:59 -0700)]
Merge tag 'drm-fixes-for-v4.13-rc4' of git://people.freedesktop.org/~airlied/linux

Pull drm fixes from Dave Airlie:
 "Either my email ate everything or everyone is on holidays, either way
  all I can find is some lonely AMD fixes"

[ Europe might be on vacation, and the Pacific NW is too hot for work. ]

* tag 'drm-fixes-for-v4.13-rc4' of git://people.freedesktop.org/~airlied/linux:
  drm/amdgpu: Use list_del_init in amdgpu_mn_unregister
  drm/amdgpu: Fix undue fallthroughs in golden registers initialization
  drm/amdgpu: fix header on gfx9 clear state

7 years agoMerge tag 'powerpc-4.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
Linus Torvalds [Fri, 4 Aug 2017 16:56:54 +0000 (09:56 -0700)]
Merge tag 'powerpc-4.13-5' of git://git./linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:
 "Fixes for recently merged code:
   - a fix for the _PAGE_DEVMAP support, which was breaking KVM on
     Power9 radix
   - avoid a (harmless) lockdep warning in the early SMP code
   - return failure for some uses of dma_set_mask() rather than falling
     back to 32-bits
   - fix stack setup in watchdog soft_nmi_common() to use emergency
     stack
   - fix of_irq_to_resource() error check in of_fsl_spi_probe()

  Two fixes going to stable:
   - fix saving of Transactional Memory SPRs in core dump
   - fix __check_irq_replay missing decrementer interrupt

  And two misc:
   - fix 64-bit boot wrapper build with non-biarch compiler
   - work around a POWER9 PMU hang after state-loss idle

  Thanks to: Alistair Popple, Aneesh Kumar K.V, Cyril Bur, Gustavo
  Romero, Jose Ricardo Ziviani, Laurent Vivier, Nicholas Piggin, Oliver
  O'Halloran, Sergei Shtylyov, Suraj Jitindar Singh, Thomas Gleixner"

* tag 'powerpc-4.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/64: Fix __check_irq_replay missing decrementer interrupt
  powerpc/perf: POWER9 PMU stops after idle workaround
  powerpc/83xx/mpc832x_rdb: fix of_irq_to_resource() error check
  powerpc/64s: Fix stack setup in watchdog soft_nmi_common()
  powerpc/powernv/pci: Return failure for some uses of dma_set_mask()
  powerpc/boot: Fix 64-bit boot wrapper build with non-biarch compiler
  powerpc/smp: Call smp_ops->setup_cpu() directly on the boot CPU
  powerpc/tm: Fix saving of TM SPRs in core dump
  powerpc/mm: Fix pmd/pte_devmap() on non-leaf entries

7 years agosparc64: Fix exception handling in UltraSPARC-III memcpy.
David S. Miller [Fri, 4 Aug 2017 16:47:52 +0000 (09:47 -0700)]
sparc64: Fix exception handling in UltraSPARC-III memcpy.

Mikael Pettersson reported that some test programs in the strace-4.18
testsuite cause an OOPS.

After some debugging it turns out that garbage values are returned
when an exception occurs, causing the fixup memset() to be run with
bogus arguments.

The problem is that two of the exception handler stubs write the
successfully copied length into the wrong register.

Fixes: ee841d0aff64 ("sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.")
Reported-by: Mikael Pettersson <mikpelinux@gmail.com>
Tested-by: Mikael Pettersson <mikpelinux@gmail.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
7 years agoarm64: avoid overflow in VA_START and PAGE_OFFSET
Nick Desaulniers [Thu, 3 Aug 2017 18:03:58 +0000 (11:03 -0700)]
arm64: avoid overflow in VA_START and PAGE_OFFSET

The bitmask used to define these values produces overflow, as seen by
this compiler warning:

arch/arm64/kernel/head.S:47:8: warning:
      integer overflow in preprocessor expression
  #elif (PAGE_OFFSET & 0x1fffff) != 0
         ^~~~~~~~~~~
arch/arm64/include/asm/memory.h:52:46: note:
      expanded from macro 'PAGE_OFFSET'
  #define PAGE_OFFSET             (UL(0xffffffffffffffff) << (VA_BITS -
1))
                                      ~~~~~~~~~~~~~~~~~~  ^

It would be preferrable to use GENMASK_ULL() instead, but it's not set
up to be used from assembly (the UL() macro token pastes UL suffixes
when not included in assembly sources).

Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Yury Norov <ynorov@caviumnetworks.com>
Suggested-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>