Commit Graph

661917 Commits

Author SHA1 Message Date
Olof Johansson
3384d2f651 Add platform support needed for the
newly introduced PalmChip PATA driver.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY4z+ZAAoJEGFBu2jqvgRNgmUP/0np1YGmV3FdxlK4GDEYo6hu
 KrYtuo7GElMoOSN21iXvLGI7YCrtO5uf1DXSZJ+4PhVu8OEulKVkbtULGzOPrYhm
 a0YWWukyXpP4tJXFi625SBmzVzecZ/hJPXaVoooYNhjmvf5SA3QrcMjS06kzyURA
 1WI5qCGSmSZa14ST1rPyRZGKzDRH7R0v/DM/mg+1LG/qnvwAkLFunQTu7XMZfRLk
 TsSN4Ckcihypzg8xzVxYnE/BAZYvk/2KWFg5ObGcHxQahbXigIP+sW5/a1YSUaTR
 BUMFvVmXRRKnicTsyMIQwYQJQBl6JP9C+II/BL91xLZrNfndDIOnH1AlxmrzUxJk
 bNz4z5Ds7yblZlz4aJgHv2ysHvM35aCErbg/DPa6DDpfIz9IVV461K1gmMHxktTl
 PlPfzWXsLmeTN+eJVmBnVs6hvWpwQo2TJpyStHJ3c42sgH/mqm2w5zl69mWkNG+E
 2ikAzc3qs2DoFoKKlK98VFfUCZgPS0X1qoYR8VRWeLG+qPVDxDRxCYhFfVVB0HGd
 CRp04q/EjDUCbYAjSJ1VPA7fUvPTIWly3xVbGpcUjrtbzlSQLeilCnlKA8FMGTR5
 CCKG4BzJI5RXFUU2YY+xUc344taCcfEivjPbn/zwXecSmgxvr/2AXzCLXhrTqO7F
 9aIFU0dL3fdnLkR3QrE/
 =WICX
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.12/soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Add platform support needed for the
newly introduced PalmChip PATA driver.

* tag 'davinci-for-v4.12/soc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: add pata_bk3710 libata driver support

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19 05:27:39 -07:00
Olof Johansson
f0008e9b6c STM32 SOC updates for v4.12, round 1.
Highlights:
 ----------
  - Create a dedicated Kconfig for STM32 machine
  - Add support of STM32H743 MCU
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY4n0QAAoJEH+ayWryHnCFkEoP/jvQ+8kBP7fyFUOz03DNHn5h
 22egNTEIaGl404ha66FUrT/Dq4MauwE4vrESgxjsMxWOX4AJkk6oy3IYqaiBWSY/
 LhHkeJ0hGB3XAT5px25h+aPt2sFUkU1wOJ7Y4cmCT5GzwaudfB1nze2/vNdGt0Sq
 9sAbxA10TXjtZ+AV5VB7A08fUWSyGFH9EL9wCLcjc1Juszb+y8mVHJ5Tlm17G5JJ
 0dcTqGZKSLkWEYWKlHEKm5xc8Ojpp7ZIsw9wQjDbDM2tD2X+jg/SQvIJ+RFDA0QN
 /A91urphaBmj+hxRGzclUaK3S+dlUPEIeZYRjJDW8FyjppyN4pwC/G39potClT1W
 IFVBgp+U4XD94Q42LWqbcJ2PBk90SUV0c+GyRmlbd5xmXu4+ltL4YCOUgfBXfqGO
 1amH14OhYNLUavSxJ5L84il5EhLJCxJJAbad7aL+zkcLlZ5eACa8ejiCBTxCNdSX
 nXHViYc7gj9H8ZGsxP+HQHzoy/wSduDqSvKiB1/BER9W0rCIdh/TbcyvwA1Bxqx3
 lEoXQS1ZYRDg6UJSBMpJpdIb9bDNRpgNwibH11s1gtB9V83i3xT4LhttwWqpzf9Q
 v1eh093UT2jA+f3VDKQUy/tTBbYeetTqKCPzEt2sn+/kVI0l5uS7EncKKgXFhr6M
 SztHrQ4rB93nrUBPHAW2
 =HSuP
 -----END PGP SIGNATURE-----

Merge tag 'stm32-soc-for-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into next/soc

STM32 SOC updates for v4.12, round 1.

Highlights:
----------
 - Create a dedicated Kconfig for STM32 machine
 - Add support of STM32H743 MCU

* tag 'stm32-soc-for-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: stm32: Add a new SOC - STM32H743
  ARM: stm32: Introduce MACH_STM32H743 flag
  ARM: stm32: create dedicated kconfig for STM32 machine

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-04-19 05:23:33 -07:00
Arnd Bergmann
b69bad75a8 This pull request contains Broadcom ARM-based SoC Kconfig/platform changes for
4.12, please pull the following:
 
 - Al enables ZONE_DMA for BRCMSTB platforms since a bunch of on-chip
   peripherals such as USB (OHCI and EHCI) and SDHCI cannot support physical
   addresses > 32-bit. This is only required when ARM_LPAE is enabled
 
 - Danesh enables ARCH_HAS_HOLES_MEMORYMODEL in order for the kernel to provide
   a pfn_valid() implementation despite BRCMSTB enabling the SPARSEMEM model by
   default.
 
 - Florian adds support for a new 28nm generation chip: 7260 by updating the
   runtime detection UART debuggin stub used for DEBUG_LL.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABCAAGBQJY1VVsAAoJEIfQlpxEBwcEaMkQAKKUiXK0AP/GHTX7WcCxZO6y
 TpU1o++HEMVZP7jCfoqeSVB/wWsxRjha4GVaH/9d6xHxJMx8+gBwzok7o7mkbnDc
 sjcfZS4aRXjM8J+xPAt0GqN5gde/GP4z83Z5XR1kNFG6Ngdo4gaHRF/R3HanBWJZ
 +94K+W3RlBTBsk0NGHAjhOWpG6/a0xwRyt90bh3D/bkSB6xQIhEKvOauQ9MOdOJ2
 9X4qHYavty2VcEEsmT9dXZifR5uQ9fkx5Vsv0SujzfLPsPwK1gm8MspQ1wjg74IG
 jbxAh6gNJeWJeU5D9MtWIWTYDJSJKpNWjpkrpbRbMn88tmEsp5Pjywk7s0RogKf4
 34Nm1xt2d5ktoVP8uI8SjujGRwN4IzmcUEObTa8XiRdjRhKhHSQXGg4eIyagNt4b
 pc4HPml28n0COIZOaOHz82SlkRSSk58eyuY/RuRhduNBILpBDpS4H4sZHzLLD5qE
 msrcwElTUrIDUeQkEONq14ErqR2wxmN2PF87UBkUd5PsVBnUq8JvHldQVRJzUrrI
 ouT6P769HeJWzCcDRiorI2EIyEubVG2pEY3LGSu3W9egJ6qKVb1D+1w2gQLnsB4+
 tfxhpaTjG6EIIH29eMl18lAgNCXf7nCaDst/kxVZOSWACEhipCV+Ldke4ji3333j
 SJKzQ3fPkfX6W+m79tis
 =xKpO
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-4.12/soc' of http://github.com/Broadcom/stblinux into next/soc

Pull "Broadcom soc changes for 4.12" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoC Kconfig/platform changes for
4.12, please pull the following:

- Al enables ZONE_DMA for BRCMSTB platforms since a bunch of on-chip
  peripherals such as USB (OHCI and EHCI) and SDHCI cannot support physical
  addresses > 32-bit. This is only required when ARM_LPAE is enabled

- Danesh enables ARCH_HAS_HOLES_MEMORYMODEL in order for the kernel to provide
  a pfn_valid() implementation despite BRCMSTB enabling the SPARSEMEM model by
  default.

- Florian adds support for a new 28nm generation chip: 7260 by updating the
  runtime detection UART debuggin stub used for DEBUG_LL.

* tag 'arm-soc/for-4.12/soc' of http://github.com/Broadcom/stblinux:
  ARM: brcmstb: Add entry for 7260
  ARM: brcmstb: Enable ARCH_HAS_HOLES_MEMORYMODEL
  ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals
2017-03-31 10:51:42 +02:00
Arnd Bergmann
88f31b1d5c Gemini multiplatform updates:
- Select the poweroff driver so the system can properly shut down.
   This driver is merged in the power tree.
 - Select the right Faraday GPIO block (we renamed it).
 - Do not select SERIAL_OF_PLATFORM that just create Kconfig
   warnings on us. We'll put that into the defconfig instead.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJY2WosAAoJEEEQszewGV1zsWcP/0/j6k55yHiGTBU5sXjxQyY3
 dCP+S1366nsTFWnobwqdEM0TTtM8Z1k7XNQ2u5/awPoFjdbcS4nrcmf0M1aVOIvt
 iPV/lOVwEp+m9fEX70Wns+8lblkLcc96zOV3LMJM29PN+Apru7Vp0ISnWyxAeG3d
 7ZnHtDXrAfMM0h+14A1a+qG1SqU4rE5MHWuGj9m2UTqzB6KUtEnPsSeUqqZKLniO
 TxoO2Zaa6+G0Xlh9wPLJV/vc2GEfrC/2UsjYxd8D3r3s4Iz3Xn1x1u+jQp4CJLp0
 EAytTnoITetKwkxiIKJ1vMPI9danJ2+fY+SazTCJT1p7Y97SoSOQXqtKeTFHxcFz
 KXjMPvYo/SMj5t7Sy1FkYjKTASXeFX1EFlInqII0mGzAjosp2gjfB9BsJMUdbU3v
 qNuSkZJz9+us3WD9AdfQJKTIoyGXhbdlN1oETcjvGRZvhHAHa99rKdCno+UWy5XA
 t2bX9IF2o2qFwIME13+u8c2xTnciyDGApCYcDF4Icaa0HOat0yXB7nOKgzuAYD4e
 obbBkN6Zc9sijcK+FE0vq+N4QVaHAAh2U7RF/Kly0GCxFKbXZbccxXAwuWbcIXKP
 2LwsxSHRWyizH3OH7ug4SS6EwVZQ/xtqBpmau5qlsn+E0ZWO1AJfxUVDRKoScWYU
 eqdNi5fZedcMQFLqvBJe
 =g/Tl
 -----END PGP SIGNATURE-----

Merge tag 'gemini-multiplat-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/soc

Pull "Gemini multiplatform updates" from Linus Walleij:

- Select the poweroff driver so the system can properly shut down.
  This driver is merged in the power tree.
- Select the right Faraday GPIO block (we renamed it).
- Do not select SERIAL_OF_PLATFORM that just create Kconfig
  warnings on us. We'll put that into the defconfig instead.

* tag 'gemini-multiplat-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: gemini: don't select SERIAL_OF_PLATFORM
  ARM: gemini: select the right GPIO block
  ARM: gemini: select gemini poweroff
2017-03-30 17:22:40 +02:00
Arnd Bergmann
59bc516c8b SoC changes for omaps for v4.12 merge window:
- Drop PM_SUSPEND_STANDBY
 
 - Clean up hwmod code in preparation to eventually dynamically
   allocating hwmod data based on device tree data
 
 - Implement hwmod workaround for dra7 DCAN1 and OTG module to prevent
   clockdomain from entering HW_AUTO
 
 - Configure clockdomain and hwmod for dm81xx SATA
 
 - Mark omap_init_rng as __init
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlja0g8RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXMB+A//VmbKMoDFNOSjYZP7gFKsnYrSzJQUgWvU
 vLxI2bKjJvX2oTKaPTMhZdLzmEEVE9RcPec+4X80WgRLbmWdj+o3gkEDygjXJi9Q
 ATlS6Qop9r6KEmvL4KsQnNjws0WxFXfASUxiztnJvL9fgH0svII6DpamtXN7iRwz
 PmgBPcsOEOlTAnMWYr/zLbTtp6ajWkRiHetdLCgHfSRuKgo6e16OswOo+Fj2HM49
 o9OSlSyWmu6jjJSrUWYo6mokexKWkNflV1z1XTgOhfi/LJKWcmlYjqwW+ycXm2h7
 /Q8/YSwNXRHEetLsfNQwmvVoV6lsTkeebJ8DHsPbE1V4780TrXNpVhlZXD5OdTYZ
 sgX+ubSSSwsT2JIyUFNxXwJqrZy2J7Rt//59ccJb7TtlTRDsDDvJHdSKeo+YVyys
 4Cw1prelcK7yR5OFS2FRopUTXsoXtjnVDP6Y/jboPn6oihnI1Mvs0iAecgLwUUN4
 jvhjvI1gSHRg/kqG0dJ77TUUyzx8N4+NQOILJJqrxea7YgfmJx4zCJP1q3FpeUVc
 b0W/zTyFZKz5b9n28s0aq4ancbGiLMFh4+Vifwbx0NQsD9tajYyP4QhbPtIrwozh
 k7GcB+tPoLWPpTA88L2KLXkfgAb6kon76w/CjECDlkygmOo/7k/6ULnBhUxq+Qll
 hbHbhxC/30Q=
 =736B
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "SoC changes for omaps for v4.12 merge window" from Tony Lindgren:

- Drop PM_SUSPEND_STANDBY

- Clean up hwmod code in preparation to eventually dynamically
  allocating hwmod data based on device tree data

- Implement hwmod workaround for dra7 DCAN1 and OTG module to prevent
  clockdomain from entering HW_AUTO

- Configure clockdomain and hwmod for dm81xx SATA

- Mark omap_init_rng as __init

* tag 'omap-for-v4.12/soc-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: mark omap_init_rng as __init
  ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA
  ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
  ARM: DRA7: hwmod: Fix DCAN1 stuck in transition
  ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO
  ARM: OMAP2+: omap_hwmod: provide space for more hwmod flags
  ARM: OMAP2+: Make hwmod clkdm_name const
  ARM: OMAP2+: Remove unused CLOCKACT_TEST_ICLK
  ARM: OMAP2+: Use list_for_each_entry for hwmod slave_ports
  ARM: OMAP2+: Remove mostly unused hwmod linkspace
  ARM: OMAP: PM: Drop useless checks for PM_SUSPEND_STANDBY
2017-03-30 17:15:51 +02:00
Arnd Bergmann
2235ac90e4 v4.12 SoC updates for DaVinci include necessary pdata-quirks
to make video capture and display work on da850.
 
 VPIF driver which supports video capture and display on
 da850 is a legacy driver.  It does not have DT equavalents
 for all things that are used on platform data.
 
 Attempts were made to pass data via DT[1], but linux-media
 does not yet have a good way of describing subdevices in
 device tree. This is work in progress. As soon as bindings
 are defined and implementation is available, we can shift
 to using that. For now we are stuck with using pdata.
 
 The pull request also has some clean-up for PM, and a fix
 for pdata quirks mechanism.
 
 [1] https://marc.info/?l=devicetree&m=147982998517384
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJY0hxKAAoJEGFBu2jqvgRNzxAP/RmizxLl+C7QnP/PLCTqDVaq
 uHO6ygepNYKSYnVfzFg9p2a5K3GYw0Ky3UkpRWthnEp3NpB1kGFHqByxSN+IkLAo
 Sxut53kfaT/OT2vjeMz03WTcTGMxTqKKnIh9dIcTyJbRUm8Gtl7Za7V8JQ+M82xM
 nBhdEwDtKtD1jmV/H5CGQNKyVyNBMYZQyMaJxqHlcuSd/VgUwFZp6ayrn+qcFQah
 n339e38WR4R+T9w9irzIXw+vEvvzWhdapYOPMBNFXRfL2mh1pCdXTzZduQxK2wJg
 OLdSSnTZeUZB2m8gyQWeJJj9wxNpCNA8MXfnE/vnDntEaiFHkEpNNEWh+MS32KDz
 +offax32WhmNR/TW23QSlC3V2+F4WDtSJuYD7Hg/E6OBCgMiDK6CjH1PrUKyDhv1
 eIWSN/hNZcYyMfqXgNCrQXCt2L5bCBAS/qp4de3BykaiBrFGxdcnV4NRt2wTqpJm
 H9bNv+P9eOalAz/7RrAPcrEQS8QFbWRyCpLB66s6YM99ejtj1tBqRfeQpppdtq2D
 lUkXXMX31+MSrOz+7jgrw0gdHbs0O0XjXWRN3Y1p0F3OfmhFMTMKCjBkDOvcqEnP
 RHMfqUL1uwEst+VSlZDrO7qXyQoji7YxYzsgzn0it72uAYDcI2dVoCuAbtW0Gxjn
 ge/5BFgGlIfRUh6+XaJe
 =70/w
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Pull "DaVinci SoC updates for v4.12" from Sekhar Nori:

v4.12 SoC updates for DaVinci include necessary pdata-quirks
to make video capture and display work on da850.

VPIF driver which supports video capture and display on
da850 is a legacy driver.  It does not have DT equavalents
for all things that are used on platform data.

Attempts were made to pass data via DT[1], but linux-media
does not yet have a good way of describing subdevices in
device tree. This is work in progress. As soon as bindings
are defined and implementation is available, we can shift
to using that. For now we are stuck with using pdata.

The pull request also has some clean-up for PM, and a fix
for pdata quirks mechanism.

[1] https://marc.info/?l=devicetree&m=147982998517384

* tag 'davinci-for-v4.12/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: add pdata-quirks for da850-evm vpif display
  ARM: da850-evm: add a fixed regulator for the UI board IO expander
  ARM: davinci: da8xx: add pdata-quirks for VPIF capture
  ARM: davinci: da8xx: add OF_DEV_AUXDATA() for vpif
  ARM: davinci: board-da850-evm: add I2C ID for VPIF
  ARM: davinci: allow having multiple pdata-quirks
  ARM: davinci: PM: Drop useless check for PM_SUSPEND_STANDBY
2017-03-30 17:08:34 +02:00
Sekhar Nori
28d4d1d0e4 ARM: davinci: add pata_bk3710 libata driver support
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
[b.zolnierkie: split from bigger patch + preserved old driver support]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2017-03-30 16:15:29 +05:30
Arnd Bergmann
f0e6876606 ARM: OMAP2+: mark omap_init_rng as __init
I found this section mismatch when building with an older
compiler release:

WARNING: vmlinux.o(.text+0x3051c): Section mismatch in reference from the
function omap_init_rng() to the function .init.text:omap_device_build()

Obviously this one function should be __init as well. Normally
we don't get a warning as the function gets inlined into its
caller.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[tony@atomide.com: formatted error message a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:10:09 -07:00
Kevin Hilman
49e9e6163c ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA
Add the SATA clockdomain (part of CM_DEFAULT) and a hwmod for the SATA
block on dm81xx.

Tested on DM8168 EVM.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
[Bartosz: removed an unused define]
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:10:03 -07:00
Roger Quadros
e2d54fe769 ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss
It seems that if L3_INIT clkdomain is kept in HW_AUTO while usb_otg_ss
is in use then there are random chances that the usb_otg_ss module
will fail to completely idle. i.e. IDLEST = 0x2 instead of 0x3.

Preventing L3_INIT from HW_AUTO while usb_otg_ss module is in use
fixes this issue.

We don't know yet if usb_otg_ss instances 3 and 4 are affected by this
issue or not so don't add this flag for those instances.

Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:09:58 -07:00
Roger Quadros
a241623836 ARM: DRA7: hwmod: Fix DCAN1 stuck in transition
Add HWMOD_CLKDM_NOAUTO flag to DCAN1 module.

Without this DCAN1 module remains stuck in transition
after the CAN interface is brought down. This is also suggested
in Errata i893 "DCAN Initialization Sequence".

Add the HWMOD_CLKDM_NOAUTO to DCAN2 module as well
as it is mentioned in Errata i893.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-28 14:09:54 -07:00
Arnd Bergmann
16c86ef7fc ARM: gemini: don't select SERIAL_OF_PLATFORM
We cannot select the option when SERIAL_8250 is not also set:

warning: (ARCH_GEMINI) selects SERIAL_OF_PLATFORM which has unmet direct dependencies (TTY && HAS_IOMEM && SERIAL_8250 && OF)

This removes the 'select' statement, requiring that users enable the
option manually. Alternatively, we could make it a conditional
'select SERIAL_OF_PLATFORM if SERIAL_8250' or also select a handful
of other symbols that it depends on.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-24 22:12:42 +01:00
Alexandre TORGUE
c6ed0f31ce ARM: stm32: Add a new SOC - STM32H743
The STM32H743 is a Cortex-M7 MCU running at 400MHz and containing 1MBytes
internal RAM.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 11:37:24 +01:00
Alexandre TORGUE
1e2f0169df ARM: stm32: Introduce MACH_STM32H743 flag
This patch introduces the MACH_STM32H743 to make possible to only select
STM32H743 pinctrl driver

By default, all the MACH_STM32Fxxx flags will be set with STM32 defconfig.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 09:35:28 +01:00
Alexandre TORGUE
bcb84fb4d6 ARM: stm32: create dedicated kconfig for STM32 machine
Create a dedicated Kconfig file in mach-stm32/ and move existing stm32
configs inside.

Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com>
2017-03-24 09:35:12 +01:00
Roger Quadros
8ff42da411 ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO
Introduce HWMOD_CLKDM_NOAUTO flag that allows the hwmod's
clockdomain to be prevented from HW_AUTO while the hwmod is active.

This is needed to workaround some modules which don't function
correctly with HW_AUTO. e.g. DCAN on DRA7.

Signed-off-by: Roger Quadros <rogerq@ti.com>
[nsekhar@ti.com: rebased to v4.9 kernel]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:19:59 -07:00
Sekhar Nori
390c06828d ARM: OMAP2+: omap_hwmod: provide space for more hwmod flags
'flags' member of omap_hwmod structure is fast running
out of space with 16 different flags already defined.

Make flags a 32-bit entity so as to allow for more flags.

This results is a ~2.3K data section size increase with
omap2plus_defconfig on v4.11-rc2.

before:
   text	   data	    bss	    dec	    hex	filename
8186930	3082444	8252992	19522366	129e33e	vmlinux

after:
   text	   data	    bss	    dec	    hex	filename
8186922	3084812	8252992	19524726	129ec76	vmlinux

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-23 13:19:26 -07:00
Tony Lindgren
6bff547451 Merge branch 'hwmod-cleanup' into omap-for-v4.12/soc 2017-03-23 11:31:46 -07:00
Linus Walleij
f0a18a00f0 ARM: gemini: select the right GPIO block
We want to select the GPIO_FTGPIO010 symbol for the generic
Faraday FTGPIO010 driver, not the old driver.

Cc: Jonas Jensen <jonas.jensen@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-22 12:14:37 +01:00
Linus Walleij
1953d4ad97 ARM: gemini: select gemini poweroff
It's especially annoying if the system cannot be properly
powered down so select the poweroff driver from the Kconfig.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-18 21:57:28 +01:00
Florian Fainelli
d47b51ad31 ARM: brcmstb: Add entry for 7260
BCM7260 has the same UART base address as 7268, order the entries by
ascending chip number and alias the 7268 definition to the 7260
definition.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-03-15 14:57:50 -07:00
Danesh Petigara
59f181aa9d ARM: brcmstb: Enable ARCH_HAS_HOLES_MEMORYMODEL
Due to the brcmstb SoC's memory map, we may have holes in the memory if
we don't populate the maximum amount of memory supported by e.g: the
first memory controller which spans either the first 1GiB or first 2GiB
of memory.

We need to select ARCH_HAS_HOLES_MEMORYMODEL in order to enable
CONFIG_HAVE_ARCH_PFN_VALID on platforms that have CONFIG_SPARSEMEM
enabled.

Signed-off-by: Danesh Petigara <danesh.petigara@broadcom.com>
[florian: Detailed commit message]
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-03-15 14:57:41 -07:00
Al Cooper
3c51b9c7f1 ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals
Some Host Controller hardware blocks, like the OHCI, EHCI and SDIO
controllers, have hardware blocks that are not capable of doing 64 bit
DMA. These host controllers fail on boards with >3GB of memory because
the memory above 3GB is located physically >= 0x100000000 and can only
be accessed using 64 DMA. The way Linux is currently configured for
BRCMSTB systems, the memory given to drivers for DMA through functions
like dma_alloc_coherent() comes from CMA memory and CMA memory is taken
from the top of physical memory. When these drivers get a DMA buffer
with an address >=0x100000000, they end up dropping the upper 32 bit of
the address causing the hardware to DMA to incorrect memory, typically
BMEM (custom memory carveout). This issue was discovered on a
BCM97449SSV_DDR4 system with 4GB or memory.

The fix is to enable CONFIG_ZONE_DMA. On ARM systems this makes sure
that all DMA memory is located within the first 32 bits of address
space.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-03-15 14:57:25 -07:00
Tony Lindgren
3cdf2f800b ARM: OMAP2+: Make hwmod clkdm_name const
This can be const, and will need to be const when we start initializing
it from clkdm data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-14 13:13:20 -07:00
Tony Lindgren
ca5339b18c ARM: OMAP2+: Remove unused CLOCKACT_TEST_ICLK
This is not used so let's remove it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-14 13:13:19 -07:00
Tony Lindgren
b8e1bddc98 ARM: OMAP2+: Use list_for_each_entry for hwmod slave_ports
We are just iterating over the slave_ports lists, so we can
use list_for_each_entry() no problem.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-14 13:13:19 -07:00
Tony Lindgren
a1e312355d ARM: OMAP2+: Remove mostly unused hwmod linkspace
We want to be able to dynamically allocate struct omap_hwmod_ocp_if and
struct omap_hwmod at device driver probe time based on .dts data.

Current setup with the linkspace using memblock_virt_alloc() makes
this tricky, so let's get rid of struct linkspace and directly set up
struct omap_hwmod_ocp_if as the master and slave lists.

As we are currently not using the master_ports either, let's remove it
too. And let's add the struct omap_hwmod_ocp_if node directly to the
slave_ports list.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-03-14 13:13:19 -07:00
Olof Johansson
736d830145 This patchset:
- Converts the Gemini platform to device tree.
 - Deletes all the board files.
 - Fixes the prerequisities for a multiplatform boot and
   switches to multiplatform.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJYxTD+AAoJEEEQszewGV1ze/8P/0RzsdivuZP/oebt+5QaE3VP
 LbX5eYupyKXtjpaWl0bvAQhu3f2r1P7+harO22BCu6+x4l2EupHPTXH4zuF+otJR
 1e7nJMHYC1WGEo6ahH00hzq/epqBbv6aNv91KpzOQo83syVJ0bMqlX56KTS8jLG2
 U7+kFnslw1BlI9lJZM+i+VfnDBkGCXKNrGHEYMN8uscX7AYPbzwkitItvyeAey4C
 +mOPuaf0RkwJ0PC2R83SXEVT0oTq2bsf1xHsIG/YSRLAYttUQ+1QNUN63x2QR5hx
 iUQnd79ijuh3t9EDpTNf7zI1YRravn3iCb9nHnXgAG4pXULB6UXmyvnbfwYFBU6F
 PX1aMPQQmJTLfYkSYuHieb5/YeMKZ+k9kGxz1bJzoZ+ta4dQvSX17w3On9LIuk5X
 SlXRj3oy5mY5Vea2/V/AISc9L31+WnPmLymbTlr/PXA02T71twq0A2qqMRjnyX5a
 VuvjSYQdiUko18jx3FrQtpFdQs99FdxQ62NOu2Kl4s5XBbm2ajzM7ShwzN7TpjIn
 TqHbNUtImRgwO26GKa5yGiZNxsnrwlku9HbY7xcfF6oQ6ufwi6BbmsL5Nvo1vEfu
 dv+f2H/JSbde/7pJCKzInPlEJ0sC9GOU7KyGZ4rloJYtJT7OP5qp/fAezwELNVDu
 Mv6MaxMs+/2Qi8+nS5qm
 =3cDe
 -----END PGP SIGNATURE-----

Merge tag 'gemini-multiplat-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/soc

This patchset:

- Converts the Gemini platform to device tree.
- Deletes all the board files.
- Fixes the prerequisities for a multiplatform boot and
  switches to multiplatform.

* tag 'gemini-multiplat-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: gemini: convert to ARMv4 multiplatform
  ARM: gemini: select ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR
  ARM: gemini: switch to sparse IRQs
  ARM: gemini: delete all boardfiles
  ARM: gemini: DT for the Cortina Gemini SoC platforms
  ARM: gemini: convert to MULTI_IRQ_HANDLER

Signed-off-by: Olof Johansson <olof@lixom.net>
2017-03-13 16:05:29 -07:00
Linus Torvalds
4495c08e84 Linux 4.11-rc2 2017-03-12 14:47:08 -07:00
Linus Torvalds
56b24d1bbc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Martin Schwidefsky:

 - four patches to get the new cputime code in shape for s390

 - add the new statx system call

 - a few bug fixes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390: wire up statx system call
  KVM: s390: Fix guest migration for huge guests resulting in panic
  s390/ipl: always use load normal for CCW-type re-IPL
  s390/timex: micro optimization for tod_to_ns
  s390/cputime: provide archicture specific cputime_to_nsecs
  s390/cputime: reset all accounting fields on fork
  s390/cputime: remove last traces of cputime_t
  s390: fix in-kernel program checks
  s390/crypt: fix missing unlock in ctr_paes_crypt on error path
2017-03-12 14:22:25 -07:00
Linus Torvalds
5a45a5a881 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Thomas Gleixner:

 - a fix for the kexec/purgatory regression which was introduced in the
   merge window via an innocent sparse fix. We could have reverted that
   commit, but on deeper inspection it turned out that the whole
   machinery is neither documented nor robust. So a proper cleanup was
   done instead

 - the fix for the TLB flush issue which was discovered recently

 - a simple typo fix for a reboot quirk

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/tlb: Fix tlb flushing when lguest clears PGE
  kexec, x86/purgatory: Unbreak it and clean it up
  x86/reboot/quirks: Fix typo in ASUS EeeBook X205TA reboot quirk
2017-03-12 14:18:49 -07:00
Linus Torvalds
ecade11425 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner:

 - a workaround for a GIC erratum

 - a missing stub function for CONFIG_IRQDOMAIN=n

 - fixes for a couple of type inconsistencies

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/crossbar: Fix incorrect type of register size
  irqchip/gicv3-its: Add workaround for QDF2400 ITS erratum 0065
  irqdomain: Add empty irq_domain_check_msi_remap
  irqchip/crossbar: Fix incorrect type of local variables
2017-03-12 14:11:38 -07:00
Linus Walleij
6dbb708a8f ARM: gemini: convert to ARMv4 multiplatform
This converts the Gemini platform to ARMv4 multiplatform, deleting
the local <mach/*> include directory, moving an idiomatic local
idling function into the .machine_init() call and getting rid of
the Makefile.boot finally.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:27 +01:00
Linus Walleij
8e39061ec8 ARM: gemini: select ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR
This platform survives physical to virtual patching
without any hickups, and can use AUTO_ZRELADDR.
We still need to keep Makefile.boot but it is now empty.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:24 +01:00
Linus Walleij
46abf938db ARM: gemini: switch to sparse IRQs
There is no boardfiles or anything else using the fixed IRQs
anymore, switch the platform to use sparse IRQs and delete
the <mach/irqs.h> header.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:22 +01:00
Linus Walleij
ee149d66d7 ARM: gemini: delete all boardfiles
Delete the Gemini boardfiles: we have corresponding, fully-featured
device trees for all these boards. Delete the referenced include
files. Delete the local config symbols, especially one for
"swapped memory", as all supported boards have swapped memory, and
would a new board be supported this is likely not the right way
to achieve it anyways. Only the Kconfig options in the central
arch/arm/Kconfig remains.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:19 +01:00
Linus Walleij
41d9830cd0 ARM: gemini: DT for the Cortina Gemini SoC platforms
This adds initial and compulsory device tree support to the
Gemini ARMv4 platform.

We are selecting a bunch of "absolute minimals" for getting a working
system up with just device tree:

- We select USE_OF for natural reasons or nothing works.

- We select CLKSRC_OF and GEMINI_TIMER so we get timekeeping from
  the clocksource.

- We select GPIO_GEMINI because these are used as irqchips, and
  for a generic driver it is not reasonable for those to have to
  select every possible irqchip in the world to work, the platform
  should simply provide the available irqchips.

- We select a UART that can be exprected to work with
  SERIAL_OF_PLATFORM which is the name for an 8250 OF-probed
  serial port.

- We select the syscon-based reset controller: it's not fun when
  "reboot" doesn't work because of Kconfig, so we just select
  POWER_RESET and POWER_RESET_SYSCON.

- We perhaps a bit controversiallt select ARM_APPENDED_DTB, because
  this platform is using the ancient RedBoot, and can *NOT* be
  expected to upgrade its bootloaders. Appended device tree is
  simply how these devices have to work with device tree.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:12 +01:00
Linus Walleij
c12ddfe1ed ARM: gemini: convert to MULTI_IRQ_HANDLER
In order to enable device tree boot on this machine we must first
convert it to runtime-manage its irq handler, so do this.

Cc: Janos Laube <janos.dev@gmail.com>
Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-03-12 12:27:04 +01:00
Daniel Borkmann
2c4ea6e28d x86/tlb: Fix tlb flushing when lguest clears PGE
Fengguang reported random corruptions from various locations on x86-32
after commits d2852a2240 ("arch: add ARCH_HAS_SET_MEMORY config") and
9d876e79df ("bpf: fix unlocking of jited image when module ronx not set")
that uses the former. While x86-32 doesn't have a JIT like x86_64, the
bpf_prog_lock_ro() and bpf_prog_unlock_ro() got enabled due to
ARCH_HAS_SET_MEMORY, whereas Fengguang's test kernel doesn't have module
support built in and therefore never had the DEBUG_SET_MODULE_RONX setting
enabled.

After investigating the crashes further, it turned out that using
set_memory_ro() and set_memory_rw() didn't have the desired effect, for
example, setting the pages as read-only on x86-32 would still let
probe_kernel_write() succeed without error. This behavior would manifest
itself in situations where the vmalloc'ed buffer was accessed prior to
set_memory_*() such as in case of bpf_prog_alloc(). In cases where it
wasn't, the page attribute changes seemed to have taken effect, leading to
the conclusion that a TLB invalidate didn't happen. Moreover, it turned out
that this issue reproduced with qemu in "-cpu kvm64" mode, but not for
"-cpu host". When the issue occurs, change_page_attr_set_clr() did trigger
a TLB flush as expected via __flush_tlb_all() through cpa_flush_range(),
though.

There are 3 variants for issuing a TLB flush: invpcid_flush_all() (depends
on CPU feature bits X86_FEATURE_INVPCID, X86_FEATURE_PGE), cr4 based flush
(depends on X86_FEATURE_PGE), and cr3 based flush.  For "-cpu host" case in
my setup, the flush used invpcid_flush_all() variant, whereas for "-cpu
kvm64", the flush was cr4 based. Switching the kvm64 case to cr3 manually
worked fine, and further investigating the cr4 one turned out that
X86_CR4_PGE bit was not set in cr4 register, meaning the
__native_flush_tlb_global_irq_disabled() wrote cr4 twice with the same
value instead of clearing X86_CR4_PGE in the first write to trigger the
flush.

It turned out that X86_CR4_PGE was cleared from cr4 during init from
lguest_arch_host_init() via adjust_pge(). The X86_FEATURE_PGE bit is also
cleared from there due to concerns of using PGE in guest kernel that can
lead to hard to trace bugs (see bff672e630 ("lguest: documentation V:
Host") in init()). The CPU feature bits are cleared in dynamic
boot_cpu_data, but they never propagated to __flush_tlb_all() as it uses
static_cpu_has() instead of boot_cpu_has() for testing which variant of TLB
flushing to use, meaning they still used the old setting of the host
kernel.

Clearing via setup_clear_cpu_cap(X86_FEATURE_PGE) so this would propagate
to static_cpu_has() checks is too late at this point as sections have been
patched already, so for now, it seems reasonable to switch back to
boot_cpu_has(X86_FEATURE_PGE) as it was prior to commit c109bf9599
("x86/cpufeature: Remove cpu_has_pge"). This lets the TLB flush trigger via
cr3 as originally intended, properly makes the new page attributes visible
and thus fixes the crashes seen by Fengguang.

Fixes: c109bf9599 ("x86/cpufeature: Remove cpu_has_pge")
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: bp@suse.de
Cc: Kees Cook <keescook@chromium.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: lkp@01.org
Cc: Laura Abbott <labbott@redhat.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernrl.org/r/20170301125426.l4nf65rx4wahohyl@wfg-t540p.sh.intel.com
Link: http://lkml.kernel.org/r/25c41ad9eca164be4db9ad84f768965b7eb19d9e.1489191673.git.daniel@iogearbox.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2017-03-12 11:19:29 +01:00
Linus Torvalds
106e4da602 KVM fixes for v4.11-rc2
ARM updates from Marc Zyngier:
  "vgic updates:
   - Honour disabling the ITS
   - Don't deadlock when deactivating own interrupts via MMIO
   - Correctly expose the lact of IRQ/FIQ bypass on GICv3
 
   I/O virtualization:
   - Make KVM_CAP_NR_MEMSLOTS big enough for large guests with
     many PCIe devices
 
   General bug fixes:
   - Gracefully handle exception generated with syndroms that
     the host doesn't understand
   - Properly invalidate TLBs on VHE systems"
 
 x86:
  - improvements in emulation of VMCLEAR, VMX MSR bitmaps, and VCPU reset
 -----BEGIN PGP SIGNATURE-----
 
 iQEcBAABCAAGBQJYxENfAAoJEED/6hsPKofoEEkIAIWglnOGOHqf4pPv9OThKzKm
 5CGINdPVEkJ56QNaYrINiQRHAzIUg8dsrhsisYmEdYGv3Mxf5WO0OebfzTrniNm4
 GXIM8OuYD04MSnIomfGGBAwFZ6ptgdeD+PVkSFYHArkvWYfPm54ghjVj3AXmkicf
 tRiIsPSiL/QT0vha5LBGfwsWOYavmZRfQBNA5yYUIHgO0Mp7LI24AeZOQiSM2ngx
 Gl5xfzk0bayhZSBr+r/fvxqbEd0udiY7klGEvt3hrPT+JzzpoamEgCCZ6eLFZbGM
 eABeQUzm7StD4Ib3WHkVU81ysOWndL0TK94BBBLIn1j+ht9FLi9iGkmTYspk9po=
 =/phS
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Radim Krčmář:
 "ARM updates from Marc Zyngier:
   - vgic updates:
     - Honour disabling the ITS
     - Don't deadlock when deactivating own interrupts via MMIO
     - Correctly expose the lact of IRQ/FIQ bypass on GICv3

   - I/O virtualization:
     - Make KVM_CAP_NR_MEMSLOTS big enough for large guests with many
       PCIe devices

   - General bug fixes:
     - Gracefully handle exception generated with syndroms that the host
       doesn't understand
     - Properly invalidate TLBs on VHE systems

  x86:
   - improvements in emulation of VMCLEAR, VMX MSR bitmaps, and VCPU
     reset

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: nVMX: do not warn when MSR bitmap address is not backed
  KVM: arm64: Increase number of user memslots to 512
  KVM: arm/arm64: Remove KVM_PRIVATE_MEM_SLOTS definition that are unused
  KVM: arm/arm64: Enable KVM_CAP_NR_MEMSLOTS on arm/arm64
  KVM: Add documentation for KVM_CAP_NR_MEMSLOTS
  KVM: arm/arm64: VGIC: Fix command handling while ITS being disabled
  arm64: KVM: Survive unknown traps from guests
  arm: KVM: Survive unknown traps from guests
  KVM: arm/arm64: Let vcpu thread modify its own active state
  KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
  kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
  KVM: arm/arm64: vgic-v3: Don't pretend to support IRQ/FIQ bypass
  arm64: KVM: VHE: Clear HCR_TGE when invalidating guest TLBs
2017-03-11 14:24:58 -08:00
Linus Torvalds
4b050f22b5 Fixup for arch/score after extable.h introduction
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJYxDYCAAoJEOvOhAQsB9HWozkP/3G2TgbdPuTApq7Sch9W7aaD
 gV1K3g/w9Myo3pTb6tD0vFmdA03IGU95Y1OCoK5s9OeTuysNoyqpqiUgdHIHa24L
 d53isxNLmjK+rwvmEr9KUjicqxJOZcw7mmKab1KROeu5CIwTScUMxp5+iFcoR2HS
 lBdSfbROdkaOPB81B55H85oy93MFkMHlzugp0ut5c82rsD3PuT+41ZhnPhblNdIl
 ktl/+J6mmPVFf96RRG4cwdJm6stj6KDPNazcQF4zCVHC22RNItxHRye5gdUnVb4/
 QSGdhvFAuPgHZ2Au5nKBr1y+RZljz2O6AmjOfjZkI0vheAAu3gig12L7gRyKmDfQ
 kdeVbzTqyDBRhuStVm2/Z6iTiN2ALlpksEVkOrstnSM6v6gOuGkY22ixzh1VSuIF
 cGNADNyVfOkAbAqAgzD1q2iWQanBrUCr0lJCbU+uBtmzJH3cXmsvGXyOQ+6UwsiI
 NQ9WFQbfG/h+pyiukt8cbVOzHsDxCG4tb2KtnqnqkYVwFSJvWjdpUpRMzXUKjZZw
 Moom5Zke9F2aZZegiIId1sPdGFJvj6+x171sdKn5A1CfRclORlNq1tyOzudnyN8A
 maRh6a5AoT+QxKvqHA7ZpNL+tHqZWFEcaDvS7QKyFkbS/YjFmXH2uhIa60v0Y1BW
 Nro08Xgt1qfFnQiuAko8
 =khtX
 -----END PGP SIGNATURE-----

Merge tag 'extable-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux

Pull extable.h fix from Paul Gortmaker:
 "Fixup for arch/score after extable.h introduction.

  It seems that Guenter is the only one on the planet doing builds for
  arch/score -- we don't have compile coverage for it in linux-next or
  in the kbuild-bot either. Guenter couldn't even recall where he got
  his toolchain, but was kind enough to share it with me so I could
  validate this change and also add arch/score to my build coverage.

  I sat on this a bit in case there was any other fallout in other arch
  dirs, but since this still seems to be the only one, I might as well
  send it on its way"

* tag 'extable-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
  score: Fix implicit includes now failing build after extable change
2017-03-11 14:16:50 -08:00
Linus Torvalds
84c37c168c Change get_random_{int,log} to use the CRNG used by /dev/urandom and
getrandom(2).  It's faster and arguably more secure than cut-down MD5
 that we had been using.
 
 Also do some code cleanup.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAljCENEACgkQ8vlZVpUN
 gaP8lwf7BFtF52mKQcsVYxxZtRPH5dQwJCh3rohQ0WEJi5hHyZPZNz24dPHgc8Xl
 GDq7v7o10dL3aeK6P51lYNcDb9xwYakCXm5sw46c5juca/VAVaxHb/kSDPSPUCNj
 7n7mNSM61UhYAN10AXi9FGJo/Rdr0U5F1VfoWVYqaHYsItYLCjlSk6ob7vKxCPUd
 458qaGBvK8luwQgFPQftJ20j81zXNuRe5JHjCQ2LtaRWM8kNI/wmyNSokD73BkZl
 k8B7VqG4YpKp+4xgThp12GpXHrKB9kzQfmM4dZQQiGai9Ni59+iNqEcumv0Jb5MG
 gY/m5Wc1Q45/5FosPXQYHzMPHrSJ3A==
 =g1OD
 -----END PGP SIGNATURE-----

Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random

Pull random updates from Ted Ts'o:
 "Change get_random_{int,log} to use the CRNG used by /dev/urandom and
  getrandom(2). It's faster and arguably more secure than cut-down MD5
  that we had been using.

  Also do some code cleanup"

* tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
  random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block
  random: convert get_random_int/long into get_random_u32/u64
  random: use chacha20 for get_random_int/long
  random: fix comment for unused random_min_urandom_seed
  random: remove variable limit
  random: remove stale urandom_init_wait
  random: remove stale maybe_reseed_primary_crng
2017-03-11 09:08:47 -08:00
Guenter Roeck
0acf611997 score: Fix implicit includes now failing build after extable change
After changing from module.h to extable.h, score builds fail with:

  arch/score/kernel/traps.c: In function 'do_ri':
  arch/score/kernel/traps.c:248:4: error: implicit declaration of function 'user_disable_single_step'
  arch/score/mm/extable.c: In function 'fixup_exception':
  arch/score/mm/extable.c:32:38: error: dereferencing pointer to incomplete type
  arch/score/mm/extable.c:34:24: error: dereferencing pointer to incomplete type

because extable.h doesn't drag in the same amount of headers as the
module.h did.  Add in the headers which were implicitly expected.

Fixes: 90858794c9 ("module.h: remove extable.h include now users have migrated")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
[PG: tweak commit log; refresh for sched header refactoring.]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2017-03-11 11:57:21 -05:00
Linus Torvalds
434fd6353b TTY/Serial fixes for 4.11-rc2
Here are 2 bugfixes for tty stuff for 4.11-rc2.  One of them resolves
 the pretty bad bug in the n_hdlc code that Alexander Popov found and
 fixed and has been reported everywhere.  The other just fixes a samsung
 serial driver issue when DMA fails on some systems.
 
 Both have been in linux-next with no reported issues.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCWMOjpg8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ykWqQCdGhbRifnxpafp5N7+aHpDHhptCnoAoK6S6gDY
 hn2PYO9gz8oUxXmjwdqo
 =hsvZ
 -----END PGP SIGNATURE-----

Merge tag 'tty-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial fixes frpm Greg KH:
 "Here are two bugfixes for tty stuff for 4.11-rc2.

  One of them resolves the pretty bad bug in the n_hdlc code that
  Alexander Popov found and fixed and has been reported everywhere. The
  other just fixes a samsung serial driver issue when DMA fails on some
  systems.

  Both have been in linux-next with no reported issues"

* tag 'tty-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  serial: samsung: Continue to work if DMA request fails
  tty: n_hdlc: get rid of racy n_hdlc.tbuf
2017-03-11 00:20:12 -08:00
Linus Torvalds
8529880861 Staging driver fixes for 4.11-rc2
Here are two small build warning fixes for some staging drivers that
 Arnd has found on his valiant quest to get the kernel to build properly
 with no warnings.  Both of these have been in linux-next this week and
 resolve the reported issues.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCWMOhww8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ykjowCgtBkY+JCK4s3fdjD5ICDj05OSSy8AnR9qX6E9
 o0cE++TYkutSjkR2L5og
 =TVuW
 -----END PGP SIGNATURE-----

Merge tag 'staging-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging driver fixes from Greg KH:
 "Here are two small build warning fixes for some staging drivers that
  Arnd has found on his valiant quest to get the kernel to build
  properly with no warnings.

  Both of these have been in linux-next this week and resolve the
  reported issues"

* tag 'staging-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  staging: octeon: remove unused variable
  staging/vc04_services: add CONFIG_OF dependency
2017-03-11 00:13:28 -08:00
Linus Torvalds
46552bf433 USB fixes for 4.11-rc2
Here is a number of different USB fixes for 4.11-rc2.  Seems like there
 were a lot of unresolved issues that people have been finding for this
 subsystem, and a bunch of good security auditing happening as well from
 Johan Hovold.  There's the usual batch of gadget driver fixes and xhci
 issues resolved as well.
 
 All of these have been in linux-next with no reported issues.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCWMOkLA8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ymiCACeIL3h4bNEc6+XLiB+sfmQx4wV2MUAnRMD1gB0
 GxkBXY1Iny94vhZC8x5r
 =dlkm
 -----END PGP SIGNATURE-----

Merge tag 'usb-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here is a number of different USB fixes for 4.11-rc2.

  Seems like there were a lot of unresolved issues that people have been
  finding for this subsystem, and a bunch of good security auditing
  happening as well from Johan Hovold. There's the usual batch of gadget
  driver fixes and xhci issues resolved as well.

 All of these have been in linux-next with no reported issues"

* tag 'usb-4.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (35 commits)
  usb: host: xhci-plat: Fix timeout on removal of hot pluggable xhci controllers
  usb: host: xhci-dbg: HCIVERSION should be a binary number
  usb: xhci: remove dummy extra_priv_size for size of xhci_hcd struct
  usb: xhci-mtk: check hcc_params after adding primary hcd
  USB: serial: digi_acceleport: fix OOB-event processing
  MAINTAINERS: usb251xb: remove reference inexistent file
  doc: dt-bindings: usb251xb: mark reg as required
  usb: usb251xb: dt: add unit suffix to oc-delay and power-on-time
  usb: usb251xb: remove max_{power,current}_{sp,bp} properties
  usb-storage: Add ignore-residue quirk for Initio INIC-3619
  USB: iowarrior: fix NULL-deref in write
  USB: iowarrior: fix NULL-deref at probe
  usb: phy: isp1301: Add OF device ID table
  usb: ohci-at91: Do not drop unhandled USB suspend control requests
  USB: serial: safe_serial: fix information leak in completion handler
  USB: serial: io_ti: fix information leak in completion handler
  USB: serial: omninet: drop open callback
  USB: serial: omninet: fix reference leaks at open
  USB: serial: io_ti: fix NULL-deref in interrupt callback
  usb: dwc3: gadget: make to increment req->remaining in all cases
  ...
2017-03-11 00:08:39 -08:00
Linus Torvalds
cb853a82df Two smaller pin control fixes for the v4.11 series:
- Add a get_direction() function to the qcom driver.
 
 - Fix two pin names in the uniphier driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJYwu4/AAoJEEEQszewGV1zncUQAMZJuxdElAQUHjLi1kILmghW
 8aeTfXSD5dhVgBPZPnvmEpgjL32gOVtrXG0PWmoDL1BE2Kq+RXYopgdaNShxLkA7
 +8aw6vvr6bHv430Eg4ofLwzrLaMzgKh7nSekZBzdBRmnj0oXhTcDDxGHPiBPXxnz
 51lX/hY8aenJiY4+Fhu7wZH14cxWlStVOHoP2KFZGuHtupBccPHsvbCD4Qkyyj0i
 00Io/YlVuW6ZMRedL7rs7HRo+x0XcQQ2T/8BY/Nr/EmVTPnXPq1slyThHwPXK+fZ
 v4lyLeF/AhgOkdV7WIV1ae9peuLAPqYbjdfX/+JU4etsfjuH7QufDjG6yTuvSUuR
 gUy0CBcCdU32y7bopExNTBUs07tNZqZ5xPQ2+3Qm9EsPqHF6LzYn2hOYJU7X0CUF
 B0ZfOlrjNiHMxjcehYbc7xsAtM5kCeg01yi3GbrrifjrQI52mvFiwsgdZ9ofFtSd
 S2OKkg2UPguh2tF96FPBrrkO3dn3ToRThSHx55vAtjL5rU7wiVfGeI+TVrfB1hjF
 NsZ1OZe3bBmcYsl4QoEZEb1ew82Bq5VELHtS3CYL1ioeIEFSi2/EhyFQxq9F0UlS
 8np6qc3SZkSEwk3kJVaWUD4VG0HcksYvBgBNtPELgc0sq/fOqB7aL2FhA+J4j+Ma
 D938VxZi0/pD/xWJfVQ1
 =QWle
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pinctrl fixes from Linus Walleij:
 "Two smaller pin control fixes for the v4.11 series:

   - Add a get_direction() function to the qcom driver

   - Fix two pin names in the uniphier driver"

* tag 'pinctrl-v4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl: uniphier: change pin names of aio/xirq for LD11
  pinctrl: qcom: add get_direction function
2017-03-11 00:06:18 -08:00
Thomas Gleixner
40c50c1fec kexec, x86/purgatory: Unbreak it and clean it up
The purgatory code defines global variables which are referenced via a
symbol lookup in the kexec code (core and arch).

A recent commit addressing sparse warnings made these static and thereby
broke kexec_file.

Why did this happen? Simply because the whole machinery is undocumented and
lacks any form of forward declarations. The variable names are unspecific
and lack a prefix, so adding forward declarations creates shadow variables
in the core code. Aside of that the code relies on magic constants and
duplicate struct definitions with no way to ensure that these things stay
in sync. The section placement of the purgatory variables happened by
chance and not by design.

Unbreak kexec and cleanup the mess:

 - Add proper forward declarations and document the usage
 - Use common struct definition
 - Use the proper common defines instead of magic constants
 - Add a purgatory_ prefix to have a proper name space
 - Use ARRAY_SIZE() instead of a homebrewn reimplementation
 - Add proper sections to the purgatory variables [ From Mike ]

Fixes: 72042a8c7b ("x86/purgatory: Make functions and variables static")
Reported-by: Mike Galbraith <<efault@gmx.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Nicholas Mc Guire <der.herr@hofr.at>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: "Tobin C. Harding" <me@tobin.cc>
Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1703101315140.3681@nanos
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2017-03-10 20:55:09 +01:00
Linus Torvalds
24c534bb16 A fix for the recently discovered misdirected requests bug present in
jewel and later on the server side and all stable kernels, a fixup for
 -rc1 CRUSH changes and two usability enhancements: osd_request_timeout
 option and supported_features bus attribute.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQEcBAABCAAGBQJYwsEIAAoJEEp/3jgCEfOL34sH+wbYyT6uXQ3hlIoRt2FQNh5b
 F6qmvH4jYRI+YyjJHgE7lLEv7cq/PESPej2hrw9U7GAso0KEsazOv+qpj4AcW+u1
 arXYTIQQa2w9sCuj7/BrbEzDtnNOVnGyD3Ng0wAfvbxg/37xzqumkbccuWJm6GdH
 Vjk31G4ZmaOOr38jeo0AkYWgs7kgfthLMFo73TgHTBBO9fkQQQL1xZH5D/Irzf8P
 1ytfVyGeTl8D3szdkkOnc4eUFMwJ35wqesL+gAsQntx1/wDnGqa2IabXRs4oqr8F
 oT88LXSP8w2PaFKI1FrwOuMov6ngg38tir2SMxGDIQ6TdxtK8lW37Cx3eHavqtE=
 =f4Bs
 -----END PGP SIGNATURE-----

Merge tag 'ceph-for-4.11-rc2' of git://github.com/ceph/ceph-client

Pull ceph fixes from Ilya Dryomov:

 - a fix for the recently discovered misdirected requests bug present in
   jewel and later on the server side and all stable kernels

 - a fixup for -rc1 CRUSH changes

 - two usability enhancements: osd_request_timeout option and
   supported_features bus attribute.

* tag 'ceph-for-4.11-rc2' of git://github.com/ceph/ceph-client:
  libceph: osd_request_timeout option
  rbd: supported_features bus attribute
  libceph: don't set weight to IN when OSD is destroyed
  libceph: fix crush_decode() for older maps
2017-03-10 11:05:47 -08:00
Linus Torvalds
2baf38095c Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
 "Here are some driver bugfixes from I2C.

  Unusual this time are the two reverts. One because I accidently picked
  a patch from the list which I should have pulled from my co-maintainer
  instead ("missing of_node_put"). And one which I wrongly assumed to be
  an easy fix but it turned out already that it needs more iterations
  ("copy device properties")"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  Revert "i2c: copy device properties when using i2c_register_board_info()"
  Revert "i2c: add missing of_node_put in i2c_mux_del_adapters"
  i2c: exynos5: Avoid transaction timeouts due TRANSFER_DONE_AUTO not set
  i2c: designware: add reset interface
  i2c: meson: fix wrong variable usage in meson_i2c_put_data
  i2c: copy device properties when using i2c_register_board_info()
  i2c: m65xx: drop superfluous quirk structure
  i2c: brcmstb: Fix START and STOP conditions
  i2c: add missing of_node_put in i2c_mux_del_adapters
  i2c: riic: fix restart condition
  i2c: add missing of_node_put in i2c_mux_del_adapters
2017-03-10 09:56:16 -08:00