Commit graph

753663 commits

Author SHA1 Message Date
Linus Walleij
89b0b4e2d3 Merge branch 'gpio-reserved-ranges' into devel 2018-03-27 15:34:40 +02:00
Stephen Boyd
691bf5d5a7 pinctrl: qcom: Don't allow protected pins to be requested
Some qcom platforms make some GPIOs or pins unavailable for use
by non-secure operating systems, and thus reading or writing the
registers for those pins will cause access control issues and
reset the device. With a DT/ACPI property to describe the set of
pins that are available for use, parse the available pins and set
the irq valid bits for gpiolib to know what to consider 'valid'.
This should avoid any issues with gpiolib. Furthermore, implement
the pinmux_ops::request function so that pinmux can also make
sure to not use pins that are unavailable.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:34:25 +02:00
Stefan Agner
e6a49623a2 ARM: multi_v7_defconfig: configure I2C driver built-in
PMIC often require the I2C bus, and the PMIC regulators might be
necessary to power on eMMC/SD-card or other supplies required
for successful boot. Make sure I2C driver for i.MX devices is
built-in.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:34:22 +02:00
Stephen Boyd
726cb3ba49 gpiolib: Support 'gpio-reserved-ranges' property
Some qcom platforms make some GPIOs or pins unavailable for use by
non-secure operating systems, and thus reading or writing the registers
for those pins will cause access control issues. Add support for a DT
property to describe the set of GPIOs that are available for use so that
higher level OSes are able to know what pins to avoid reading/writing.
Non-DT platforms can add support by directly updating the
chip->valid_mask.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:34:20 +02:00
Stephen Boyd
ace56935ff gpiolib: Change bitmap allocation to kmalloc_array
We don't need to clear out these bits when we set them immediately
after. Use kmalloc_array() to skip clearing the bits.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:34:13 +02:00
Stephen Boyd
e4371f6e07 gpiolib: Extract mask allocation into subroutine
We're going to use similar code to allocate and set all the bits in a
mask for valid gpios to use. Extract the code from the irqchip version
so it can be reused.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:34:07 +02:00
Stephen Boyd
b9c725ed73 dt-bindings: gpio: Add a gpio-reserved-ranges property
Some qcom platforms make some GPIOs or pins unavailable for use
by non-secure operating systems, and thus reading or writing the
registers for those pins will cause access control issues.
Introduce a DT property to describe the set of GPIOs that are
available for use so that higher level OSes are able to know what
pins to avoid reading/writing.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: <devicetree@vger.kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Tested-by: Timur Tabi <timur@codeaurora.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:33:40 +02:00
Kunihiko Hayashi
d28db34a56 arm64: defconfig: add CONFIG_UNIPHIER_THERMAL and CONFIG_SNI_AVE
Enable the thermal monitor driver and the AVE ethernet driver
implemented on UniPhier SoCs.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:31:19 +02:00
Arnd Bergmann
99600b165f ARM64: stratix10: defconfig updates for 4.17
-enables STMMAC_ETH controller that is present on Stratix10
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJatR8yAAoJEBmUBAuBoyj0VKwQAKqhi0tzhJe2dnlu7ic5kNLv
 lfZ90As+XbPxhyyyCCNldd0d7fZltRrHRC5iYV43+ZIe3T/FCQ3bM6uCKMdiUP8i
 OtfchVf3SOO3x2AaVrRpetNiS6poV/1hugH3/4B/n9MFKMb8ZeLszRp3oUFcX9UZ
 ZdhzyNPPAuTV/j4IaXR3d7++cbVM+ep0vUMuR8T7sW3wjCqnhV1GieYN00w05Y6A
 cbS20o6yju3IXBSlzo6nyMlUuAcGYPCmth6F7gVLjWXfaiRYGcLMrqspaErcCJCC
 L32W0Fz9YqF6jI2zkghO1vhYiqR8qQPS38TU4OpkMMOP4utUYYOa7tvNTB+Yx2D5
 h6st3wbidr40RtnP/3ZVpd5bSvBQOkGg0643Hx8x14Z0TUzeUjdUqmmWlq3Y7Zet
 /aiwoPz7PtCRMvL5gwdR3JwPGNGaIPRmodhN7RjWre5CMOy7H8ICEKEReN4T++/9
 zDDPpgV3r5RbrcVY4B0yXBbPX02JgOEy/6H+hLBoF9JWJrvzq3tCeyzchGfWaEdo
 eyL3uzjIU4spd4YTsO38IK7KQPe8FVf+ymxZTxTRXAwRFyO/o4u+sGQ/g4sasSQQ
 zOKw832Bu2tqmGMQY3Tjej0Dv+Qze5Ub4ydhHwBNbTzMS/F+RPa3vlXMNYY+TDHh
 vV/21qw9lXEq9+KYro6i
 =53dx
 -----END PGP SIGNATURE-----

Merge tag 'stratix10_defconfig_for_v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/soc

Pull "ARM64: stratix10: defconfig updates for 4.17" from Dinh Nguyen:

-enables STMMAC_ETH controller that is present on Stratix10

* tag 'stratix10_defconfig_for_v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: defconfig: enable stmmac ethernet to defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:29:06 +02:00
Arnd Bergmann
34dacef1c3 Second set of defconfig changes for omap variants for v4.17
This series enables more devices working on droid4 to make it easier
 for people and distros to use out of the box.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlqz3MERHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNBZhAA5E4KkoNvZSlKv2oLoUQ0CuOA/F9WIKJ3
 bRcCNuLZSRSrrI7V739B69cR7e2HbSz4u4REYMdNwWI79IJBdlStqoy4UX2PMV0N
 jshHWR7GqOBWn3JLhCWXKmeo3ezq9LQiiIR7YfawD1evy+2CzgvjuEmJOk+FTGEF
 +K6A+fI/J5aTt/UcSXBgmhgjWjEoJp0NeDK1aSKB1GLid7owj5xjHqqbbkL2yin4
 Sn3Vs5diQbgAoypTxOlpObMSjv293gmlS/EmB2CPKdav0M178UxMd6O9zfbQV4Bc
 2iqxcIGUt558V9xAyGhv46Z6u4BlfzxaUVf4QksBM++Up9vwFYMkArUm0PUW30Wg
 x0VZkdqZ5Tc1IFjZ9cgrfOGLeyWvqqd5LX5enpUJVlUbjJv+pWzU9/mhGZxnCaxv
 Q8IUGgYRKwSsz2s95thACPmVa3vY9hOxcJe2KrlMzB8tDekerMFVL70W0WO2gnuH
 xYptRrwpioRbAny74vIssWnl4UaaJAKkrVRMeSbLyZ+J88JReHMuWyHPEfIVrIGw
 D4jWWWGHKd4gQ/h/dCmj2TU0Q2IHb8sUyx08GCngpsQT+jRHGW2ldDcsle9PYvwy
 aiXcQwWy+9J7hJvk1q/gWMJtS04EanvfIP7OsPMNzrxOhSD25zKZFh4voYQVU2TQ
 q6hx/TW16MI=
 =sOYq
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.17/defconfig-pt2-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "Second set of defconfig changes for omap variants for v4.17" from Tony Lindgren:

This series enables more devices working on droid4 to make it easier
for people and distros to use out of the box.

* tag 'omap-for-v4.17/defconfig-pt2-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: multi_v7_defconfig: Enable CPCAP related options mostly as loadable modules
  ARM: omap2plus_defconfig: Add UINPUT
  ARM: omap2plus_defconfig: Enable MDM6600 USB PHY
  ARM: omap2plus_defconfig: Add AUDIO_GRAPH_CARD
  ARM: omap2plus_defconfig: Enable PWM_VIBRA
2018-03-27 15:27:23 +02:00
Arnd Bergmann
b899e52261 Qualcomm ARM64 Based defconfig Updates for v4.17
* Enable cpufreq governors, QCOM TSENS, and QCOM APCS driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJasG8nAAoJEFKiBbHx2RXVLN4P/0iQyD8opqOynFRBPwgbLrVp
 VFF/TwALktbr0/0RneQG82ZWWFRgcx0ymAyJWpxZmTubLjwFAYvyEUL37cIN2DSM
 Oy8j7gvP7NB8F9lrjEaFgLMh8umsooPB9qpi2i/EgO9kzQayEo+ZmRu0bOAVzcA8
 Jua/GHFWdHOHPnPPdKkLLxhz7+KG07I6xVcnEitHOobg9cMEM9n6h0f1/jpm9seK
 /9d0MtU6LkcSyosbv9rH1Z305P1mJqmFXXq/LBr1B0y5O3ccNE3jU5m0Rn4WS4ML
 TIt478tZfUwifwTrfWKAHsuxmuuOLjEXREk+jk9NZXLKNl98nn57fdJOsl5ExrcW
 WpU17VUe3NihEa6XYPJYDLfUPfsD/E61fsvNX2gqcWJzPEnQnP0dBHzAOQqpu5Gd
 muvyFdDB8iaJ2j8RKPh/qxJftB0lVfIdnAsfuCugc0hC1Lw3LWhACtGtJRLb14JO
 Y7hi44GpuA00MX+QewoOPKat03j1TUQ5tKr36F3GymsLnzkDtwZ5x3GNsIT/zP2F
 ttGAYv8DHVttpdctspsw+9gcZRPdmmGG2nxcWLuxG+1ak0Wwb9ySHRQKRm41O7QV
 vXzRpQaBQWvIqMF0JGsB6/9tyULPvxkIIizJQTHm8MwcKXI+z2HR5wqS+e1oO7Zr
 Dk+oS9TZ6Tj42pNDiO0H
 =VRMu
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/soc

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

* Enable cpufreq governors, QCOM TSENS, and QCOM APCS driver

* tag 'qcom-arm64-defconfig-for-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: defconfig: enable more cpufreq governors
  arm64: defconfig: enable thermal sensor on QCOM platforms
  arm64: defconfig: Enable the APCS IPC driver on Qualcomm platforms

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:26:32 +02:00
Arnd Bergmann
fa00c449b7 This augments the RealView and Versatile defconfig to use the PL111
DRM driver rather than the old fbdev driver.
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJasF+5AAoJEEEQszewGV1zJgkQAJTBwdiHz27RVKEONPkPcnFd
 v95Molxg55Zyj38jJiLx4TVbNuIdshafh8GD584Au4Pc7mkqLoYnqPKJXRMAshPG
 k77UJgJkbUYhY1/WrxIi9WmuPr7UEaKz1xCl37cKU9tu7tNMm5K89xAsj9Kk9/D+
 PgAMza/G4h13UiEN/HWa4uwzjuy+HQWPji2kNJm8k3Vt/fd7eFfUK8POBJPLXP9z
 FCg5CncgRfbpExM1wt305yBX5RxNJsL86wV/BiOGPeaJ1zvx6jOQsCjp527SehMi
 w6icPRAb4pRibDmtMXudLxh/YiZd3RsrIktC8HHdg48cdEf8x8/30POM5sy5sIqs
 uQABdCIRQQI2tLF2ljIt5LKFmVykC/JTYWF0t+0faV6GICL2NuXiiRY8jINgK+rD
 dRoNtqz+0LH0p0Kkb3diyP8kt0p8O9iso0SlliKkrfvGW8Kcy8rok/qB0CbQnE2u
 nNycoarV48P+IH7Q1AMEca6SI5/rs3j0v0v1/oc6UoPmx6VGcNwUbfI/ylpo0ckC
 MMEborBmQBKnm9BosTRgweDuLMuz94nZti82KgoNvoqPyukcmoYFYqqfuak6aaVi
 EAE3MFNl+pte1rUx/YBO4ks9LgoxMOezY1VNZYE7hM6OqOB8U1RlHB2vjQN7mFpK
 KupmpNphbEi010ls2v8C
 =Yh10
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-versatile-drm-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc

Pull "defconfig changes for Versatile DRM" from Linus Walleij:

This augments the RealView and Versatile defconfig to use the PL111
DRM driver rather than the old fbdev driver.

* tag 'armsoc-versatile-drm-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: defconfig: Configure Versatile boards to use PL111 DRM
  ARM: defconfig: Update Versatile defconfig
  ARM: defconfig: Switch RealView boards to use P111 DRM
  ARM: defconfig: Update RealView defconfig
2018-03-27 15:24:47 +02:00
Arnd Bergmann
8d361e4018 Amlogic defconfig fixes for v4.17
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlqwTPQACgkQWTcYmtP7
 xmURCA/7BU3RsiPbXxYsx2k7LzQaCvOpyNRU/cCNLv8BfWMZUNKRilr+dzCF5ImA
 OEeZv/Lp1fqn7ATfR5Qgq2bqnIVmBx54axKXKUgR30BzUKVIuSuhVvqnDZBCvX5C
 7JAzHnJojYek+BnZa11PCjsZsMurctprDzS/qsQ6E4TaeZ2jT+iDtzw26GZn0/RH
 e1NMrEwmQ1jN5QGxpdnHO5NKEI87wBTnz3HGLDpGzdFjHN5Q/cT3VPj9E/r6J7kC
 z4ER6WDfc1ZvR5wbE6pJk/ny17AY1eVSLnnrp1evPI1Hk6f1a/EIpx6NLy+5w22G
 Kvj+49f/c77L+FT+8lMzNjl2/xrUNk0z1kPVYGt/thXonGZfPz1M0vYBjQvy5/or
 puixIL7GiLpsQerk86/pT3crS3z1aRIytQBgkHFPyoFq07c2K7vi3Uc6Pj4zkoCo
 YI4mTt6Kg37WzEbGlhbriS3nc8QGOSDSwzHO66AidF9xOgsACZditza13yILvw6O
 mbWled0HwQqgBWxbfbSRrPDL6SPeaBVJXJH3CjLkgk4NshD94IFAR5ZqRuFI1kmB
 RXmhdB+kw1/4fOH6Ym9CLfTiLk94IFH9ikncKK+iJuFOaSTDpM56fyb2LF2HwKTl
 rESyM1RHfFWlYy0WjUlUa8ZKAmC3GEGis92LXFy0IY9p72TGNZc=
 =9d12
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/soc

Pull "Amlogic defconfig fixes for v4.17" from Kevin Hilman

* tag 'amlogic-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: defconfig: enable MESON EFUSE
2018-03-27 15:22:43 +02:00
Gregory CLEMENT
0fdd2cd674 arm: dts: armada-385-turris-omnia: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
Acked-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:45 +02:00
Gregory CLEMENT
696241a4ae arm: dts: armada-385-db-ap: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:44 +02:00
Gregory CLEMENT
681ca8a8d1 arm: dts: armada-388-rd: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:43 +02:00
Gregory CLEMENT
34456c7acd arm: dts: armada-xp-db-xc3-24g4xg: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:43 +02:00
Gregory CLEMENT
45d33aa5d7 arm: dts: armada-xp-db-dxbc2: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:42 +02:00
Gregory CLEMENT
c04ceb9aee arm: dts: armada-370-db: use SPDX-License-Identifier
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:41 +02:00
Gregory CLEMENT
ca36855ef0 arm: dts: armada-*.dts: use SPDX-License-Identifier for most of the Armada based board
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:20:34 +02:00
Dan Carpenter
5607dddbfc ALSA: pcm: potential uninitialized return values
Smatch complains that "tmp" can be uninitialized if we do a zero size
write.

Fixes: 02a5d6925c ("ALSA: pcm: Avoid potential races between OSS ioctls and read/write")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2018-03-27 15:20:19 +02:00
Bartosz Golaszewski
6cb9215bae gpio: mockup: fix a potential crash when creating debugfs entries
If we failed to create the top debugfs directory, we must not try to
create the child nodes. We currently only check if gpio_mockup_dbg_dir
is not NULL, but it can also contain an errno if debugfs is disabled
in build options. Use IS_ERR_OR_NULL() instead.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:18:20 +02:00
H. Nikolaus Schaller
3a711e0dd4 gpio: pca953x: add compatibility for pcal6524 and pcal9555a
The Pyra-Handheld originally used the tca6424 but recently we have
replaced it by the pin and package compatible pcal6524. So let's
add this to the bindings and the driver.

And while we are at it, the pcal9555a does not have a compatible entry
either but is already supported by the device id table.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:18:20 +02:00
Phil Edworthy
e6bf37736f gpio: dwapb: Add support for a bus clock
Enable an optional bus clock provided by DT.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:18:19 +02:00
Laura Abbott
13b5319e92 gpio: Remove VLA from xra1403 driver
The new challenge is to remove VLAs from the kernel
(see https://lkml.org/lkml/2018/3/7/621)

This patch replaces a VLA with an appropriate call to kmalloc_array.

Signed-off-by: Laura Abbott <labbott@redhat.com>
Reviewed-by: Nandor Han <nandor.han@ge.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:18:19 +02:00
Laura Abbott
48da181dac gpio: Remove VLA from MAX3191X driver
The new challenge is to remove VLAs from the kernel
(see https://lkml.org/lkml/2018/3/7/621)

This patch replaces several a VLA with an appropriate call to
kmalloc_array.

Signed-off-by: Laura Abbott <labbott@redhat.com>
Reviewed-and-tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:18:06 +02:00
Arnd Bergmann
8045f29754 Defconfig updates for omap variants for v4.17 merge window
We need to enable MMC_SDHCI option in both omap2plus_defconfig and
 multi_v7_defconfig so systems are able to mount root when the dts files
 get updated for sdhci.
 
 Then let's update omap2plus_defconfig so we can patch it easier. And as
 Arnd noticed earlier, just running make savedefconfig will accidentally
 drop few Kconfig options. This is happening because some options are no
 longer available as loadable modules like LIRC. Or new dependencies have
 been added such as SND_OSSEMUL for selecting SOUND_OSS_CORE.
 
 So we first move the unchanged options around to their make savedefconfig
 suggested place, then update the options to prevent make savedefconfig
 dropping some options accidentally, and then finally drop the unused
 options.
 
 And after that we enable options DRM_OMAP and 8250_OMAP. These both have
 been around for years now. And we do have 8250_OMAP warn about console
 being redirected with SERIAL_8250_OMAP_TTYO_FIXUP option that is enabled
 by default. Some users may need to update their inittab to use ttyS*
 instead of ttyO* though. If this turns out to be a problem, we may want
 to introduce a separate compatible for 8250-omap. But I think we're good
 to go with the SERIAL_8250_OMAP_TTYO_FIXUP warning now. Let's not update
 multi_v7_defconfig yet though and first see how 8250_OMAP change plays
 out.
 
 We also enable few new options for PM on am335x and am437x, and CEC in
 omap2plus_defconfig. Naturally similar options can be later on added to
 multi_v7_defconfig, but in this series we only enable OTG, MUSB and the
 related PHYs in multi_v7_defconfig to make it more usable for distros.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlqr41kRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNxjQ/+MgYwuKg0LqS08IAWjhvX/IMusflvEeDg
 GT7hnBSV/8O9yqSwwqKYAKimxIZQxrYfEd6Bhv7RZqRfP91VruM+WRAi1ka1aglB
 uVRmoIlGV8hcvys84y0S3xyNUlX5GKit3EYtYjP/qZfJceonZyf89U2GD6tGIrb4
 uSsGhnqGjJ9cektWHG8SHrBfoxSGDmjWjdzcar6B4/oybwnvdCcjqlbu1+qfmvRC
 GICglk9ud2EeisCzSk7bvQIjVHsgziL9czoeyb37I0IeKfG+7RS5mUjdCM35KF5f
 OYgWkE1aqimhWG7ktZgI3VQQ89yNT3d1erhO8ZEsHTCS47vHJ4oYi6JXY+20Fp+0
 UQKhKNWmv7GHkH60Sgd85dK3p7NuuBEzTcNJjMbJLzyPYWnphk64W6wylwiwTSW0
 JWue4rax4t9akfaFfctF7k9F5Cskxj++t7aIg2xJutzEnuXR8L/p+u3dmEKEq9Jl
 0dfhrwM+ceznXNACgVsZK4QUnHQCp/WPIWZc7YEWrCjfgNU/Q4j3n4DyPhZ2gEXS
 h8l1ESLjUDoPy5GoX6Mfx06G2ImSOLdvFArWmVfi/uhPsaozi3cmrBEvCIRFRDg7
 8vWB1r+aK928mL6zUmmpCv5YoZl7f7Fxnu4vBDbGn3FDKLWUaVXesdU9GmTc0jq3
 KT55Il7PVxo=
 =JiEi
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.17/defconfig-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "Defconfig updates for omap variants for v4.17 merge window"
from Tony Lindgren:

We need to enable MMC_SDHCI option in both omap2plus_defconfig and
multi_v7_defconfig so systems are able to mount root when the dts files
get updated for sdhci.

Then let's update omap2plus_defconfig so we can patch it easier. And as
Arnd noticed earlier, just running make savedefconfig will accidentally
drop few Kconfig options. This is happening because some options are no
longer available as loadable modules like LIRC. Or new dependencies have
been added such as SND_OSSEMUL for selecting SOUND_OSS_CORE.

So we first move the unchanged options around to their make savedefconfig
suggested place, then update the options to prevent make savedefconfig
dropping some options accidentally, and then finally drop the unused
options.

And after that we enable options DRM_OMAP and 8250_OMAP. These both have
been around for years now. And we do have 8250_OMAP warn about console
being redirected with SERIAL_8250_OMAP_TTYO_FIXUP option that is enabled
by default. Some users may need to update their inittab to use ttyS*
instead of ttyO* though. If this turns out to be a problem, we may want
to introduce a separate compatible for 8250-omap. But I think we're good
to go with the SERIAL_8250_OMAP_TTYO_FIXUP warning now. Let's not update
multi_v7_defconfig yet though and first see how 8250_OMAP change plays
out.

We also enable few new options for PM on am335x and am437x, and CEC in
omap2plus_defconfig. Naturally similar options can be later on added to
multi_v7_defconfig, but in this series we only enable OTG, MUSB and the
related PHYs in multi_v7_defconfig to make it more usable for distros.

* tag 'omap-for-v4.17/defconfig-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: multi_v7_defconfig: Enable USB gadget configfs as loadable module
  ARM: multi_v7_defconfig: Enable various USB PHYs found on omap variants
  ARM: multi_v7_defconfig: Enable OTG and MUSB as loadable modules
  ARM: omap2plus_defconfig: Enable 8250_OMAP
  ARM: omap2plus_defconfig: Switch to use omapdrm by default
  ARM: omap2plus_defconfig: Enable CEC
  ARM: omap2plus_defconfig: Enable am335x and am437x PM options
  ARM: omap2plus_defconfig: Drop unneeded options
  ARM: omap2plus_defconfig: Add SND_OSSEMUL
  ARM: omap2plus_defconfig: Update LIRC options
  ARM: omap2plus_defconfig: Select MFD_TI_LMU
  ARM: omap2plus_defconfig: Add SERIAL_DEV for bluetooth
  ARM: omap2plus_defconfig: Update for moved options
  ARM: omap2plus_defconfig: Enable CONFIG_MMC_SDHCI_OMAP
  ARM: multi_v7_defconfig: Enable CONFIG_MMC_SDHCI_OMAP

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:17:53 +02:00
Kunihiko Hayashi
4fc97ef94b pinctrl: uniphier: add UART hardware flow control pin-mux settings
UniPhier SoCs have the following pins for hardware flow control of UART:
  XRTS, XCTS
and for modem control of UART:
  XDTR, XDSR, XDCD, XRI

The port number with the flow control is SoC-dependent.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:14:43 +02:00
Arnd Bergmann
9b95a1b8ba Renesas ARM Based SoC Defconfig Updates for v4.17
Updates to shmobile defconfig:
 
 * Redresh defconfig to ease future maintenence overhead
 
 * Disable CONFIG_EMBEDDED
 
   Geert Uytterhoeven says "CONFIG_EXPERT exposes too many config options
   that do not matter for development.  E.g. it prohibits using the default
   values for the various SH_SCI options.  However, CONFIG_EMBEDDED selects
   CONFIG_EXPERT, so it cannot be disabled.
 
   Hence disable CONFIG_EMBEDDED, and compensate for the loss of
   CONFIG_DEBUG_KERNEL by enabling the latter.
 
   Actual impact, all harmless:
     - CONFIG_NAMESPACES=y (plus a few related CONFIG_*_NS options),
     - CONFIG_SYSCTL_SYSCALL=n,
     - CONFIG_SERIAL_SH_SCI_NR_UARTS changed from 20 to 18,
     - Some HID support became enabled,
     - CONFIG_DEBUG_MEMORY_INIT=y,"
 
 * Enable RZA1 pin controller
 
   This allows the Genmai board with RZ/A1 (r7s72100) SoC to once
   again boot using the shmobile defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlqrxKEACgkQ189kaWo3
 T74k2hAAijFk6suGGzLl+03XL/iT/C95iOFgkzJlbQB1OiU4WFlfrOfq2CXEZwIw
 ccAKiVDhaw2WEFDRrAlLDx95yP7vrzQnCDPLE8CM/ulWLFTbNgdfwNska0blE+++
 kE/o6ljyutc5TScDZU/aKJoA/VJ48ud/N7nf2X4Lnkp+ClaFq/DOiI/fo78yKm56
 XlMN6V7p2vUUna6yvFJQMgX27rDFDGSujZnZX3XKLEPlLLCQS0gFzSKmX5matyL9
 j3QtCgFqENSWsOxjpWCfyTyaa5Ovs65LeYR352itKWIfqemRmcNkyhoVcQmkhz57
 T41ZXULCYs7R5gCY3gywBhIZ7hwhFJq/RnAnHBDZJ9i3QdtRlVLNzgvqTGpQ7SWR
 j9j8n+Nnopj4mdqaM3ri80NDMiVjfQnzAbAN5UXbYgTAlKbsBSQkX9hBhl5Vst4B
 uvNe4dNWodVS3wCBea9cw7aRbkBnZ3fElbkNX0KaRMtLinjNj0dXkTIcLTJz1P6g
 baGeC+gZnk20OqMEM0CHn/FjWFofJ7QcBmmTyhf+IBb6nScR8Fjku8AKeFM6zsls
 Zz3Xzfc8DJ08RGLHCuu9hwB1WREPIcE8rXrpuFj/LBCHtbb7T/dCGoqiJN6oy+Ti
 LOoT7E2eTgVJSI3p+LYhigSDiGN3eczlbxIdMqdXOv/piPyqI+k=
 =+vqH
 -----END PGP SIGNATURE-----

Merge tag 'renesas-defconfig-for-v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC Defconfig Updates for v4.17" from Simon Horman:

Updates to shmobile defconfig:

* Redresh defconfig to ease future maintenence overhead

* Disable CONFIG_EMBEDDED

  Geert Uytterhoeven says "CONFIG_EXPERT exposes too many config options
  that do not matter for development.  E.g. it prohibits using the default
  values for the various SH_SCI options.  However, CONFIG_EMBEDDED selects
  CONFIG_EXPERT, so it cannot be disabled.

  Hence disable CONFIG_EMBEDDED, and compensate for the loss of
  CONFIG_DEBUG_KERNEL by enabling the latter.

  Actual impact, all harmless:
    - CONFIG_NAMESPACES=y (plus a few related CONFIG_*_NS options),
    - CONFIG_SYSCTL_SYSCALL=n,
    - CONFIG_SERIAL_SH_SCI_NR_UARTS changed from 20 to 18,
    - Some HID support became enabled,
    - CONFIG_DEBUG_MEMORY_INIT=y,"

* Enable RZA1 pin controller

  This allows the Genmai board with RZ/A1 (r7s72100) SoC to once
  again boot using the shmobile defconfig.

* tag 'renesas-defconfig-for-v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: defconfig: Disable CONFIG_EMBEDDED
  ARM: shmobile: defconfig: Refresh
  ARM: shmobile: Enable RZA1 pin controller
2018-03-27 15:13:50 +02:00
Arnd Bergmann
89fe3e9b55 Renesas ARM64 Based SoC Defconfig Updates for v4.17
Enable the following to allow them to be more widely exercised:
 * Newly added R8A77965 and R8A77980 SoCs
 * PWM and USB as used on R-Car Gen3 SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlqrsFAACgkQ189kaWo3
 T74aUA//XqcEz2mbp+CnO6tfAhRnWP9tAQ4MTOvs9TaWR0k97dFIWskVta5Q78eE
 NHsHtmsck0WX+MsBq/aLJ6Vch2QsUn+e/KcaV2UyjLOeL4g4KJYLF2S0iVoiNRW+
 7HmL0Lv5HyI64fGRHzO8BrrGFEYm0l54eRkg74GiQoLApyJmd/2sMsgxT7cWVpp7
 pjQzTfIzI+Z0h5S83paCInZVaLztmvTnm1ZVoxjHwgtHOHgjmm+6Tn5YDyv5AxG1
 xkfYH5rREOPpdj7ZcLktzQ7XPfXqGiwT3qPmx8MuXSRrG4AcTaNSYtqfr2S6yLm5
 PlY0352xLSt+sBZw3va0sobcZOGxkPAmwwycw6yU0FST/hSgpbVIKmCetFD2aYIg
 jltBUzRN5ST1A0/i9IAG1lruwYyzzVH/h40AQcH4CT5HvLI8k1e0Omp0N2eJie4c
 1esYFW453l1+VyHPGan7Nmj/dgh8pDvu1GQyqdEPnMoP1YnkiMkhc9JuMDTrARWS
 KdRLc9ysPUpHsyEh1RH/0nlc0262tw7l+HEQiPCT8iaY+x6iYLoxwXkRz8KYiwN9
 MrZo3eqOjJdL5FXO8C/Z577jOYaZv8/do9FeEQdmVdqObgnDcJdKYenFxBXpr3RX
 mruqjrctjcUwQ632ZSR0gf/su7E4rS3qpH+X8T8D6RxbER232fg=
 =heZq
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-defconfig-for-v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

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

Enable the following to allow them to be more widely exercised:
* Newly added R8A77965 and R8A77980 SoCs
* PWM and USB as used on R-Car Gen3 SoCs

* tag 'renesas-arm64-defconfig-for-v4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: enable R8A77965 SoC
  arm64: defconfig: Enable PWM and USB for R-Car
  arm64: defconfig: enable R8A77980 SoC
2018-03-27 15:12:54 +02:00
Robin Murphy
dcd189e6d2 iommu/arm-smmu-v3: Support 52-bit virtual address
Stage 1 input addresses are effectively 64-bit in SMMUv3 anyway, so
really all that's involved is letting io-pgtable know the appropriate
upper bound for T0SZ.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:06 +01:00
Robin Murphy
6619c91385 iommu/arm-smmu-v3: Support 52-bit physical address
Implement SMMUv3.1 support for 52-bit physical addresses. Since a 52-bit
OAS implies 64KB translation granule support, permitting level 1 block
entries there is simple, and the rest is just extending address fields.

Tested-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:06 +01:00
Robin Murphy
6c89928ff7 iommu/io-pgtable-arm: Support 52-bit physical address
Bring io-pgtable-arm in line with the ARMv8.2-LPA feature allowing
52-bit physical addresses when using the 64KB translation granule.
This will be supported by SMMUv3.1.

Tested-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:05 +01:00
Robin Murphy
7417b99c49 iommu/arm-smmu-v3: Clean up queue definitions
As with registers and tables, use GENMASK and the bitfield accessors
consistently for queue fields, to save some lines and ease maintenance
a little. This now leaves everything in a nice state where all named
field definitions expect to be used with bitfield accessors (although
since single-bit fields can still be used directly we leave some of
those uses as-is to avoid unnecessary churn), while the few remaining
*_MASK definitions apply exclusively to in-place values.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:05 +01:00
Robin Murphy
ba08bdcbf7 iommu/arm-smmu-v3: Clean up table definitions
As with registers, use GENMASK and the bitfield accessors consistently
for table fields, to save some lines and ease maintenance a little. This
also catches a subtle off-by-one wherein bit 5 of CD.T0SZ was missing.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:05 +01:00
Robin Murphy
cbcee19ac4 iommu/arm-smmu-v3: Clean up register definitions
The FIELD_{GET,PREP} accessors provided by linux/bitfield.h allow us to
define multi-bit register fields solely in terms of their bit positions
via GENMASK(), without needing explicit *_SHIFT and *_MASK definitions.
As well as the immediate reduction in lines of code, this avoids the
awkwardness of values sometimes being pre-shifted and sometimes not,
which means we can factor out some common values like memory attributes.
Furthermore, it also makes it trivial to verify the definitions against
the architecture spec, on which note let's also fix up a few field names
to properly match the current release (IHI0070B).

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:04 +01:00
Robin Murphy
1cf9e54e91 iommu/arm-smmu-v3: Clean up address masking
Before trying to add the SMMUv3.1 support for 52-bit addresses, make
things bearable by cleaning up the various address mask definitions to
use GENMASK_ULL() consistently. The fact that doing so reveals (and
fixes) a latent off-by-one in Q_BASE_ADDR_MASK only goes to show what a
jolly good idea it is...

Tested-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:04 +01:00
Nate Watterson
940ded9c21 iommu/arm-smmu-v3: limit reporting of MSI allocation failures
Currently, the arm-smmu-v3 driver expects to allocate MSIs for all SMMUs
with FEAT_MSI set. This results in unwarranted "failed to allocate MSIs"
warnings being printed on systems where FW was either deliberately
configured to force the use of SMMU wired interrupts -or- is altogether
incapable of describing SMMU MSI topology (ACPI IORT prior to rev.C).

Remedy this by checking msi_domain before attempting to allocate SMMU
MSIs.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Nate Watterson <nwatters@codeaurora.org>
Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:03 +01:00
Robin Murphy
4c8996d7d7 iommu/arm-smmu-v3: Warn about missing IRQs
It is annoyingly non-obvious when DMA transactions silently go missing
due to undetected SMMU faults. Help skip the first few debugging steps
in those situations by making it clear when we have neither wired IRQs
nor MSIs with which to raise error conditions.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-03-27 14:12:03 +01:00
Arnd Bergmann
6a5f82e06a arm64: Default configuration updates for v4.17-rc1
Enable the BPMP thermal and CPU frequency drivers as well as make sure
 that the Tegra SMMU is enabled by default because there's no fun without
 it. Also enable initial Tegra194 support.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlqr0O4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zocYJD/sFwO8dYXUhaRH9rS586XhNzxdMaRFe
 q6/NDZ/K0KQ92BMvMDYYJBn8TqeuesEDCv08DWizYO8Bjpw1jcJyKZe3so631kak
 CvAI8RZHVAe/E7jKLxvS+WcYxblMfZ9/4k9/ASVK7VreodNwRx07ftHaLv41tXUl
 prgIf8xaeRAjs8pWAOYVT5wjMVK/1qORyZty0C93BapawMGDKLl6+geVyb8JlH2K
 RQ1VNbMzeLfOHLNuU/34cViO4LaGlesjIxuVtKqmsp0qBFoqqtLfCtdpZ5BZj519
 3FGwXdO5KZMQ8SosNmE8nfdU7fixDSjmu67Kei185Huko9F+jFLNsMsefBYOG9Hh
 EmU0+KPJTpcEUlWi//Vr3VRXJ+1iwLrAmgCYYgTPSApasTs5jBPdM2PM1bxDdkqc
 zB7daX8DAK5mb7Hfld70ZpfuWGMkHqNabDcnvL5bDOMVgFH0animARxX/Gr4ktCa
 KBp4zwlv7xJq9yLIMbvOgCwjEWqMAYrPHPaQ15AgMkzucb32j7WCpnk+M2YmXuOh
 pgzziU27pGO5D/NbHjSVku4O/XZWjFiCHy2tbYtFEt0pz4QLGRG/jm2CA1woAIVp
 J5NDKqZ8irfyk5ZIKUA6lhkg2SxZ9E/Ua8WyvF07DjpPykGrNDwRcazh/LYXryYh
 raRtzJij4wdoJA==
 =Lnk+
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.17-arm64-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc

Pull "arm64: Default configuration updates for v4.17-rc1" from Thierry Reding:

Enable the BPMP thermal and CPU frequency drivers as well as make sure
that the Tegra SMMU is enabled by default because there's no fun without
it. Also enable initial Tegra194 support.

* tag 'tegra-for-4.17-arm64-defconfig' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: Enable the Tegra SMMU by default
  arm64: defconfig: Enable CONFIG_TEGRA_BPMP_THERMAL
  arm64: defconfig: Enable CONFIG_ARM_TEGRA186_CPUFREQ
  arm64: defconfig: Enable NVIDIA Tegra194 support
2018-03-27 15:11:46 +02:00
Arnd Bergmann
93be39bf1a i.MX defconfig updates for 4.17:
- Re-sync defconfig files by running savedefconfig.
  - Enable generic fsl-asoc-card driver for imx_v4_v5_defconfig.
  - Enable MAG3110 magnetometer sensor driver, AC97 and WM8962 codec
    driver, DA9062/63 PMIC, RTC and Watchdog support for
    imx_v6_v7_defconfig.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJauNo2AAoJEFBXWFqHsHzOX5EH/1Z32tGUXCUIsUG7555ieFSv
 rz0akBA9nM1VJxKPuKk4tlmsGmSIwlZi0//C/dnAUn/dXxZu8nBBfpYp2Scaw/vM
 jS7XXDRc/UWPjgp+9hRHcaCY2M0ZTgzpeIn0ycDYu5P+NdMhRVOUO5RmkXwCeSrs
 RIEdkaeGCoVhaLEdISnUNCNP3z+xI+b8WkyhlRiS8hDULOjAFTd7VnNDUUwchUJT
 Sq9Z26wa8d3WA9VWY9JAfkVj0uTcsxVXwGmrcJVH1ZsvptQ/WFAZUp3vDuiQQJ3O
 lygc7t1vYZjEUfhTmsf6VMiL+ap5ZA6ZOrUQJcHx35NmUnzKBp9gV79e24nmBVE=
 =NXO6
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc

Pull "i.MX defconfig updates for 4.17" from Shawn Guo:

 - Re-sync defconfig files by running savedefconfig.
 - Enable generic fsl-asoc-card driver for imx_v4_v5_defconfig.
 - Enable MAG3110 magnetometer sensor driver, AC97 and WM8962 codec
   driver, DA9062/63 PMIC, RTC and Watchdog support for
   imx_v6_v7_defconfig.

* tag 'imx-defconfig-4.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: mxs_defconfig: Re-sync defconfig
  ARM: imx_v4_v5_defconfig: Use the generic fsl-asoc-card driver
  ARM: imx_v4_v5_defconfig: Re-sync defconfig
  ARM: imx_v6_v7_defconfig: Select CONFIG_SND_SOC_WM8962 explicitly
  ARM: imx_v6_v7_defconfig: Re-sync defconfig
  ARM: imx_v6_v7_defconfig: Enable Dialog Semiconductor DA9062 driver
  ARM: imx_v6_v7_defconfig: Enable AC97 codec support
  ARM: imx: Update imx_v6_v7_defconfig for mag3110 support
  ARM: imx_v6_v7_defconfig: enable OP-TEE
  ARM: imx_v6_v7_defconfig: select the CONFIG_CPUFREQ_DT
2018-03-27 15:10:12 +02:00
Arnd Bergmann
18b6843f96 ARM: imx: fix imx6sll-only build
When selecting SOC_IMX6SLL but not SOC_IMX6SL, we get a link error:

arch/arm/mach-imx/mach-imx6sl.o: In function `imx6sl_init_late':
mach-imx6sl.c:(.init.text+0x14): undefined reference to `imx6sl_cpuidle_init'

This adds the missing line to the Makefile to also build the cpuidle
support that we need here.

Fixes: dee5dee2a5 ("ARM: imx: Add basic msl support for imx6sll")
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:09:57 +02:00
Arnd Bergmann
da395584b8 ARM: imx: select ARM_CPU_SUSPEND for CPU_IDLE as well
The cpuidle support calls cpu_suspend(), which is compiled conditionally,
and fails to link unless something selects CONFIG_ARM_CPU_SUSPEND.

arch/arm/mach-imx/cpuidle-imx6sx.o: In function `imx6sx_enter_wait':
cpuidle-imx6sx.c:(.text+0x6c): undefined reference to `cpu_suspend'

This adds an explicit select statement here.

Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-03-27 15:09:55 +02:00
Icenowy Zheng
c8a8309049 pinctrl: sunxi: add support for the Allwinner H6 main pin controller
The Allwinner H6 SoC has two pin controllers, one main controller
(called CPUX-PORT in user manual) and one controller in CPUs power
domain (called CPUS-PORT in user manual).

This commit introduces support for the main pin controller on H6.

The pin bank A and B are not wired out and hidden from the SoC's
documents, however it's shown that the "ATE" (an AC200 chip
co-packaged with the H6 die) is connected to the main SoC die via these
pin banks. The information about these banks is just copied from the BSP
pinctrl driver, but re-formatted to fit the mainline pinctrl driver
format. The GPIO functions are dropped, as they're impossible to use --
except a GPIO&IRQ only pin (PB20) which might be the IRQ of ATE.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:09:42 +02:00
Gregory CLEMENT
d816b3cc77 arm: dts: armada-xp-98dx: use SPDX-License-Identifier for prestara 98d SoCs
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:09:29 +02:00
Gregory CLEMENT
69f5689b6b arm: dts: armada-*.dtsi: use SPDX-License-Identifier for most of the Armada SoCs
Follow the recent trend for the license description, and also fix the
wrongly stated X11 to MIT.

As already pointed on the DT ML, the X11 license text [1] is explicitly
for the X Consortium and has a couple of extra clauses. The MIT
license text [2] is actually what the current DT files claim.

[1] https://spdx.org/licenses/X11.html
[2] https://spdx.org/licenses/MIT.html

Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:07:53 +02:00
Icenowy Zheng
35817d34bd pinctrl: sunxi: change irq_bank_base to irq_bank_map
The Allwinner H6 SoC have its pin controllers with the first IRQ-capable
GPIO bank at IRQ bank 1 and the second bank at IRQ bank 5.

Change the current code that uses IRQ bank base to a IRQ bank map, in
order to support the case that holes exist among IRQ banks.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:07:49 +02:00
Russell King
29e36c1f63 ARM: dts: armada388-clearfog: add SFP module support
Add SFP module support for Clearfog using the SFP phylink support.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:07:46 +02:00
Hauke Mehrtens
aab9581a7d ARM: dts: armada-385-linksys: Disable internal RTC
The internal RTC does not work correctly on these Linksys boards based
on Marvell SoCs. For me it only shows Wed Dec 31 23:59:59 1969 and for
others it is off by 3 minutes in 10 minutes running, this was reported
by multiple users. On the Linksys Mamba device the device tree comment
says that no crystal is connected to the internal RTC, this is probably
also true for the other devices.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-03-27 15:07:46 +02:00
Icenowy Zheng
29dfc6bbcc pinctrl: sunxi: introduce IRQ bank conversion function
The Allwinner H6 SoC have its pin controllers with the first IRQ-capable
GPIO bank at IRQ bank 1 and the second bank at IRQ bank 5. Some
refactors in the sunxi pinctrl framework are needed.

This commit introduces a IRQ bank conversion function, which replaces
the "(bank_base + bank)" code in IRQ register access.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-03-27 15:06:25 +02:00