Add Robert Richter as the primary maintainer for this platform.
Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
as some peripherals like the Mali gpu do support 64bit dma addresses.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAlmeoV4QHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgQdACAC0lVl2/kcQigHyGAwHZI6WU3kQvPzw1hBI
PjFL1VGP+J5ZgqYYGiA+HGJn1Wb2u05kWf73LJikyTjYty0JIbpGLT/zZIymkrGE
jJTHx7UsddaayC4h3PfVc9xjV35L1Uxr/3pCYXmbB4DZZD9jUyR5Aa4bHQ3TjAHA
ZMZsp4WO29UWIRpafYRgMXxmxofJLOUUi0hQdS/LXhLDRozNgtVRfQibC4LgDX00
gbMaLOmmdbNrRDtC4IQw8u0GNDaJ88gVPpjVdkYovh22lS3V0EfmBwW9bVmXHyVc
vwLhCgjqkqKdQnuMOD1c+6mC+L97Q51dO8iBnUUnU+fM44E86rcn
=bBGl
-----END PGP SIGNATURE-----
Merge tag 'v4.14-rockchip-soc32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc
Pull "second round of Rockchip soc32 changes for 4.14" from Heiko Stübner:
Enable the ARCH_DMA_ADDR_T_64BIT kconfig option for LPAE builds,
as some peripherals like the Mali gpu do support 64bit dma addresses.
* tag 'v4.14-rockchip-soc32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAE
After commit e9f66ae23c ("mtd: s3c2410: make ecc mode configurable via
platform data") booting of the mini2440 board is broken, since
for this board we have CONFIG_MTD_NAND_S3C2410_HWECC set. The console
gets flooded with errors reported by the mtd subsystem.
This patch changes ecc_mode to NAND_ECC_HW which restores proper
operation of the NAND flash memory.
Cc: Sergio Prado <sergio.prado@e-labworks.com>
Fixes: e9f66ae23c ("mtd: s3c2410: make ecc mode configurable via platform data")
Signed-off-by: Sylwester Nawrocki <snawrocki@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
can wait for the merge window as we have not seemed to hit
any of these so far:
- Fix error handling in omap_ocp2scp_probe affecting runtime
PM error path
- Drop broken RPM status update for omap_device
- Two fixes for of_irq_get() usage that can return 0
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlmV1ZwRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXOggBAAww/zeW/QgmQjVgcDlVRYYM+ZgJNnhZB8
BMZzXXr0+OGmpdC6oV3134Ww+ZDRacRWZIAL8fTqLm1eoCb0BJDGcwh3yleLoVqG
AS96ogWrZjlLvu2KQXnJeZCksEpkgxm+8HJTn2uw3x3TRIqx8s//vA39wufV3BN0
mWSiolH0ri4/ucIPYVCLXJMF6/h0L8yVg8xmNxUlSAAgvBgewDjgp85WF/vsdiG1
/gzbO7cgy0mUxH0uBpi0LoSr3cFkzO6/p5oM4+613BoI7qK3KRQFt3hWB5JG0Z0C
ldRfFSANjzKTadzxjh74fWIoItIKw1Pa8vnuqMtXP8Rse9/h9fukbdlwDJfeH2lA
7fZC033SLvHcY8xwhwohtzKEM8FhdIWis8pZIA8AL8u/B4tRFKKjDq0ePWfWNvTF
ceuC/7DdbmmVejFTie6ddSHl/BqCNV7p+L9obAdIrxfZqFXA2OdAlBc49vUeByeP
SlrfwXDOsYqOyuDmgQXZtOW2ZobbVbQjV16YLN5myZfkMACALdt2mpr/Lpg0lwSg
tmkmeXwLSmwFtJbJpLYt+Fh08Pgh05q27y5h3xyAyGn1x2Ie7fpNqlS7X5lYn/9f
7oHykqzNbVzVvioBl6DBfYdofoBt1OXK8zi/ThaMeqAo0IclTfhrJwGwfJWnGMyi
rklzIc0WwKQ=
=+wbL
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
Pull "non-urgent fixes for omaps for v4.14" from Tony Lindgren:
Non-urgent fixes for omaps for v4.14 merge window. These all
can wait for the merge window as we have not seemed to hit
any of these so far:
- Fix error handling in omap_ocp2scp_probe affecting runtime
PM error path
- Drop broken RPM status update for omap_device
- Two fixes for of_irq_get() usage that can return 0
* tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP4+: PRM: fix of_irq_get() result checks
ARM: OMAP3+: PRM: fix of_irq_get() result check
ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe
Contains a single fix for platforms with more than 2 GiB of memory
running on a kernel with LPAE enabled.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlmW+8ATHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zocORD/9yp/PI/vuF1pn5fZ/pNomw3MzMbvT3
am+w3L42Rt3JMfnX6hZyFgD7CeMuFeZu6HxeXmift7hWirmLeGlExPG2K44goBjr
a3x520XVGkZ/sIRNtJ+5bXx+7de4+7b08s6Prrdx0wfGNhmQtpbr3ghDnd6GUKp3
phThCBGJf2t2wozc0vmXa5GUhJWf5yHOsp69U3U46uxW3Xm5o8EzSh21J+2uO35Z
spFkJvfbHcK957UrWkjaMUd9G2Hhj21305axJUy1uu9okFpwMEbqVEus4NgkxME4
PGwM6922FQtplLs9rWNe2yTPz9YJzTw6qyv54tr0xaeoOERk4VC8nmSYcwQ5UCs6
QuwcvpfCsmPQDo4cduvrTuRBBgQZENOH9jHUP9V2NqOISmGE8yUBGeDsVQnI38C7
gSIQkBkeJzbVIY8ykAb5LdiiJwfbBBuon0CQtcXC6E9ZAO+kp/N0F7xQU5L1YGBN
L5p8RApFOyRTqi7986XdOju91oGRg/GK/lkf7AifL5jsYaKA/SoQALi9QiGeluOW
Fc1uUUu8gR6FrMPKRXgnDOzw1M9cLXrWKpKHCpEKDG5cbJB5yJzSoBr45v75GtZj
dXW6mGmjpyFoVMCvvQ5W6b818wwqV0E3E4fXPDCQyrY6oBKGuvqolih4ncrPI3Si
CyTV0Ec9dy+1NQ==
=1dt0
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-4.14-arm-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc
Pull "ARM: tegra: Changes for v4.14-rc1" from Thierry Reding:
Contains a single fix for platforms with more than 2 GiB of memory
running on a kernel with LPAE enabled.
* tag 'tegra-for-4.14-arm-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: Select appropriate DMA options for LPAE
for LPAE builds due to the peripherals only being 32bit capable
and conversion to the exclusive reset controls in smp code.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAlmEUeMQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgbiTB/9YizLGRLJOb/+WQrU0271D5neb5sifoI2N
olwKxi7VzQA5UhvaTEcSC6KWGS+uov1Q2p6tELHJeaP8+Jt7yvRLjRlnyV5VZ4ei
Q8+ha3B9HMQ1KbZRgqg7AhxbRkvRYzN+DY80EY2cNeDT8uNOuWAx/VHKDmyPMUNu
SezpAgtKu8myApoYMObehYIqj3JZH+D1c/97EBXhT4LI3ni38wwJKd7FdZwUYfJv
doGVx0QJMM+PBANTYUx3femJVP0xbCG34PR4NCV/i/5NRct7OaFh5o0CxYzZqGoA
5tc1b3ZLyn6STzvlub1DXv9HR9qqZJt+UvAboRtNusQRCCL1U28m
=vGxJ
-----END PGP SIGNATURE-----
Merge tag 'v4.14-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc
Pull "Rockchip soc32 changes for 4.14" from Heiko Stübner:
32bit arch changes for Rockchip socs containing enablement for ZONE_DMA
for LPAE builds due to the peripherals only being 32bit capable
and conversion to the exclusive reset controls in smp code.
* tag 'v4.14-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: rockchip: enable ZONE_DMA for non 64-bit capable peripherals
ARM: rockchip: explicitly request exclusive reset control in smp code
They all deal with fixing up the Kconfig selects
for misc stuff that has been merged in different
subsystems:
- We have a reset controller
- We have a clock controller
- We need ARM_AMBA for FTDMAC020 which is PL08x
- We need to select the pin controller (being merged
for v4.14)
-----BEGIN PGP SIGNATURE-----
iQIcBAABAgAGBQJZhj3dAAoJEEEQszewGV1zJ70QAKTaKN3HBLt96razgufyr0kx
OKqamy6pUu/q1d/hylcHMWzAzboc0Xp0ZCVHrDPVbsZTyFHOsbTtk0AePBx5lQxv
qbNaIbIkbMuGVHHVThvoX7pWzgPtFGfbCJ9K9MnOu/vq4IR0NA8SXEae2hQwyDtV
h7pzNa6sheFKe4mlkzmqzRzNJTws677wIvrNFGNRXqMJIiU7C6Aa81oOg+fozVcU
Tz988Q+6JmjJjE3GdwVh31ll6ChnoyLkIs4i7nVtKkvUVC5+4wB77brMM2Uefb7m
Zoes0MT14tEIoIUqfY1iSvN+DOoR18zFhMTIP8rgJV8rOwZhGjSR6/E78JVpNGES
pWvsSwT6tL6acmIy/2ys1YLxYv1IpP2RfleT4d6/WyKaqbF3EI2VfuLLq58RyGyE
dLxh5tFOV1wsoTFaz1r/Kot/pU3hXeoz7LjKdkYaeoAve1lyL7+QaxU9e22zE3JZ
SBvkuIyGYwSxq8R2yuy5Ghgo8yS/f3M4BRYxKAHcfxaNSniRQE+Oq66T0PWt839R
LIJs8TzzCKb3GU7QFE0d24nFCa+aHfgIHIG9RYwbUCXEIEMkWyyd7IPQ/JUEhpkg
V2kytz6hZsgIsxCbSpRx0HlA98usUiMD/VSFR3ZGYuCpFvMbGExgwvp4j/+iL9xg
JbLGBIuJmuvDSSgtkE45
=TGrG
-----END PGP SIGNATURE-----
Merge tag 'gemini-for-arm-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/soc
Pull "Gemini changes for v4.14" from Linus Walleij:
They all deal with fixing up the Kconfig selects
for misc stuff that has been merged in different
subsystems:
- We have a reset controller
- We have a clock controller
- We need ARM_AMBA for FTDMAC020 which is PL08x
- We need to select the pin controller (being merged
for v4.14)
* tag 'gemini-for-arm-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: gemini: select pin controller
ARM: gemini: select ARM_AMBA
ARM: gemini: select the clock controller
ARM: gemini: tag the arch as having reset controller
Enabling ARM_GLOBAL_TIMER in mvebu_v7_defconfig for Armada 38x
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlmNhLoACgkQCwYYjhRyO9UGPACePNq7tg3xJDdnmm6BIDXLKfE7
TCMAnipE+nn5NW1+Mc57ScGcTOpL/e1U
=9tRl
-----END PGP SIGNATURE-----
Merge tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu into next/soc
Pull "mvebu soc for 4.14 (part 1)" from Gregory CLEMENT:
Enabling ARM_GLOBAL_TIMER in mvebu_v7_defconfig for Armada 38x
* tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: enable ARM_GLOBAL_TIMER compilation Armada 38x platforms
Update ARM/ZTE entry to include all those ZTE ZX platform drivers and
files that do not have a separate MAINTAINERS entry.
Since I have been contributing a lot for ZTE ZX SoCs support and
collecting platform patches for a few cycles, add myself as one
maintainer for the platform.
Cc: Jun Nie <jun.nie@linaro.org>
Cc: Baoyou Xie <baoyou.xie@linaro.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The legacy code to try to detect the debug_ll uart based on machine
is no longer needed, and we can remove it. Note that the Kconfig
options stay the same, we just need to define the port configuration
now.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlmTIG4RHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXNU/g//fhK1Y5piTozzdu2Kz3MTF0caNVosIYN0
Eec6DxbyAUBJYeQK85CpEJ26a0zZJlyKZ/gJ2XWZIcuqPm2PK2Dio4tXgwE1k1I7
ffqLQ0rKM/6leKmJRmTr/el7tv3JwMBtKvbYWfaKMqtqg3GTp/gV7k72IgP5/S79
hqe3mN5JURlaKT1XGa1UickkvfF8UE5TGik9VDJDxcOc0vl+iDOzVvHXtiBLERgy
CbOMSbCc+1YF+ihLOJwTD7xmQi31X515szrOOn0kXLX9PV2y6pwiIH8CRkdK+MZk
Tu3Jzn3ssF5biHKTfKqa3OysjtxzdhtBKwOmgC/VRXFp3h88klTqTWmjU3K73SAz
UbiJGuO2s+z/IMJaFsVIhFh0sL1j0CEtvqsjmD3OJPQUivPTW1EIoOaFHp+PbOM+
QMH9xrwbhc82tunCVSKvy02T+zw/ap66ucnqpq5VUznchDjiknQfHiAqMdT6e+mB
qZV1zHKvUfWdyA9QtpAHtrpzkb0XGfmDK/FmlF5e1g/u23osatrbLuMBAgN4I2kj
MEu3ynBdCu5fcKNBecTBk2oatgqfmg3u8Q7Wo5CY+8mcIVWoDKhGruRjbKOX4ySX
co/115tn5xmmkny8Fiyy3hhr/X2xqPuFsMX+bwQitfsDl0ieVTX2q07dqAT//r8n
Rlp5O4rBz0s=
=BLZK
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Pull "Updates to for omap debug_ll code to use generic DEBUG_UART_8250 code" from Tony Lindgren:
The legacy code to try to detect the debug_ll uart based on machine
is no longer needed, and we can remove it. Note that the Kconfig
options stay the same, we just need to define the port configuration
now.
* tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: debug: Use generic 8250 debug_ll for am3517 and am335x
ARM: debug: Use generic 8250 debug_ll for ti81xx
ARM: debug: Use generic 8250 debug_ll for omap3/4/5
ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uarts
support for new dra762 SoC. The other changes are are for legacy
DMA code removal, and MMC quirk and iodelay config for dra7.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlmTIokRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPLXw//bdosInQAgxNoRHOeXt8B8U4kmHrWVHIj
DDuuY2Vh5/DBUbXFizpWi2O7LrzXOFMw3zWLzRnZsA56/sNlojwW70NV4J/KGHVa
tmVQ12iEV+blLdt9rypoUgHT4XFtYZ8WEfo4XPjDB23DhPcRYgRikn0O0LqvUV2r
nPMemfhGc/E1SIN/hGFUG7AqL3N+TPlFhmzZRLYsrbWECnSr17dpIgYbSD7Dviiq
PuSd8jbj88ugPjtUjb6CXyV04o2uRcxFqHceJOghc0jQtARxJBxCzInMLZ4JPPH5
ZBRNKfervmpc4b24Vmlf+23t2iMieOHpqrSvfYy1ErBzyWFgOF32w2kkqbBWO+oB
TLd02DdX5ks3bnG6C5fVDk4ztSB6vUO8K+MatdDGnqbAc8f+RRUmYVDE35TTfyHK
QcjG8fkC3sze3iO+Jlg6UPO8uGYXYN7wVxm6oJqnQ5R1gVSXTbt2LEDNuKy3usxR
IkvkdjkVOei4pYrewgc7bkNLOQ+XMY1Mxy0G/XwoEG9SlCVcEi4N0Vn9LptgJRph
Mm3kpb3E93U8qUCR0NnXCpMqrek4foSoOKGcOFFukvSWF67xvnoUbooIIzEtXh/R
9K5ftL1XlgPzYcQEWEp3MT7q4FkgKSpDup+8eHOUH+ozhWi3n4umlm3FzqiT3vXM
ADACrqr8CgM=
=FBGl
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Pull "soc changes for omaps for v4.14" from Tony Lindgren:
SoC updates for omaps for v4.14. Most of the chages are to add
support for new dra762 SoC. The other changes are are for legacy
DMA code removal, and MMC quirk and iodelay config for dra7.
* tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains
ARM: dra762: Enable SMP for dra762
ARM: dra7: hwmod: Register dra76x specific hwmod
ARM: dra762: Add support for device identification
ARM: OMAP2+: board-generic: add support for dra762 family
ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX
ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM
ARM: OMAP2+: Remove unused legacy code for DMA
* Add debug-ll support to RZ/G1M (r8a7743) SoC
Chris Paterson says, "RZ/G1M uses SCIF0 for the debug console, like most
of the R-Car Gen2 SoCs."
* Remove ARCH_SHMOBILE_MULTI
Geert Uytterhoeven says, "The migration from ARCH_SHMOBILE_MULTI to
ARCH_RENESAS has been completed in v4.12..."
* Correct arch timer frequency on RZ/G1M (r8a7743) SoC
Geert Uytterhoeven says, "According to the datasheet, the frequency of
the ARM architecture timer on RZ/G1E depends on the frequency of the ZS
clock..."
* Add support for CPG/MSSR bindings
Geert Uytterhoeven says, "When using the new CPG/MSSR bindings, there is
no longer a "renesas,rcar-gen2-cpg-clocks" node, and the code to obtain
the external clock crystal frequency falls back to a default of 20 MHz.
While this is correct for all upstream R-Car Gen2 and RZ/G1 boards, this
is not necessarily the case for out-of-tree third party boards.
Add support for finding the external clock crystal oscillator on RZ/G1M,
and on R-Car H2, M2-W, and M2-N using the new CPG/MSSR bindings, through
the corresponding "renesas,r8a77xx-cpg-mssr" nodes."
* Obtain jump stub region from DT
Geert Uytterhoeven says, "Add support for obtaining from DT the SRAM
region to store the jump stub for CPU core bringup, according to the
renesas,smp-sram DT bindings."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJZf0J3AAoJENfPZGlqN0++GfAP/21nuyREfKfOBV2B3DOAXVWS
VhqOSgOaK/oAVfIfk7dSrk+ZqRF0fgF14EDQyzaNgi/coPb0cL2Xt8fpbYIp/H1/
BBjJg/Q+XptMRWGbh4oshgO2W4wNCXyPJRQ/x7ciDFkygJqgmbu0sF1CF6spis/K
n3sDS4w/bJVOnTZhOG6v0U0p80X0nc0W4M8fQPZjhecBjPCXGmqOekH7Tm9HmJgu
HktXX8OsngGMfI9NUPQcl8KgPWNfBi4U0X4Ep5cTGutJ25WsQiW4LDoSFFrF1JIY
Kll985IvAgLfAOEeezrua+/cM1FsOOZBQyXmV9awBmLEmzicyxOr7Lp1eK3RfADw
RQ2foFnUYakMfJcnVVjZD8tNg+eNafN0VjSwbvlvQH+1P+vy5EvUKovjyed7u9n9
TIuewlrrJdMAMx2wwFEeotzU3JjZB0rIJb0hzy9zk/qekC0II4O25Y1gH16tfYJa
65UC172dQmjt3mP7aK88V0bJX5NNKU7/1YALHplih3qRuqov2CgCUtdEdzqHJgYh
C4Thd1ejdFTgWSqaBUInQfBs3lNDO1JfwfdVCmLq7tG8jEpV/zZTeywxqizMEIsH
6f/cd7oTkIbZ9i2UVOMnhWQhyGIkOJD+/ylr4D7iqhL0yC7/mCcalHR8FsNps81J
qA4Hy70ALb/D8A9PMjgE
=PJul
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Pull "Renesas ARM Based SoC Updates for v4.14" Simon Horman:
* Add debug-ll support to RZ/G1M (r8a7743) SoC
Chris Paterson says, "RZ/G1M uses SCIF0 for the debug console, like most
of the R-Car Gen2 SoCs."
* Remove ARCH_SHMOBILE_MULTI
Geert Uytterhoeven says, "The migration from ARCH_SHMOBILE_MULTI to
ARCH_RENESAS has been completed in v4.12..."
* Correct arch timer frequency on RZ/G1M (r8a7743) SoC
Geert Uytterhoeven says, "According to the datasheet, the frequency of
the ARM architecture timer on RZ/G1E depends on the frequency of the ZS
clock..."
* Add support for CPG/MSSR bindings
Geert Uytterhoeven says, "When using the new CPG/MSSR bindings, there is
no longer a "renesas,rcar-gen2-cpg-clocks" node, and the code to obtain
the external clock crystal frequency falls back to a default of 20 MHz.
While this is correct for all upstream R-Car Gen2 and RZ/G1 boards, this
is not necessarily the case for out-of-tree third party boards.
Add support for finding the external clock crystal oscillator on RZ/G1M,
and on R-Car H2, M2-W, and M2-N using the new CPG/MSSR bindings, through
the corresponding "renesas,r8a77xx-cpg-mssr" nodes."
* Obtain jump stub region from DT
Geert Uytterhoeven says, "Add support for obtaining from DT the SRAM
region to store the jump stub for CPU core bringup, according to the
renesas,smp-sram DT bindings."
* tag 'renesas-soc-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Remove ARCH_SHMOBILE_MULTI
ARM: shmobile: rcar-gen2: Correct arch timer frequency on RZ/G1E
ARM: shmobile: rcar-gen2: Add support for CPG/MSSR bindings
ARM: shmobile: rcar-gen2: Obtain jump stub region from DT
ARM: debug-ll: Add support for r8a7743
Remove unnecessary static on local variables syscon_regmap.
Such variables are initialized before being used, on every
execution path throughout the functions. The static has no
benefit and, removing it reduces the object file size.
This issue was detected using Coccinelle and the following
semantic patch:
@bad exists@
position p;
identifier x;
type T;
@@
static T x@p;
...
x = <+...x...+>
@@
identifier x;
expression e;
type T;
position p != bad.p;
@@
-static
T x@p;
... when != x
when strict
?x = e;
In the following log you can see the difference in the object file size.
This log is the output of the size command, before and after the code
change:
before:
text data bss dec hex filename
3339 2104 128 5571 15c3 drivers/soc/versatile/soc-realview.o
after:
text data bss dec hex filename
3321 2048 64 5433 1539 drivers/soc/versatile/soc-realview.o
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "Benoît Cousson" <bcousson@baylibre.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
separately from the rest of the dts changes to avoid merge conflicts
as these depend on earlier fixes sent during v4.13-rc cycle.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlmTI94RHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXMvGA//a4qKA8IDXTjPVpEILumjcoxlpiCiYtUX
FGduGiI/ceWWfmVT1nBtd1BGXPJRzNIwOasfMQIhOt2R+umopioTtjUClom2oXVm
KSTh2ikalObjXChyLvgi7BQhoeJMJVZPumRQ/7GMc93UlM2WAdn1ACCsLqhSu2wF
U7SzpWKI987Ze4i6SKUo1ygYvZ2ue86qRt+827pCf6aIOUB+58N8Z2OII/Atdvn+
5Uy7ML3BMqcAtTEbLYz6LpiNls5TKdRBmPXNFvLJKxhtA6fTYTrgklW05ezaoKX5
iHRsMQ509M+j0b71YwEl3Ta/qiaew+L3+jaYKHjEaFXJaBF2UH17jKf4U9mi9LdN
+rtESdIWE/yNuulZV/FKRA+kUQL9MMdvS7txFaEnsyYuelnI4U3l+bCF9gQoTftk
YFc09/yRLOq60G8V8H9pYT6MKPeyD7jGTjFlSV0VHmK6wVWncIHSqPmnzfCsmVkB
URIsS8XRNLypqIOIz7r1OHaSX829DFMRgkATnWLmcuM5AOsRjGtDJtITFNZBx662
KFMhHVduVQtVJfvKprCNeUhjnDnRN3g3UMtLBiPnjxj1gmGlttxxvvhcB/OJPqPi
mPBdtl0OIM6JbVX44cl+MyjInTAGRgcRfII83TV0ptk3qYITbLE2kIYB8QC2gE9B
VFfKfjfEJr0=
=Njlb
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
Pull "non-urgent dts fixes for omaps for v4.14" from Tony Lindgren:
Two non-urgent dts fixes for dra7 Ethernet quirk. These are sent
separately from the rest of the dts changes to avoid merge conflicts
as these depend on earlier fixes sent during v4.13-rc cycle.
* tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap
ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
- Fix the comment typo of the machine code "0xe51ff004"
to avoid confusion.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJZlBSZAAoJEAvIV27ZiWZcFsoP/AzmXz7JwTojp+8XA54MkdH0
waztUsrAIvaJeKbKd28B9CG7ZaIv3rUt3/jsu/fs36qSEj46NyuUBybMPTgG2ylP
TK3YoIawlxEzHbbkbZcHTsnyl4MgN7Ze4wT+gl4UWbOYZWWTBNuGcj9ZE1Yw81/M
Iz2XOpwZLA9M8fm1UQU5aGxzw77KfgvDRt3Klmzdgt7IlyW7YZK1iXJ0hSm/SUtN
uyKMfucNyioRNiE4YD3GHDp9BoMsiA45I1RrZ03GeVUBA/aH1X28xV9THiJH+Ol6
VpkpMAshaTZMiI0IaeiFKhaxf1UZeaSQ23sB5S4bQtv5Wx2qxGQldXd1pDR19igu
KO7qkW0WBI78zf4xgEZD+yNm7ySq8GSVMjHth9QTRq63tTMX03EtQn9kRNiujLbE
G/R3DhouYaevXi5CHKcjBa+IuxsbDblC0Whu2AMlTdlx1fI1B5RWrnGNsnX8W8PF
WZaU4lwsLohget7YEohzpVU8e72uUk8q70fdP467M1auNJI0WNMsVguvNMkcrqbO
yMtNm/H+XGdEjpcrz9sv+YLLWRGEFbR2yj5yS1vY1ehUnY5qXFUuMV+wJGzVz18H
WiJ+r0Z/cab17PiHfO3/hPTAJOA+8Xa3CfNFdXBxnlf2vLKc1Dw82vO0vPjBUfD3
3tHkvPV3vSx365qoWLKW
=RiWY
-----END PGP SIGNATURE-----
Merge tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi into next/cleanup
Pull "ARM: hisi fixes for 4.14" from Wei Xu:
- Fix the comment typo of the machine code "0xe51ff004"
to avoid confusion.
* tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi:
ARM: hisi: Fix typo in comment
Pull "ADC device support for Cirrus Logic EP93xx SoC" from Alexander Sverdlin:
- Add ADC specific clock
- Add ADC device support to EP93xx core
- Add ADC instance to EDB93xx boards
The above doesn't include a driver for ADC device.
* tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux:
ARM: edb93xx: Add ADC platform device
ARM: ep93xx: Add ADC platform device support to core
ARM: ep93xx: Add ADC clock
Only for S3C24xx platform:
1. Cleanup from non-existent CONFIG entries.
2. Fix unmet NET dependency when H1940 bluetooth chip is selected..
-----BEGIN PGP SIGNATURE-----
iQIcBAABCAAGBQJZdjyWAAoJEME3ZuaGi4PXQM8P/REbB+QZFdAhb7Vn/cnF6KeU
RbZTa+mKDQZ+07BeENUA7qrwMr0bnOfwvnF/yXNppBRkEKEzKLL4XFi8LW01W42q
Q/jBpRA6xF48ohkKIQPv+dYR10H4FhN5FAOaQngGKHiu8t8CN3YgpmbqTQSw/5Te
4XuUnfMuLMjqTMmY9fMKtgRoPLDG/j39h9zcc1ROk1CZJEqYfiSzRExMrh4rpRgR
EVl3Yejk2/HEZsyRCpIywiKrzeQtuLYUtet4oVPFwUaT2EWtHLPv/NpcBp46DQI1
2a2pf6X6j8vmfYUunJCT1/VrTzPIKhEKOX6Jyz8O4CAROcvBgikvlY7ciwFyoaRj
G12sg8OmXvpuLpELnSQFHXNdWmUBNiij15EMgWrHJKnC1rLR/caSlqDWzQFsPYlP
ueRkwaFpDvCQqehe6HE7ZEmidXgWoim6N4hNnO4p26cuuc4GQNZmhRs7yyNN5x7t
cLZ8D93X1gfpPqeGvn7IUvgpebug19Xap25JhzKU1wtrGw8pIR+2uSpce8qVbfng
AS/LOs6mGNKTm5ZD3XFM058G9G8Byjw/zY/p6gu1Xkz9imao8pA3+Um7ve/9onFo
dUrYn2AT0BS2Oh3QkavX/SGCqSg6lBfVlcplnRGRQ07omxQZ+jQ4Lpj75K4rHMeg
8p9AaHb9RrQoGfY7OZvS
=pGQ/
-----END PGP SIGNATURE-----
Merge tag 'samsung-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc
Pull "Samsung mach/soc changes for v4.14" from Krzysztof Kozłowski:
Only for S3C24xx platform:
1. Cleanup from non-existent CONFIG entries.
2. Fix unmet NET dependency when H1940 bluetooth chip is selected..
* tag 'samsung-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: s3c24xx: make H1940BT depend on RFKILL
ARM: s3c24xx: Do not confuse local define with Kconfig
ARM: s3c24xx: Remove non-existing SND_SOC_SMDK2443_WM9710
ARM: s3c24xx: Remove non-existing CONFIG_CPU_S3C2413
The machine code "0xe51ff004" means "ldr pc, [pc, #-4]".
This patch fixed the comment typo to avoid any confusion.
Signed-off-by: Yunzhi Li <yunzhi.li@deephi.tech>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
of_irq_get() may return 0 as well as a nagative error number on failure,
(and never on success), however omap44xx_prm_late_init() regards 0 as a
valid IRQ -- fix this.
Fixes: a8f83aefcd ("ARM: OMAP4+: PRM: register interrupt information from DT")
Fixes: c5b3955828 ("ARM: OMAP4: Fix legacy code clean-up regression")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
of_irq_get() may return 0 as well as a nagative error number on failure
(and never on success), however omap3xxx_prm_late_init() regards 0 as a
valid IRQ -- fix this.
Fixes: 1e037794f7 ("ARM: OMAP3+: PRM: register interrupt information from DT")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Custom efuse powerdomain is always on in dra72 ES2.0
and dra76 SoCs. So register it as aon for these SoCs.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smp specific routines are called based on soc_is_*() api in omap-smc.c.
Add soc_is_dra76x() to the condition so that smp specific routines are
called for dra76 SoC.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Certain IPs are available on dra76 which are not present
either in dra74 or dra72. So add provision to register dra76
specific IPs separately.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
The DRA72 EVM Rev C straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL
pin in mode 1. Unfortunately, the phy data manual disallows this.
Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node
to allow kernel to enable software workaround for this incorrect strap
setting. This is as suggested by the phy's datamanual and ensures proper
operation of this PHY.
This needs to be done for both instances of this PHY present on the board.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
The DRA71 EVM straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin
in mode 1. Unfortunately, the phy data manual disallows this.
Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node
to allow kernel to enable software workaround for this incorrect strap
setting. This is as suggested by the phy's datamanual and ensures proper
operation of this PHY.
This needs to be done for both instances of this PHY present on the board.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
PINCTRL_TI_IODELAY should be enabled so that "pinctrl_dev" can be created
for pinctrl entries populated with iodelay values in device tree data.
Select PINCTRL_TI_IODELAY for SOC_DRA7XX here.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
DRA74x EVM Rev H EVM comes with revision 2.0 silicon.
However, earlier versions of EVM can come with either
revision 1.1 or revision 1.0 of silicon.
The device-tree file is written to support rev 2.0 of
silicon. pdata quirks are used to then override the
settings needed for PG 1.1 silicon.
PG 1.1 silicon has limitations w.r.t frequencies at
which MMC1/2/3 can operate as well as different IOdelay
numbers.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
We are now booting all mach-omap2 in device tree only mode.
Any code that is only called in legacy boot mode where
of_have_populated_dt() is not set is safe to remove now.
Let's leave the dummy omap2_system_dma_init_dev() check
in place for now to avoid a pointless merge conflict with
tusb6010 dmaengine conversion as pointed out by Peter
Ujfalusi <peter.ujfalusi@ti.com>.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Since commit a8636c8964 ("PM / Runtime: Don't allow to suspend a
device with an active child"), which went into 4.10, it is no longer
permitted to set RPM_SUSPENDED state for a device with active children
(unless power.ignore_children is set).
This specifically means that the attempts to do just that from the omap
pm-domain suspend_noirq callback have since been failing whenever a
child is active, for example:
am335x-usb-childs 47400000.usb: runtime PM trying to suspend
device but active child
Silence this warning by dropping the broken pm_runtime_set_suspended()
call from the omap suspend_noirq callback along with the redundant
pm_runtime_set_active() in resume_noirq.
This effectively reverts commit 3522bf7bfa ("ARM: OMAP2+: omap_device:
maintain sane runtime pm status around suspend/resume"), which started
updating the RPM state after the runtime_suspend callback (!) for active
omap devices had been called during system suspend. The rationale was
that a later pm_runtime_get_sync() would then fail (even after runtime
pm had been disabled) and that this in turn would avoid any external
aborts when accessing registers with clocks disabled. (See also commit
6f3c77b040 ("PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE,
even when disabled, v2").
But during the suspend_noirq phase all children would already have been
suspended and their drivers would specifically not attempt any further
register accesses. And if this was all just a workaround for random
device drivers doing cross-tree calls during system suspend, those
drivers should be fixed and updated to explicitly model such
dependencies using device-links instead (and either way, any such calls
have been causing crashes since 4.10).
Fixes: 3522bf7bfa ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume")
Fixes: a8636c8964 ("PM / Runtime: Don't allow to suspend a device with an active child")
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Fix loop preventing some platforms from waking up via the power
button in s2idle.
intel-vbtn:
- match power button on press rather than release
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJZhjtgAAoJEKbMaAwKp3647u4IALEnsRt10hj2ognbpQUPxqzB
uwjlQ7ukqwWVbpgElQ6q2hKUFHNnk2CGuzIEjvRKpme0UpsSPUQRPZGeUGDmvC3l
cOxNSmyTJkmeCEU9G7yj1NrcaOEFQ9iRLrZmSRnYBSWBgjzYdpfC/xog2y8mVkgO
FQAU2ul9Ph5eXEOTQBw56LtzsraJtBdV76aKESuJEAw3h0E8svhLeV43caVic/Go
Yv9aRZRkj/5oQHwXe+GC5K4dFdWFYZ9iGLQFHgcICRACcUq7p0ysVvf8YMVQplyR
Xm2j8Dq1ierId5g90p5fznIM4BeBnIM2Iclkk4dPaIrP3Fogd9eq1gvxQKvWgpY=
=IOnZ
-----END PGP SIGNATURE-----
Merge tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86
Pull x86 platform driver fix from Darren Hart:
"Fix loop preventing some platforms from waking up via the power button
in s2idle:
- intel-vbtn: match power button on press rather than release"
* tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86:
platform/x86: intel-vbtn: match power button on press rather than release
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAlmHbBAACgkQ8vlZVpUN
gaMu3gf+LpI5bI1XA3R8KbXB2snnz6wM7OzArfqvreX+m+xP1CK6nVpAIgpkZqfw
QkQ1xPJk7Q25vex/pPcsgLO0Vxf0i4vpydK+fYnf30S4WvGQVq6OHZWFFv2zM2YB
7TWxjG+KryM7j6JSXdUiSTKP3nX84TW/IMIWuZMR1nuOa8N5M4yD3uc+3EBTjSbq
P/dxfmkp2hQKnlZVBWqCjJDhtxwUYTF4iZ/pbSVeGbgHCh1674ml+airb4K9ltNU
0vR0JChD12YJaafjaAyIrqqKwDGvnN+H5wyhCodEV9w8jthbcU04Jfmi1auB9UxT
y7/sgbV64W2o5hBwxY3RXjZkVLpDsw==
=Mtr7
-----END PGP SIGNATURE-----
Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 fixes from Ted Ts'o:
"A large number of ext4 bug fixes and cleanups for v4.13"
* tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: fix copy paste error in ext4_swap_extents()
ext4: fix overflow caused by missing cast in ext4_resize_fs()
ext4, project: expand inode extra size if possible
ext4: cleanup ext4_expand_extra_isize_ea()
ext4: restructure ext4_expand_extra_isize
ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize
ext4: make xattr inode reads faster
ext4: inplace xattr block update fails to deduplicate blocks
ext4: remove unused mode parameter
ext4: fix warning about stack corruption
ext4: fix dir_nlink behaviour
ext4: silence array overflow warning
ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
ext4: release discard bio after sending discard commands
ext4: convert swap_inode_data() over to use swap() on most of the fields
ext4: error should be cleared if ea_inode isn't added to the cache
ext4: Don't clear SGID when inheriting ACLs
ext4: preserve i_mode if __ext4_set_acl() fails
ext4: remove unused metadata accounting variables
ext4: correct comment references to ext4_ext_direct_IO()
Pull MIPS fixes from Ralf Baechle:
"This fixes two build issues for ralink platforms, both due to missing
#includes which used to be included indirectly via other headers"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
MIPS: ralink: mt7620: Add missing header
MIPS: ralink: Fix build error due to missing header
The latest change of compat_sys_sigpending in commit 8f13621abc
("sigpending(): move compat to native") has broken it in two ways.
First, it tries to write 4 bytes more than userspace expects:
sizeof(old_sigset_t) == sizeof(long) == 8 instead of
sizeof(compat_old_sigset_t) == sizeof(u32) == 4.
Second, on big endian architectures these bytes are being written in the
wrong order.
This bug was found by strace test suite.
Reported-by: Anatoly Pugachev <matorola@gmail.com>
Inspired-by: Eugene Syromyatnikov <evgsyr@gmail.com>
Fixes: 8f13621abc ("sigpending(): move compat to native")
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Rockchip RK3288 has some 64-bit capable DMA and therefore needs
dma_addr_t to be a 64-bit size. One user is the Mali GPU.
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This bug was found by a static code checker tool for copy paste
problems.
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Vaneet Narang <v.narang@samsung.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
On a 32-bit platform, the value of n_blcoks_count may be wrong during
the file system is resized to size larger than 2^32 blocks. This may
caused the superblock being corrupted with zero blocks count.
Fixes: 1c6bd7173d
Signed-off-by: Jerry Lee <jerrylee@qnap.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@vger.kernel.org # 3.7+
When upgrading from old format, try to set project id
to old file first time, it will return EOVERFLOW, but if
that file is dirtied(touch etc), changing project id will
be allowed, this might be confusing for users, we could
try to expand @i_extra_isize here too.
Reported-by: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Clean up some goto statement, make ext4_expand_extra_isize_ea() clearer.
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Current ext4_expand_extra_isize just tries to expand extra isize, if
someone is holding xattr lock or some check fails, it will give up.
So rename its name to ext4_try_to_expand_extra_isize.
Besides that, we clean up unnecessary check and move some relative checks
into it.
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
We should avoid the contention between the i_extra_isize update and
the inline data insertion, so move the xattr trylock in front of
i_extra_isize update.
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
ext4_xattr_inode_read() currently reads each block sequentially while
waiting for io operation to complete before moving on to the next
block. This prevents request merging in block layer.
Add a ext4_bread_batch() function that starts reads for all blocks
then optionally waits for them to complete. A similar logic is used
in ext4_find_entry(), so update that code to use the new function.
Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
When an xattr block has a single reference, block is updated inplace
and it is reinserted to the cache. Later, a cache lookup is performed
to see whether an existing block has the same contents. This cache
lookup will most of the time return the just inserted entry so
deduplication is not achieved.
Running the following test script will produce two xattr blocks which
can be observed in "File ACL: " line of debugfs output:
mke2fs -b 1024 -I 128 -F -O extent /dev/sdb 1G
mount /dev/sdb /mnt/sdb
touch /mnt/sdb/{x,y}
setfattr -n user.1 -v aaa /mnt/sdb/x
setfattr -n user.2 -v bbb /mnt/sdb/x
setfattr -n user.1 -v aaa /mnt/sdb/y
setfattr -n user.2 -v bbb /mnt/sdb/y
debugfs -R 'stat x' /dev/sdb | cat
debugfs -R 'stat y' /dev/sdb | cat
This patch defers the reinsertion to the cache so that we can locate
other blocks with the same contents.
Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
ext4_alloc_file_blocks() does not use its mode parameter. Remove it.
Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
After commit 62d1034f53e3 ("fortify: use WARN instead of BUG for now"),
we get a warning about possible stack overflow from a memcpy that
was not strictly bounded to the size of the local variable:
inlined from 'ext4_mb_seq_groups_show' at fs/ext4/mballoc.c:2322:2:
include/linux/string.h:309:9: error: '__builtin_memcpy': writing between 161 and 1116 bytes into a region of size 160 overflows the destination [-Werror=stringop-overflow=]
We actually had a bug here that would have been found by the warning,
but it was already fixed last year in commit 30a9d7afe7 ("ext4: fix
stack memory corruption with 64k block size").
This replaces the fixed-length structure on the stack with a variable-length
structure, using the correct upper bound that tells the compiler that
everything is really fine here. I also change the loop count to check
for the same upper bound for consistency, but the existing code is
already correct here.
Note that while clang won't allow certain kinds of variable-length arrays
in structures, this particular instance is fine, as the array is at the
end of the structure, and the size is strictly bounded.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>