"unlikely(WARN_ON(x))" is excessive. WARN_ON() already uses unlikely()
internally.
Signed-off-by: Denis Efremov <efremov@linux.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Joe Perches <joe@perches.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
This adds a driver to communicate with the firmware running on the
secure processor of the Turris Mox router, enabling the kernel to
retrieve true random numbers from the Entropy Bit Generator and to read
some information burned into eFuses when device was manufactured:
and to
sign messages with the ECDSA private key burned into each Turris Mox
device when manufacturing.
This also adds support to read other information burned into eFuses:
- serial number
- board version
- MAC addresses
- RAM size
- ECDSA public key (this is not read directly from eFuses, rather it
is computed by the firmware as pair to the burned private key)
The source code of the firmware is open source and can be found at
https://gitlab.labs.nic.cz/turris/mox-boot-builder/tree/master/wtmi
The firmware is also able to, on demand, sign messages with the burned
ECDSA private key, but since Linux's akcipher API is not yet stable
(and therefore not exposed to userspace via netlink), this functionality
is not supported yet.
Link: https://lore.kernel.org/r/20190822014318.19478-3-marek.behun@nic.cz
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds device tree binding documentation for the driver communicating
with the rWTM firmware on Turris Mox.
Link: https://lore.kernel.org/r/20190822014318.19478-2-marek.behun@nic.cz
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Currently the size_t variable res is being checked for
an error failure however the unsigned variable is never
less than zero so this test is always false. Fix this by
making variable res ssize_t
Link: https://lore.kernel.org/r/20190822010351.15660-2-marek.behun@nic.cz
Addresses-Coverity: ("Unsigned compared against 0")
Fixes: 5bc7f990cd ("bus: Add support for Moxtet bus")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes gcc '-Wunused-but-set-variable' warning:
drivers/bus/moxtet.c: In function moxtet_remove:
drivers/bus/moxtet.c:822:6: warning: variable dummy set but not used
[-Wunused-but-set-variable]
Link: https://lore.kernel.org/r/20190822010351.15660-3-marek.behun@nic.cz
Signed-off-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add support for Turris Mox board (Armada 3720 SoC based)
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXW5eNQAKCRALBhiOFHI7
1aqnAJsGU/B3GFbhiuwI4+l3In7TMVVpIgCbB1T/eo1RJhvh9kH9zMj641Rmsk0=
=B8dQ
-----END PGP SIGNATURE-----
Merge tag 'mvebu-dt64-5.4-2' of git://git.infradead.org/linux-mvebu into arm/late
mvebu dt64 for 5.4 (part 2)
Add support for Turris Mox board (Armada 3720 SoC based)
* tag 'mvebu-dt64-5.4-2' of git://git.infradead.org/linux-mvebu: (53 commits)
arm64: dts: marvell: add DTS for Turris Mox
dt-bindings: marvell: document Turris Mox compatible
arm64: dts: marvell: armada-37xx: add SPI CS1 pinctrl
arm64: dts: marvell: Add cpu clock node on Armada 7K/8K
arm64: dts: marvell: Convert 7k/8k usb-phy properties to phy-supply
arm64: dts: marvell: Add 7k/8k PHYs in PCIe nodes
arm64: dts: marvell: Add 7k/8k PHYs in USB3 nodes
arm64: dts: marvell: Add 7k/8k per-port PHYs in SATA nodes
arm64: dts: marvell: Add CP110 COMPHY clocks
arm64: dts: marvell: armada-37xx: add mailbox node
dt-bindings: gpio: Document GPIOs via Moxtet bus
drivers: gpio: Add support for GPIOs over Moxtet bus
bus: moxtet: Add sysfs and debugfs documentation
dt-bindings: bus: Document moxtet bus binding
bus: Add support for Moxtet bus
reset: Add support for resets provided by SCMI
firmware: arm_scmi: Add RESET protocol in SCMI v2.0
dt-bindings: arm: Extend SCMI to support new reset protocol
firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol
firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels
...
Link: https://lore.kernel.org/r/87h85two0r.fsf@FE-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Typo fixes for gic-its unit addresses for both am654 and j721e
- HW spinlock nodes added for both am654 and j721e
- GPIO support for j721e
- power-domain cells update for both am654 / j721e for exclusive only
access
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEtQ6szHmfiBT7fujkyvq9MXlQGhEFAl1pFzsQHHQta3Jpc3Rv
QHRpLmNvbQAKCRDK+r0xeVAaERL3D/44Xth2Ti/UIZIzZrM7t6R2t84UYoYF2AFu
129ehlVk7k6pqiv1FRHG4SQpRV09DRmUX1JIoukoNtfrQMmF1C1/ryLaHGf/4vV6
sj/tbIPs1LxrTomCOuoLG2quhu6JBHDWE8ZjRJnOFo7rHOTo1w0orOnnnx6S0ES8
5WyFAecfI34noroFcHZ0mKcZmG2/AkzY6pDQGSMOnugbCjq2EteFwoKcVssKdcsA
tlT5KkqAwehS4CdZxObikE3y5rYALinFcZYATzX1eHkd4Jqo0PchunXSLj0A5y7i
7tVSslCaCZKKFg7BYpXbKA/vAhMXfpKjpL3hosHb7qPQ84GsCl1WIfH4HKtqkOXA
81jbOZu7Dgqx7J11Dtj7h46G84pxaO/78izEoineheIfKheYePyG1rRcJAHkxebF
hGZE/KbXyx5Uj8sjVtrCg4/xdrnD17JT/GGelw83vPIxf49rWvq1Rt+njIDCcIyq
GpWwjjJWnKbLx75Dr480YEU6Klp4YuyBOOL9X+/8dQLTOhtlmR2jq4TzkqtDsqWW
DFp2HQSCv7jsFag50qYrUCwcvI9Ru8MMNIX9laXVKPINqVB0aMa00EdvpBDY2eMh
mOXeurMY7jQ907oymSw7rx6DhjlQx9qcNqHgpyTJ7k9xSVW5NqQoTBnmm06pviC6
55xzDSjBAw==
=OoxU
-----END PGP SIGNATURE-----
Merge tag 'ti-k3-soc-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux into arm/late
Texas Instruments K3 SoC family changes for 5.4
- Typo fixes for gic-its unit addresses for both am654 and j721e
- HW spinlock nodes added for both am654 and j721e
- GPIO support for j721e
- power-domain cells update for both am654 / j721e for exclusive only
access
* tag 'ti-k3-soc-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux:
arm64: dts: ti: k3-j721e-main: Fix gic-its node unit-address
arm64: dts: ti: k3-am65-main: Fix gic-its node unit-address
arm64: dts: ti: k3-j721e-main: Add hwspinlock node
arm64: dts: ti: k3-am65-main: Add hwspinlock node
arm64: dts: k3-j721e: Add gpio-keys on common processor board
dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
arm64: dts: ti: k3-j721e-common-proc-board: Disable unused gpio modules
arm64: dts: ti: k3-j721e: Add gpio nodes in wakeup domain
arm64: dts: ti: k3-j721e: Add gpio nodes in main domain
arm64: dts: ti: k3-j721e: Update the power domain cells
arm64: dts: ti: k3-am654: Update the power domain cells
soc: ti: ti_sci_pm_domains: Add support for exclusive and shared access
dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access
firmware: ti_sci: Allow for device shared and exclusive requests
Link: https://lore.kernel.org/r/b838d666-ab3b-7d41-67d4-09d606c732da@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
For a while we've had omap4 sgx glue layer defined in dts and probed
with ti-sysc driver. This allows idling the sgx module for PM, and
removes the need for custom platform glue layer code for any further
driver changes.
We first drop the unused legacy platform data for omap4 sgx. Then for
omap5, we need add the missing clkctrl clock data so we can configure
sgx. And we configure sgx for omap34xx, omap36xx and am3517.
For am335x, we still have a dependency for rstctrl reset driver changes,
so that will be added later on.
Note that this branch is based on earlier ti-sysc branch for omap36xx
glue layer quirk handling.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1kD8wRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPYkQ/9EREzi6fePsuZfzlVFgDx8baAtyKUiiv7
GXEXecyLQkTz2eWGDrgVPShX8s/e1kfByQUyNS7GolkfOq8CRnyvdoexx3uBPIOD
XpNF81Of9DpK8svlhTstJEjHDsFFGXNRg6tEASNn+LCJZGiZXZO85Av/xh2dEMoh
CdvqT9cVn1e8PGvEep+gEutSjcOTOSDYHfGwn6/IDzdbtWBAekRX2LrPD8592HUk
v6HsY1C1Okh25pUgoLmQEI9sfjKhjwyvEGnTesdfX3KKisOyJXp7imnGeoga0Uy4
gDEGsI59mKG3KJmoTXvLpD08GX3GNXBnnfpdux7R8Bz634HdbD+g+/6XBy5QDpso
BtokfGpwfyif6ovgz6vBVZhC6ZUb4FuP+r+ozjvIJEoHdZS78pi0RlAz/YqaXGgF
izGcALQQR9XV6uud/eOOB8CeX80oAxGkrw8HzKQmS6HGSwwyBW7Fgb1YExhi1oeU
5w9kILd3l0AUWfjL9eJX7L7le0ghJIWQRbdctSKkEnYFLl7EFdizX3l55fx2miPU
XYe131yk0Fsh3SKWF3bJSHZSpd3D4ERsxdENKtyh/deH+8RPweGLuqs7LUOOG7Ny
mixq8rCfcbI6hkHMu5Edb5qUn3tD52tDP7xXLKb8aeFVHSvuPkQOunQmUlmIXKio
+FBG+HLTFS8=
=a2cp
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.4/ti-sysc-sgx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/late
SoC glue layer changes for SGX on omap variants for v5.4
For a while we've had omap4 sgx glue layer defined in dts and probed
with ti-sysc driver. This allows idling the sgx module for PM, and
removes the need for custom platform glue layer code for any further
driver changes.
We first drop the unused legacy platform data for omap4 sgx. Then for
omap5, we need add the missing clkctrl clock data so we can configure
sgx. And we configure sgx for omap34xx, omap36xx and am3517.
For am335x, we still have a dependency for rstctrl reset driver changes,
so that will be added later on.
Note that this branch is based on earlier ti-sysc branch for omap36xx
glue layer quirk handling.
* tag 'omap-for-v5.4/ti-sysc-sgx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: ARM: dts: Configure interconnect target module for am3517sgx
ARM: dts: Configure interconnect target module for omap3 sgx
ARM: dts: Configure sgx for omap5
clk: ti: add clkctrl data omap5 sgx
ARM: OMAP2+: Drop legacy platform data for omap4 gpu
Link: https://lore.kernel.org/r/pull-1567016893-318461@atomide.com-4
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
We can now drop more platform data in favor of dts data for most
devices like cpsw, gpio, i2c, mmc, uart and watchdog.
In general we can do this by dropping legacy "ti,hwmods" custom dts
property, and the platform data assuming the related dts data is correct.
This is best done as single patch as otherwise we'd have to revert two
patches in case of any unexpected issues, and we're just removing data.
Fro cpsw, before we can do this, we need to configure the cpsw mdio clocks
properly in dts though in the first patch. For omap4 i2c, we've already
dropped the platform data earlier, but have been still allocting it
dynamically based on the dts data based on the "ti,hwmods" property, but
that is no longer needed. For d2d, we are missing the dts data, so we
first add it and then drop the platform data.
For dra7, we drop platform data and "ti,hwmods" for mcasp and mcspi.
We've already dropped platform data earlier for gpio, i2c, mmc, and
uart so we just need to drop "ti,hwmods" property for those.
Note that this branch is based on earlier ti-sysc-fixes branch.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1mxxsRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXOoPhAAxRtVcr86Fsb535T6/Zy4wKpshvDIXrlZ
AxfT+NlDxgsZRWSTFYlRIPxEyWpIQDDBL34Y4UMO2gKB0pWGhFfiuUi2SNXntWaj
VsM5QeMAG/9LFIdUw08XwR/ahrUQnBbNNkHkw/7mL/q/Tsu3NDeIV4ipSz5Qj7vE
SljP/8DTTkR8TyUWBy3p64UZctx/QMdurg3zuwqCiT3wWEVQRnFesTS1zCzhbZId
sDbvYc46CaIkgNjlsCgzZuBIpbLH7EtJWZXb01DAqVVidCaO6r82BvAqfXcDCLwj
sOZOFBQ77ch+zpjlPcYv99TIOQFWnrCIXzKpZfZIJkO6Iu6ugGvPFN99x6WTHZLC
fGLPz6I9qaObuHLuypkcJCOVmGGQmDJiKnAruJX5peOmLQlV4UaYhNoLkQv3RSC+
6XeSB0+ycVu2CY35kNwTNVWOGVOYC8a8Umw5pUPVHn94DZgr4qmHEy9Jv0/S0BNy
04ldN5rufhFBK2A0Vs9HKGRgQfYZ1l2MHxB7LGMFt0jXxzZWGcl7HqZWGcWIuLDr
ohjwKVCGS6SCofC5qSxAzrdasqhkR/V7Yi0uge2PYGrLX7evoD5fIZADrUcVXcRS
KI9jcj/7+OTCd9QbkobHGFYa6HZN/66jp0uhnoToTNhbGQXDDGhG5U7Zd+bWXP6i
nBc7gmpXJEo=
=mBPp
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.4/ti-sysc-drop-pdata-take2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/late
Drop legacy platform data omap variants for v5.4
We can now drop more platform data in favor of dts data for most
devices like cpsw, gpio, i2c, mmc, uart and watchdog.
In general we can do this by dropping legacy "ti,hwmods" custom dts
property, and the platform data assuming the related dts data is correct.
This is best done as single patch as otherwise we'd have to revert two
patches in case of any unexpected issues, and we're just removing data.
Fro cpsw, before we can do this, we need to configure the cpsw mdio clocks
properly in dts though in the first patch. For omap4 i2c, we've already
dropped the platform data earlier, but have been still allocting it
dynamically based on the dts data based on the "ti,hwmods" property, but
that is no longer needed. For d2d, we are missing the dts data, so we
first add it and then drop the platform data.
For dra7, we drop platform data and "ti,hwmods" for mcasp and mcspi.
We've already dropped platform data earlier for gpio, i2c, mmc, and
uart so we just need to drop "ti,hwmods" property for those.
Note that this branch is based on earlier ti-sysc-fixes branch.
* tag 'omap-for-v5.4/ti-sysc-drop-pdata-take2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: Drop legacy custom hwmods property for dra7 gpio
ARM: dts: Drop legacy custom hwmods property for dra7 mmc
ARM: dts: Drop legacy custom hwmods property for dra7 i2c
ARM: dts: Drop legacy custom hwmods property for dra7 uart
ARM: OMAP2+: Drop legacy platform data for dra7 mcasp
ARM: OMAP2+: Drop legacy platform data for dra7 mcspi
ARM: OMAP2+: Drop legacy platform data for omap4 d2d
ARM: dts: Configure d2d dts data for omap4
ARM: OMAP2+: Drop legacy watchdog platform data for omap4
ARM: dts: Drop custom hwmod property for omap4 i2c
ARM: OMAP2+: Drop legacy platform data for cpsw on dra7
ARM: OMAP2+: Drop legacy platform data for cpsw on am3 and am4
ARM: dts: Add fck for cpsw mdio for omap variants
Link: https://lore.kernel.org/r/pull-1567016893-318461@atomide.com-3
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Few changes mostly to deal with sgx SoC glue quirk for omap36xx that
is needed for the related sgx SoC glue dts branch. The other changes
are to simplify sysc_check_one_child() sysc_check_children() to be void
functions, and detect d2d module when debugging is enabled.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1kCukRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXNGSg//aGJnfbZAf98HNJMo/6rnY88pxf/smR9W
YdIjP4DbqIq//W0VvfhI/QlnsGPcgBNn8ir6c3U8dyEAsYDl5HgOWqZHRClDlnBv
ISGniT7oQBRleJheGzAOk8axbsF3T6cpIt9TjBl0I8GbSii7DIla80m+pI5FEUx7
HspyxiN2yyvkhN47FzrVAOJvYGw7ceri0YkVqiMk7IqKNcw6jVXA0yqqfJNU+EqG
4oFa+kt0RdkbxIsujWNYiN3r8RGET61lBb0nTFH39nu9VwDqNjiW69lNY+mvxL6F
yohSKrKxrpaWPQ8FxUzqBECxUMSiN/iK12I3A+Jg+vvs7cjoLbHvQHj7KGPiCWH8
qNek9KTpMnH06k2UbulWZ/8GCuzgBKIt+0fXzSovaVqzT/PrdjW9dN3AJ5H7ip/F
EzkzJoxAF5PTaUAIxVsDfTpQGr/H2TXzSYpJc50iWTPTC7DIc7B0U+gNqN+TAIWN
AEFoEk2U/e3Hyl+aFaqaY7+YoJOOkWz6qJk/5zXwNhl7b7qfrF6uhcfkQCqP6/ht
cAPgz4FFiZINMPWnzt9srQxmC5gNj2i565t3NQ7gfv10XNGsxI0/6XhnmfOq8myE
Pdzv6XlfZWFSz9TvQwFGoQzcGxxo94jtJ9rioPia5op1flx2cOZ09mzAZE/Bx5cL
+ATlPBMxQjo=
=UBeA
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.4/ti-sysc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/late
more ti-sysc driver changes for omap variants for v5.4
Few changes mostly to deal with sgx SoC glue quirk for omap36xx that
is needed for the related sgx SoC glue dts branch. The other changes
are to simplify sysc_check_one_child() sysc_check_children() to be void
functions, and detect d2d module when debugging is enabled.
* tag 'omap-for-v5.4/ti-sysc-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: ti-sysc: Detect d2d when debug is enabled
bus: ti-sysc: Add module enable quirk for SGX on omap36xx
bus: ti-sysc: Change return types of functions
Link: https://lore.kernel.org/r/pull-1567016893-318461@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Few changes to prepare for using a reset driver for PRM rstctrl mostly
to deal with the clocks for reset. Then few minor clean-up patches and
SPDX license identifier changes, and add a MAINTAINERs file entry.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl1gZLgRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXNj5A/9F56FliHXmFRCsVw1vja5bgWagmOVnptx
Xa0K29GanTx/cuTaUi5Cp+EPJSDYV2REp2J8jK9jfycEEm9ww3MovFCXJIYeUha3
URMsyd9PctoQyfYdgqfTFs/4HE6NUjCFRjegZWN4K+A0vCx6x5xli7565QTrk0iL
/Eok6oCA3tZkG3cBHn7ZNYahf0NNTlKhYe2Mq2TsJTgROymQ5I9SaCHPSIgdWuH3
v0ysCyQnCNc9QLRLLdy2qnk1k5T/Mf04CMlUs8OIClm1d9cl0Wox83sQemaC5oLZ
lpLBQYyuojob4rK2T2u4c6xNPrrDKltJufB0SyDuYBj30rCCPE/I3GwWZ9tjxcC0
OHq8r+PTdGASyD0H5RfXkXRQARUDuQqt8DQR6lwSnhcCz8pUooDrhGY4+44ynbwg
/tBfKrEr1PcFMnN28Htz+djSqzTB7GNa4XINV87SNmnKuEFQ/nE/CPW7/McVK7Dx
WsRPC/ial+LhUio8dNNML9Ul2+xw46tTxiO0wvMI6nI6NgmDbQ1zOmBMFzN6ze8y
naAJSCA1kP9zeYZ8y/YWio8TTRbdHZznX8nqNXQ6t/UGBMrxaWeHiOulKmz1YlwR
cBHduWwgF6t/qB7qrxwqNddUKcRRIfJA//h0QwieQLdC5EZeq0cUbn4yHMchnCIx
DuOc9DS0NKk=
=RAgR
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.4/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/late
Driver changes for ti-sysc for v5.4
Few changes to prepare for using a reset driver for PRM rstctrl mostly
to deal with the clocks for reset. Then few minor clean-up patches and
SPDX license identifier changes, and add a MAINTAINERs file entry.
* tag 'omap-for-v5.4/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: ti-sysc: remove set but not used variable 'quirks'
bus: ti-sysc: allow reset sharing across devices
bus: ti-sysc: rework the reset handling
bus: ti-sysc: re-order the clkdm control around reset handling
bus: ti-sysc: Add missing kerneldoc comments
bus: ti-sysc: Switch to SPDX license identifier
dt-bindings: ti-sysc: Add SPDX license identifier
MAINTAINERS: Add ti-sysc files under the OMAP2+ entry
Link: https://lore.kernel.org/r/pull-1566599057-142651@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested on the Lenovo Yoga C630 where this patch enables USB.
Without it USB devices are not enumerated.
Link: https://lore.kernel.org/r/20190903192625.14775-3-lee.jones@linaro.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested on the Lenovo Yoga C630 where this patch enables the
framebuffer (screen/monitor). Without it the device appears
not to boot.
Link: https://lore.kernel.org/r/20190903192625.14775-2-lee.jones@linaro.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested on the Lenovo Yoga C630 where this patch enables the
keyboard, touchpad and touchscreen.
Link: https://lore.kernel.org/r/20190903192625.14775-1-lee.jones@linaro.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
for 5.4, please pull the following:
- Stefan does a bunch of preparatory work for supporting the Raspberry
Pi 4in the next merge window correct register ranges (SPI, I2C,
UART), define memory, HDMI and MMC properties at the board level
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1a4NwACgkQh9CWnEQH
BwSzZhAAtH6gpPJRFsZUSqJh7h8DVwji1W126WcdLyR+NrckBaAV2nKQyd1U6HQM
vKKZWtwCYn4j+aJQcQGJk7lShhXVPV20ZyD3R6NhHyedbh2IQFf8YJPhXRVK3XU8
xnoeTGCQK1GRpReYn+rSno+1TilR3rGcevXIRCGQF/pYfbKxc4lpQk0Bt15chxXJ
Mt6ZwwEs5FdRJhJgUZSOXfIW0zuhHAW0rOWcT8Abek+WPmYbaJkFPOxXZOQLAOAZ
jKdflZpZOQSIZqvB4WfgZYw258YRBhVWzlaSJadB+i66lNON7bBxeG2Xa4lHGqn/
Vh7opI4NgDd06nozkte9619c6naoh2PWLLUQ3J3/vbSAvSoc+jmhz7eL+lmgt1MR
N/eLY9pRTGAX31HGI4TQnRM9TZjS24Vy5j+uhxNKpN4P7g2ptNBqHUL/9gqyKTMx
bJai63FtE0EdIGtmNTNgUmxSSXAPS4jEhFdb/PM/B6Xavnt9YygR5b+cWv8CcUE+
XGH15KHI3PN2RSnf/BawjUKNXSIj1jWVWXN1CWTr3p6tzZmSMKkY/fMwYC94VqPy
a2j/xLMtr7pwjVhShG5chjngIc4F2skRRlNQ4mzPHTI93S54YkwMoPmraNCkOP2/
jOassdIDoty6gMofn7ege0fh8fanPJ5iLoUBBzYsaIRjeyRWB/s=
=DR09
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-5.4/devicetree' of https://github.com/Broadcom/stblinux into arm/dt
This pull request contains Broadcom ARM-based SoCs Device Tree updates
for 5.4, please pull the following:
- Stefan does a bunch of preparatory work for supporting the Raspberry
Pi 4in the next merge window correct register ranges (SPI, I2C,
UART), define memory, HDMI and MMC properties at the board level
* tag 'arm-soc/for-5.4/devicetree' of https://github.com/Broadcom/stblinux:
ARM: dts: bcm283x: Enable HDMI at board level
ARM: dts: bcm283x: Define memory at board level
ARM: dts: bcm283x: Define MMC interfaces at board level
ARM: bcm283x: Reduce register ranges for UART, SPI and I2C
* Add AOSS QMP support
* Various fixups for Qualcomm SCM
* Add socinfo driver
* Add SoC serial number attribute and associated APIs
* Add SM8150 and SC7180 support in Qualcomm SCM
* Fixup max processor count in SMEM
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJdZpm4AAoJEFKiBbHx2RXV6UEP/1S0B3yKF+/HBylghMBgYI21
P0qWH0cGSYioCLYEPn1qZjftBGSg9K3e31IoFk/mSDy0rt4wbg53ribkL6tE7M+c
ZLZfOs06stGLg6Nf/oLz2SbN2bQsIZBGJoVgp58N/z4Qymspvf7Vg4y9VCy/dzqe
R5bQZhYNWJNzv2q2vju06ACCkQgkRVfIuQSI+69t3bbeWJrHatVrPRHP8Xi8kaTh
/nI7hkO9ouMC6Uda8/aeGoo5V/xaC+rankp9ttdFeHNVXMgk6c3v5rD4fSYw+CVY
Icw7MCKGF1QPjHkLofTZsqpADHabUwu/NmDV1D5c1A/qu0gBocPSI1o1XbChlceS
E/3oO9DJQoNxJOKPxMzZwtVRAeGGrk7/PflkBY+/55XNXO4zasD0Kbi3/ReUokBJ
G5zyN/Lm/gsSfsyiJBFMN02mxbKixlSd/XDp/gClLf7f1QXV+IFyeiDkyMxWH00b
gM4c8hJalWJ2jKi9JDA7GVJD9N+8Q76+Z4HmGiyJJZXtLrVB+ehQFrSOxt97qvBE
4KeZUTfSON++8LpWeP3zVSB1Kox6+cCGQEK0VmwhEHOjE4gg8iV/YIKznwx7clTn
XepzT4K49xO5NQ9h9g2rXNdzvuXvVrKA/CuCtv6/24aSifHHpFroCIewcKZa++/m
Pv3LzPbX4a8d5Hq/qP0o
=MsUS
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig
Qualcomm ARM Based Driver Updates for v5.4
* Add AOSS QMP support
* Various fixups for Qualcomm SCM
* Add socinfo driver
* Add SoC serial number attribute and associated APIs
* Add SM8150 and SC7180 support in Qualcomm SCM
* Fixup max processor count in SMEM
* tag 'qcom-drivers-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
soc: qcom: aoss: Add AOSS QMP support
dt-bindings: soc: qcom: aoss: Add SM8150 and SC7180 support
dt-bindings: firmware: scm: Add SM8150 and SC7180 support
dt-bindings: firmware: scm: re-order compatible list
soc: qcom: smem: Update max processor count
soc: qcom: socinfo: Annotate switch cases with fall through
soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.
soc: qcom: socinfo: Expose image information
soc: qcom: socinfo: Expose custom attributes
soc: qcom: Add socinfo driver
base: soc: Export soc_device_register/unregister APIs
base: soc: Add serial_number attribute to soc
firmware: qcom_scm: Cleanup code in qcom_scm_assign_mem()
firmware: qcom_scm: Fix some typos in docs and printks
firmware: qcom_scm: Use proper types for dma mappings
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* Add DRM_MSM to ARCH_QCOM defconfigs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJda1tCAAoJEFKiBbHx2RXVgkMP/0aZ9vsXDywx9QSMDlpee8lj
Z89EaxG4nIGyc5Wr8ZBWOLOSH/cR/NaoaqxR9Y0r/J+wDIb68nsADRGpflgoh7y4
gFzA5toHiQfnd1GJ3Gi+MhwticfY88Iak79Sxs+a4cGoLMpSgPenu9o02lYl/Ic9
ZqD8eUD3bP788+8btqdjk/oeoJFf7vRNh9QoIE8nDgKLHm+F/bytQuEBM7TP6s/J
USs/eubBaA6GSKCHFv31BQzdM8Y7Fx4WrvHBCilsYV8oibYy0dgp3wiKWfTrFNew
LqMwtSMfbxxqa9p82IcNEynrbeck55f2Yj/QI7XVY3CzMfN3arfS/taKWzV/o0po
F+fbqWt1zZXV2dJZuLM+VFamAJc+SdXHsdjXIC8OMbcQYVJQA6DyBjOMRmgSF9RK
gS22KrScyCojSnkkvK0/OWoOh+vgTYdW+H5YR+qyFMorlmwO1H3ZLlXMtxODtAGV
w/BqFm9/Ejjats9dOF8YfC6723cBmEeivyzNkNX/ZWQ7HLyEjxJJ+SI3lrivXjNu
qMVFmPmHSv6bkGNprV+HGEk2gLGBajVpzoiPDVOdg8ZlVjkkVGj8mFj7ty1Qxs1a
ZTwbJprKTmKYMKRiH6WLlej7MUXFrRecdo45r7o6of7xxjFE4FHbc0UrtqQadA4g
iaINDSk1uRNRvEfVxcK/
=0xTo
-----END PGP SIGNATURE-----
Merge tag 'qcom-defconfig-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig
Qualcomm ARM Based defconfig Updates for v5.4
* Add DRM_MSM to ARCH_QCOM defconfigs
* tag 'qcom-defconfig-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
ARM: multi_v7_defconfig: Add DRM_MSM to defconfigs with ARCH_QCOM
ARM: qcom_defconfig: Add DRM_MSM to defconfigs with ARCH_QCOM
This helps SPI NOR to work on newer board variants.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJdZotdAAoJEGFBu2jqvgRNi3UP/RNEWWVG2HYm6ipPTsgb5FGu
2hW3p+4iIGHCpON9GjXTMPkr4RHFPqFGdcXFYyjxPG+A6wy8IsfFIg2rIglBrerK
wPVl+7pxG3F+PHoGnRZ2SqADgzhBb7Rn3uyJ/ku7YK421zk9OvpBu1ZWUPwEJENj
sd9RTevRqrep9fP+JMiLksYPXmQstG7mxQXdHdB+xVJ0O6+RjayV4/cAM2fYkElI
/z9ThTPU/na8EvYFOgNU9HhDmkS5fcv0PIY6b2KautgETrqyLcWuP5WQd/ynOw/c
ZCq9WTsCgLoiS6z04aGPN3913MDPu/bxkxjAW3CrCGaRdtRVRbdGJxM9MoWiVPNJ
ImLaoAzd0ARKFeqjrQrJ5fWmPuM+puNdH2oVWXmCOZ92Kcz4sSAIWcAi9GtgpVag
nCkIEC7LsCFOVVotoP7NRWCiWc8QIVO8tAtwEP9ShrPZLVGIA1Z6n6I/+9tECuNp
hYJYPZ/QsNblag/iolXBaLKdUnQ1Epg+hpTyB93gecphmqvnoJ1XiL9+qCorNKP0
ejPDCGuccu5ga4/BtCPURYSMm7gaPxKek1pDkFqAbJBkYuvoGO/iMzgRWZzLTiEk
x/ufaisly+7bwwsaOjk3Qi1XO4xd+SKLkpm2heQXs0plx6mA6GBCQyjX4AWFf/c9
dtGCOZeqiKDTnL4oflUo
=ZBa8
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v5.4/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/dt
Contains a patch to switch to more generic compatible for SPI NOR.
This helps SPI NOR to work on newer board variants.
* tag 'davinci-for-v5.4/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: dts: da850-evm: Use generic jedec, spi-nor for flash
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
and regulator devices. This will finally help get rid of legacy
GPIO API calls and simplify DaVinci GPIO driver.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJdZpeCAAoJEGFBu2jqvgRNx/wQAI/7q9NQ+BxhFKMYuL78khjh
vAmysYdy81ZPF7rfyBnE7zLrjJF1wAFMEWKQfSIWETxmTac3wH0EQYe2urGSfPsT
XgFasrN3cZ8ElSznWdftUxAA8+QGdl+cHAkOCnlVLEfYRdIed8KZhfMHSl1UXLTk
Cj/DgTg1Sk65Uj+1XDo/bOKxRHH+5U6HrNZOQdLqlkGRZppVXlKFIxG5loo6XsHE
y8h6jKQD6PVr2a1VdR8OjfENhCyPUQzz7UUBM2E8DNKe/EXnSSBVss5JFePEXOY+
+QpLvHRKBk8yZmraIlDnoetGKC74sikGvtaFPNQoZ4Q2+kf/+t8Asni5wjJyX4wz
0sy/tGk8MmpE1PgevfNc+9Tk3TiqRa7pqlAgCZ36CBpinpOulxWxrLuQV2JJvmLm
kHHKAi1lJM5tp/WrDr8vFAmS4LX7Zoosd+x2Q4TyNNE/NvJyhizyZTQZM4JRzTQG
gyiPnjIfinuip6vWIxCsKw8li2QXdG1ShBUYXkTN/0g33XHOcUnCWjqxPjK6/0GW
mmMQg4Zou8q5W/9AfOfYUqLehGlG89eYAx3YymHavgdCva+SBv8Xb7c3CpcWRm3A
bRg2FRHK5DpTCmEUt91snF4cdVidOcrWZt04IO4Sl8JUQKOBGPmVNiNY3r22v5T+
qTClFIj07nDunCEwW+wR
=GdvX
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v5.4/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/drivers
This converts the da8xx fbdev driver to use GPIO backlight device
and regulator devices. This will finally help get rid of legacy
GPIO API calls and simplify DaVinci GPIO driver.
* tag 'davinci-for-v5.4/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
fbdev: da8xx: use resource management for dma
fbdev: da8xx-fb: drop a redundant if
fbdev: da8xx-fb: use devm_platform_ioremap_resource()
fbdev: da8xx: remove panel_power_ctrl() callback from platform data
ARM: davinci: da850-evm: switch to using a fixed regulator for lcdc
fbdev: da8xx: add support for a regulator
ARM: davinci: da850-evm: model the backlight GPIO as an actual device
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
devm_phy_get() can fail for a number of reasons besides probe deferral.
It can for example return -ENOMEM if it runs out of memory as it tries
to allocate devres structures. Propagating only -EPROBE_DEFER is
problematic because it results in these legitimately fatal errors being
treated as "PHY not specified in DT".
What we really want is to ignore the optional PHYs only if they have not
been specified in DT. devm_phy_optional_get() is a function that exactly
does what's required here, so use that instead.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list@broadcom.com
regulator_get_optional() can fail for a number of reasons besides probe
deferral. It can for example return -ENOMEM if it runs out of memory as
it tries to allocate data structures. Propagating only -EPROBE_DEFER is
problematic because it results in these legitimately fatal errors being
treated as "regulator not specified in DT".
What we really want is to ignore the optional regulators only if they
have not been specified in DT. regulator_get_optional() returns -ENODEV
in this case, so that's the special case that we need to handle. So we
propagate all errors, except -ENODEV, so that real failures will still
cause the driver to fail probe.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
devm_of_phy_get_by_index() can fail for a number of reasons besides
probe deferral. It can for example return -ENOMEM if it runs out of
memory as it tries to allocate devres structures. Propagating only
-EPROBE_DEFER is problematic because it results in these legitimately
fatal errors being treated as "PHY not specified in DT".
What we really want is to ignore the optional PHYs only if they have not
been specified in DT. devm_of_phy_get_by_index() returns -ENODEV in this
case, so that's the special case that we need to handle. So we propagate
all errors, except -ENODEV, so that real failures will still cause the
driver to fail probe.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
regulator_get_optional() can fail for a number of reasons besides probe
deferral. It can for example return -ENOMEM if it runs out of memory as
it tries to allocate data structures. Propagating only -EPROBE_DEFER is
problematic because it results in these legitimately fatal errors being
treated as "regulator not specified in DT".
What we really want is to ignore the optional regulators only if they
have not been specified in DT. regulator_get_optional() returns -ENODEV
in this case, so that's the special case that we need to handle. So we
propagate all errors, except -ENODEV, so that real failures will still
cause the driver to fail probe.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: kernel@pengutronix.de
Cc: linux-imx@nxp.com
devm_of_phy_get() can fail for a number of reasons besides probe
deferral. It can for example return -ENOMEM if it runs out of memory as
it tries to allocate devres structures. Propagating only -EPROBE_DEFER
is problematic because it results in these legitimately fatal errors
being treated as "PHY not specified in DT".
What we really want is to ignore the optional PHYs only if they have not
been specified in DT. devm_of_phy_get() returns -ENODEV in this case, so
that's the special case that we need to handle. So we propagate all
errors, except -ENODEV, so that real failures will still cause the
driver to fail probe.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
regulator_get_optional() can fail for a number of reasons besides probe
deferral. It can for example return -ENOMEM if it runs out of memory as
it tries to allocate data structures. Propagating only -EPROBE_DEFER is
problematic because it results in these legitimately fatal errors being
treated as "regulator not specified in DT".
What we really want is to ignore the optional regulators only if they
have not been specified in DT. regulator_get_optional() returns -ENODEV
in this case, so that's the special case that we need to handle. So we
propagate all errors, except -ENODEV, so that real failures will still
cause the driver to fail probe.
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Shawn Lin <shawn.lin@rock-chips.com>
Cc: Shawn Lin <shawn.lin@rock-chips.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: linux-rockchip@lists.infradead.org
The merge_config.sh script verifies that all the config options have
their expected value in the resulting file and prints any issues as
warnings. These checks aren't intended to be treated as errors given
the current implementation. However, since "set -e" was added, if the
grep command to look for a config option does not find it the script
will then abort prematurely.
Handle the case where the grep exit status is non-zero by setting
ACTUAL_VAL to an empty string to restore previous functionality.
Fixes: cdfca82157 ("merge_config.sh: Check error codes from make")
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Kbuild provides per-file compiler flag addition/removal:
CFLAGS_<basetarget>.o
CFLAGS_REMOVE_<basetarget>.o
AFLAGS_<basetarget>.o
AFLAGS_REMOVE_<basetarget>.o
CPPFLAGS_<basetarget>.lds
HOSTCFLAGS_<basetarget>.o
HOSTCXXFLAGS_<basetarget>.o
The <basetarget> is the filename of the target with its directory and
suffix stripped.
This syntax comes into a trouble when two files with the same basename
appear in one Makefile, for example:
obj-y += foo.o
obj-y += dir/foo.o
CFLAGS_foo.o := <some-flags>
Here, the <some-flags> applies to both foo.o and dir/foo.o
The real world problem is:
scripts/kconfig/util.c
scripts/kconfig/lxdialog/util.c
Both files are compiled into scripts/kconfig/mconf, but only the
latter should be given with the ncurses flags.
It is more sensible to use the relative path to the Makefile, like this:
obj-y += foo.o
CFLAGS_foo.o := <some-flags>
obj-y += dir/foo.o
CFLAGS_dir/foo.o := <other-flags>
At first, I attempted to replace $(basetarget) with $*. The $* variable
is replaced with the stem ('%') part in a pattern rule. This works with
most of cases, but does not for explicit rules.
For example, arch/ia64/lib/Makefile reuses rule_as_o_S in its own
explicit rules, so $* will be empty, resulting in ignoring the per-file
AFLAGS.
I introduced a new variable, target-stem, which can be used also from
explicit rules.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Marc Zyngier <maz@kernel.org>
When returning from bpa10x_send_frame, it is necessary to propagate any
potential errno returned from usb_submit_urb.
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Looks like Deadlock is observed in hci_qca while performing
stress and stability tests. Since same lock is getting
acquired from qca_wq_awake_rx and hci_ibs_tx_idle_timeout
seeing spinlock recursion, irqs should be disable while
acquiring the spinlock always.
Signed-off-by: Harish Bandi <c-hbandi@codeaurora.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
I did some significant work with code in edac_mc.c and ghes_edac.c
already, so I guess I can probably help out a bit as code reviewer here.
Signed-off-by: Robert Richter <rrichter@marvell.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20190902123216.9809-6-rrichter@marvell.com
Add NOFAIL check for the strndup call, because the function
allocates memory and can return NULL. All calls to strdup in
modpost are checked with NOFAIL.
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Since guid_t is the recommended data type for UUIDs in
kernel (and I guess uuid_le is meant to be ultimately
replaced with it), it should be made available here as
well.
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
CONFIG_SHELL falls back to sh when bash is not installed on the system,
but nobody is testing such a case since bash is usually installed.
So, shell scripts invoked by CONFIG_SHELL are only tested with bash.
It makes it difficult to test whether the hashbang #!/bin/sh is real.
For example, #!/bin/sh in arch/powerpc/kernel/prom_init_check.sh is
false. (I fixed it up)
Besides, some shell scripts invoked by CONFIG_SHELL use bash-extension
and #!/bin/bash is specified as the hashbang, while CONFIG_SHELL may
not always be set to bash.
Probably, the right thing to do is to introduce BASH, which is bash by
default, and always set CONFIG_SHELL to sh. Replace $(CONFIG_SHELL)
with $(BASH) for bash scripts.
If somebody tries to add bash-extension to a #!/bin/sh script, it will
be caught in testing because /bin/sh is a symlink to dash on some major
distributions.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
One of the more common cases of allocation size calculations is finding
the size of a structure that has a zero-sized array at the end, along
with memory for some number of elements for that array. For example:
struct dm_stat {
...
struct dm_stat_shared stat_shared[0];
};
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.
So, replace the following form:
sizeof(struct dm_stat) + (size_t)n_entries * sizeof(struct dm_stat_shared)
with:
struct_size(s, stat_shared, n_entries)
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Now that we disallow invalid bits in kvm_valid_regs and kvm_dirty_regs
on s390x, too, we should also check this condition in the selftests.
The code has been taken from the x86-version of the sync_regs_test.
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Link: https://lore.kernel.org/lkml/20190904085200.29021-3-thuth@redhat.com/
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
If unknown bits are set in kvm_valid_regs or kvm_dirty_regs, this
clearly indicates that something went wrong in the KVM userspace
application. The x86 variant of KVM already contains a check for
bad bits, so let's do the same on s390x now, too.
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Link: https://lore.kernel.org/lkml/20190904085200.29021-2-thuth@redhat.com/
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
The UFS_RESET pin is the magical pin #150 now, not 153 per the
sdm845_groups array declared in this file. Fix the order of pins so that
UFS_RESET is 150 and the SDC pins follow after.
Fixes: 53a5372ce3 ("pinctrl: qcom: sdm845: Expose ufs_reset as gpio")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20190830060227.12792-1-swboyd@chromium.org
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
driver. DM365 conversion is still under debug and will be part of a
future pull request.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJdZpejAAoJEGFBu2jqvgRNvrkP/iFUl3+bWgFpwFGRI2tXOF2i
ZWWKAvFXEWgHD95lznVNpAJ0gfT0CEbCLevlSBtfCVx9iijCgGY/qNyGyIp2kwM7
seWnfFr6teGAw6PPxVF5znzuBx+OJYpe2hhDDxyyU9pIOG0ZhSW6f3sQ6uRqxG0A
fP2nHeX8oOmdUlrlZVMf2RkeEImpYRS61tzXlbkdhaCKs1ThWHMXAP3YxVZohnbJ
aKdXGgloVo9jVP0caT5Gep4LGYTvdBDHoeAaPlRQ+tO2hhSI7n0dq0YI0YfYWKqd
nAitoPKwCbJlCYg+sUWAyr53Iy7Bh9HP++JYiR99aU2RtRch1ih86zmhKnKWVuR5
J72kSGz2TY6JeAs0WhT8e+g3u4xLo7E4IiDPQ4h0RKLjgFdOacfZv5IdSlwUOHmg
Sawwtfbp2Ps8jMmwR8bTVSIE3AAEwQSDTY738MPsAX51dIqwdJaMWZmdW69WAeMF
6V9XI3bpwGI/xKfn9L0OPBOGayRgTCaMKpk15qx16xi+cZ10ZgMJwrGmN+qFvfmu
h6sdjOGdFND3BrqE4uOpDvQUtFCDxqwfPBSkLGJ4uJzzREOPSn1dKqk4BmWzb9Iw
AwWmOFEgnihESIAOr+aCyHay9QIf8XtHCX5lbJwTYHILFuVmNfNNb5IMK+IQOrH2
yrnLzNZmPpES2s26P5ti
=7VBk
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v5.4/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into arm/soc
This converts all DaVinci SoCs except DM365 to use new clocksource
driver. DM365 conversion is still under debug and will be part of a
future pull request.
* tag 'davinci-for-v5.4/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: dm646x: Fix a typo in the comment
ARM: davinci: dm646x: switch to using the clocksource driver
ARM: davinci: dm644x: switch to using the clocksource driver
ARM: davinci: dm355: switch to using the clocksource driver
ARM: davinci: move timer definitions to davinci.h
ARM: davinci: da830: switch to using the clocksource driver
ARM: davinci: da850: switch to using the clocksource driver
ARM: davinci: WARN_ON() if clk_get() fails
ARM: davinci: enable the clocksource driver for DT mode
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
If alloc_disk fails in pcd_init_units, cd->disk & pi are empty, we need
to check if cd->disk is null in pcd_detect.
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: zhengbin <zhengbin13@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
In pcd_init_units, if blk_mq_init_sq_queue fails, need to set queue to
NULL before put_disk, otherwise null-ptr-deref Read will occur.
put_disk
kobject_put
disk_release
blk_put_queue(disk->queue)
Fixes: f0d1762554 ("paride/pcd: Fix potential NULL pointer dereference and mem leak")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: zhengbin <zhengbin13@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
In pf_init_units, if blk_mq_init_sq_queue fails, need to set queue to
NULL before put_disk, otherwise null-ptr-deref Read will occur.
put_disk
kobject_put
disk_release
blk_put_queue(disk->queue)
Fixes: 77218ddf46 ("paride: convert pf to blk-mq")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: zhengbin <zhengbin13@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
for 5.4, please pull the following:
- Nicolas enables the Raspberry Pi CPUFREQ driver in the ARM64 defconfig file
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1a3SIACgkQh9CWnEQH
BwTwrA/+M9DVfCkNFWBQi6ih68sfE//oH9JW5C7xtKfRrVgBR7/DjadIIZr0to8+
Hkx2Xu6wEQ5jaVrFQrHFMEKMOQFpwaLTt0jCcsWVIj0KFHJ6nII5yd+0RXkr+YUh
gUpBuwAov4dOdyTevfVEF/DR7hpnjY/0MrXIXlCSFqNhFlhwDzJCqIoDtnETrysh
Pa6kJnXsqU/qvpFeUcQQR6CBkeVrrfAgg/iIjmccWKzcV62EhSNcBQeHOqzp81m+
7SByAO7Yh6zlSgkNH+Z0rOj+wWGV30uMrjb98ZhmdOBceR1czrxWJ+P6c7BYxAgl
WDNR/ifxLya0ueV2Q1GyiFGJFFz8r8DpJY73prRsOD+rm0+eQxBhS0tKqMKEV07L
64NK3xFvg4aSD9FA+27PM70bV/Qzs+in4bJTQdAwSOsp32Miu6MRKlTX7oAkwSS6
xBhBGrGJmjT/LBKusJXXHnyUbaKR3BMGI3IGCle1Y3WN/djfMtKMvh8N1FU9Xf4H
MwkiaSYWbRzCXN75OiTVvtpF5JhBUl3AVZfEw1D3H5xlnVTjl10zgFufVaU7vYlo
ZC1DmVhAzY41Az4MTWNEUo+w2eaNWf4VRdBPtqFW4RPZurVJRjwK9BNWlUL08ZVP
ciP0FdYl/rT2ZSYsGkdRls7YRJaMJnec/YhUlDW22mO+gi4uwZc=
=brp0
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-5.4/defconfig-arm64' of https://github.com/Broadcom/stblinux into arm/defconfig
This pull request contains Broadcom ARM64-based SoCs defconfig updates
for 5.4, please pull the following:
- Nicolas enables the Raspberry Pi CPUFREQ driver in the ARM64 defconfig file
* tag 'arm-soc/for-5.4/defconfig-arm64' of https://github.com/Broadcom/stblinux:
arm64: defconfig: enable cpufreq support for RPi3
5.4, please pull the following:
- Nicolas enables the Raspberry Pi CPUFREQ driver in both
bcm2835_defconfig and multi_v7_defconfig
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl1a3OcACgkQh9CWnEQH
BwSCcRAA1fy68I2hWghkW1bfUxnm3tyw8xaYKBUh7jDXXy4HevwZQbzX1DoiOkeJ
sAu+yJpBN+fWkYZjXaQ3DRT17JlFAI+9wNPg5GL1s8ISFn19Kc+OxwInbfsYoV2n
AQk8nmVsiSsEQtR5Wvj8F8QijqYPgT2Rsop1NM146JNsexZjQy+var4VoyweVZ1J
yz+b4gEtCQztEkYfTgcPhwe1KZ3m0Nk65FUk4rtPBewg/s34omhidlyV/aNF2nsw
KGmNLIfUCVvKvtDz/i0hzMb1Qq8elGFy75OQVM19jM371yWJxP8CdZPytXE+U+FF
+2lgdKvROkwFfjU5LT1E2z5xUCeZwSQrtkh3bS/4tHUgdGXdyA/RkI8iI5DldWde
X8SI3DzVgOqDvsIWMGhCRCmKVsPmLaL4Zt6kT6nIvvM51KLnPCwOeoevpp6ucrsE
MO4sCk0tx1GjtA35IW7nohYI/wK/1F3LEWzxuNNiRXCFyfxQFcXGj2vKWil/OPA9
wUduXg72p/Azm4q2TF6nIUOGMhv7k6bCSFqbi6h01dnjMiA5VBNc/XrvAvhNSA15
IYhvQ2Rgp51bYuTxAvTpXf1KR4PbPAVtWyIIVeW4NXChDtbfMnzLtJoLxX7RdzOm
jaba/X7GqNxykiXOITSWwSfVeN2kqpC1qsuux4ZOWOwdrcKWE0g=
=dVMC
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-5.4/defconfig' of https://github.com/Broadcom/stblinux into arm/defconfig
This pull request contains Broadcom ARM-based SoCs defconfig updates for
5.4, please pull the following:
- Nicolas enables the Raspberry Pi CPUFREQ driver in both
bcm2835_defconfig and multi_v7_defconfig
* tag 'arm-soc/for-5.4/defconfig' of https://github.com/Broadcom/stblinux:
ARM: defconfig: enable cpufreq driver for RPi
The kernel has no way of knowing when we have finished instantiating
drivers, between deferred probe and systems that build key drivers as
modules we might be doing this long after userspace has booted. This has
always been a bit of an issue with regulator_init_complete since it can
power off hardware that's not had it's driver loaded which can result in
user visible effects, the main case is powering off displays. Practically
speaking it's not been an issue in real systems since most systems that
use the regulator API are embedded and build in key drivers anyway but
with Arm laptops coming on the market it's becoming more of an issue so
let's do something about it.
In the absence of any better idea just defer the powering off for 30s
after late_initcall(), this is obviously a hack but it should mask the
issue for now and it's no more arbitrary than late_initcall() itself.
Ideally we'd have some heuristics to detect if we're on an affected
system and tune or skip the delay appropriately, and there may be some
need for a command line option to be added.
Link: https://lore.kernel.org/r/20190904124250.25844-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Tested-by: Lee Jones <lee.jones@linaro.org>
Cc: stable@vger.kernel.org