66261 Commits

Author SHA1 Message Date
Claudiu Beznea
22cbf0776d ARM: at91: pm: keep documentation inline with structure members
Move documentation of bu to keep the same order as in the structure
itself.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2022-05-12 11:06:18 +03:00
Christoph Hellwig
566fb90e05 swiotlb-xen: fix DMA_ATTR_NO_KERNEL_MAPPING on arm
swiotlb-xen uses very different ways to allocate coherent memory on x86
vs arm.  On the former it allocates memory from the page allocator, while
on the later it reuses the dma-direct allocator the handles the
complexities of non-coherent DMA on arm platforms.

Unfortunately the complexities of trying to deal with the two cases in
the swiotlb-xen.c code lead to a bug in the handling of
DMA_ATTR_NO_KERNEL_MAPPING on arm.  With the DMA_ATTR_NO_KERNEL_MAPPING
flag the coherent memory allocator does not actually allocate coherent
memory, but just a DMA handle for some memory that is DMA addressable
by the device, but which does not have to have a kernel mapping.  Thus
dereferencing the return value will lead to kernel crashed and memory
corruption.

Fix this by using the dma-direct allocator directly for arm, which works
perfectly fine because on arm swiotlb-xen is only used when the domain is
1:1 mapped, and then simplifying the remaining code to only cater for the
x86 case with DMA coherent device.

Reported-by: Rahul Singh <Rahul.Singh@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Tested-by: Rahul Singh <rahul.singh@arm.com>
2022-05-11 19:48:32 +02:00
Peter Zijlstra
47319846a9 Linux 5.18-rc5
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAmJu9FYeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGAyEH/16xtJSpLmLwrQzG
 o+4ToQxSQ+/9UHyu0RTEvHg2THm9/8emtIuYyc/5FgdoWctcSa3AaDcveWmuWmkS
 KYcdhfJsaEqjNHS3OPYXN84fmo9Hel7263shu5+IYmP/sN0DfQp6UWTryX1q4B3Q
 4Pdutkuq63Uwd8nBZ5LXQBumaBrmkkuMgWEdT4+6FOo1mPzwdIGBxCuz1UsNNl5k
 chLWxkQfe2eqgWbYJrgCQfrVdORXVtoU2fGilZUNrHRVGkkldXkkz5clJfapyZD3
 odmZCEbrE4GPKgZwCmDERMfD1hzhZDtYKiHfOQ506szH5ykJjPBcOjHed7dA60eB
 J3+wdek=
 =39Ca
 -----END PGP SIGNATURE-----

Merge branch 'v5.18-rc5'

Obtain the new INTEL_FAM6 stuff required.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
2022-05-11 16:27:06 +02:00
Masahiro Yamada
f774f5bb87 kbuild: factor out the common installation code into scripts/install.sh
Many architectures have similar install.sh scripts.

The first half is really generic; it verifies that the kernel image
and System.map exist, then executes ~/bin/${INSTALLKERNEL} or
/sbin/${INSTALLKERNEL} if available.

The second half is kind of arch-specific; it copies the kernel image
and System.map to the destination, but the code is slightly different.

Factor out the generic part into scripts/install.sh.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
2022-05-11 21:45:53 +09:00
Mike Rapoport
260364d112 arm[64]/memremap: don't abuse pfn_valid() to ensure presence of linear map
The semantics of pfn_valid() is to check presence of the memory map for a
PFN and not whether a PFN is covered by the linear map.  The memory map
may be present for NOMAP memory regions, but they won't be mapped in the
linear mapping.  Accessing such regions via __va() when they are
memremap()'ed will cause a crash.

On v5.4.y the crash happens on qemu-arm with UEFI [1]:

<1>[    0.084476] 8<--- cut here ---
<1>[    0.084595] Unable to handle kernel paging request at virtual address dfb76000
<1>[    0.084938] pgd = (ptrval)
<1>[    0.085038] [dfb76000] *pgd=5f7fe801, *pte=00000000, *ppte=00000000

...

<4>[    0.093923] [<c0ed6ce8>] (memcpy) from [<c16a06f8>] (dmi_setup+0x60/0x418)
<4>[    0.094204] [<c16a06f8>] (dmi_setup) from [<c16a38d4>] (arm_dmi_init+0x8/0x10)
<4>[    0.094408] [<c16a38d4>] (arm_dmi_init) from [<c0302e9c>] (do_one_initcall+0x50/0x228)
<4>[    0.094619] [<c0302e9c>] (do_one_initcall) from [<c16011e4>] (kernel_init_freeable+0x15c/0x1f8)
<4>[    0.094841] [<c16011e4>] (kernel_init_freeable) from [<c0f028cc>] (kernel_init+0x8/0x10c)
<4>[    0.095057] [<c0f028cc>] (kernel_init) from [<c03010e8>] (ret_from_fork+0x14/0x2c)

On kernels v5.10.y and newer the same crash won't reproduce on ARM because
commit b10d6bca8720 ("arch, drivers: replace for_each_membock() with
for_each_mem_range()") changed the way memory regions are registered in
the resource tree, but that merely covers up the problem.

On ARM64 memory resources registered in yet another way and there the
issue of wrong usage of pfn_valid() to ensure availability of the linear
map is also covered.

Implement arch_memremap_can_ram_remap() on ARM and ARM64 to prevent access
to NOMAP regions via the linear mapping in memremap().

Link: https://lore.kernel.org/all/Yl65zxGgFzF1Okac@sirena.org.uk
Link: https://lkml.kernel.org/r/20220426060107.7618-1-rppt@kernel.org
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Reported-by: "kernelci.org bot" <bot@kernelci.org>
Tested-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Will Deacon <will@kernel.org>
Cc: <stable@vger.kernel.org>	[5.4+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-05-09 17:34:28 -07:00
Arnd Bergmann
31df43eff2 i.MX ARM device tree update for 5.19:
- New board support: PHYTEC phyGATE-Tauri-S, TQ-Systems MBa6UL,
   LS1021A IoT board, Toradex Iris and Aster carrier, i.MX7D SMEGW01,
   i.MXRT1050 EVK, Bosch ACC board.
 - A series from Alexander Stein to update i.MX51 based digi-connectcore
   board, regarding to DMA of UART devices, PMIC voltages, USB
   vbus-supply and usbphy.
 - A series of changes from David Jander and Oleksij Rempel to remove
   prototype specific deprecated code not used in production from
   i.MX6Q/DL Vicut1 board, and unify Vicut1 and Victgo variants to reduce
   maintaining overhead.
 - Quite some changes from different people to update imx6ull-colibri board
   on various aspects, touchscreen, device tree overlays, NAND BCH geometry,
   GPIO line names, FEC phy-supply, etc.
 - A couple of changes from Fabio Estevam to switch imx6dl-plybas and
   imx6ul-kontron-n6x1x-s to use standard 'uart-has-rtscts' property.
 - A couple of patches from Li Yang to update IFC device compatible and
   node name for LayerScape SoCs.
 - Disable USB host to work around boot issue on imx6qdl-udoo board.
 - A series from Max Krummenacher to update Colibri i.MX6DL device trees,
   drop dedicated v1.1 DT, disable add-on accessories, cleanups, etc.
 - Various random and small updates on i.MX28 and i.MX6 boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmJ3Lh0UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5/aggArNGwQjG38N4EKh+VZZChUhYz1qFz
 n53ciWQokLItUpO3FOXvVVVR1avBAHorUe2gcnpaFmQbIuDgxpjw9xEfsXUaiKGC
 UD+zU2iNaabaaqOoKii/eVUOMuoRO96gFtR0XUyYyg9JPnmy+2a25cVfJ6Kev6AJ
 727xpoFexbXbiJSl/3TR2vJBD2cmGllrgiPgzUYFe7aPXwZyTYp6WRLkdhjdBFty
 4Up+7Img4FVkxVrDHv4TO2sxLMAftQM05/KjMCeRzEslvh/81IUnXA1i0TPqnKZJ
 P1KFl7hd0/5DqsCji7Eel2zbRRq75HPSPIacdXbWiEzcJBY8FBZcFdcf7Q==
 =zcPw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5iu4ACgkQmmx57+YA
 GNlGag//dbQmoG/E7RObrH9JR3A2cPpr0LIaEam+fs3nENf85/RMjTCtPfEOVuUh
 YgmZu4PAkBQtZs5BCPiPDrzEa0YG5xK2BkgYZ6V85raAoZsda2P6MFPyce9QyJlu
 VO95BK55bIMYsqVu9jsDZ54WzvuBbhvjLfZwNkxgyL/l7K9WxPdN4bUyrPFDKiLs
 7JJL6EH3rzTbzSOKWTZ9qcuFhmYfygGyfK0IXAlRweAAd2K34rOUiYHb43Q3PGEv
 BGEPBfU8oDheiemUpIh4wKVcl/n6u3TAqRsUetLQU8EpiRfv2+M0KUqNIAGCT/ts
 6c88FqfwCCuWdeUiajqn9vLYuSIJFtVryZKZzKufY0w/3BJYn62ZkTHHI5fxOg4m
 2J0VSOrNuaQb0bpsE+/RKhzXI41Cg7pJLKpcRfKTWccHHTZ0mIH5n2Z+5KDYhM+s
 bsVfwproQL8oMPyHezBmEAi2MoInRhWAbMCBFXUgAVq6bskHJjGbOn3Je3ZAMKzJ
 UPzahTHkrlx1Xu7dD1GzfNC/4q/HazUBffsyWIM22RGKP6xuGpZ10RQPpKUuIrRW
 RBDRCEhylhh6VeE0TnSimaw4Rdgvk4/Swh8b5oAuO+Zk8w+y8EEfPZ7ifO01qPFU
 O6ySSAkE4mGGw6XCmjbEcdhvEMKx3ZonW1DzezTOsxWkHIeEjwU=
 =JH1/
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX ARM device tree update for 5.19:

- New board support: PHYTEC phyGATE-Tauri-S, TQ-Systems MBa6UL,
  LS1021A IoT board, Toradex Iris and Aster carrier, i.MX7D SMEGW01,
  i.MXRT1050 EVK, Bosch ACC board.
- A series from Alexander Stein to update i.MX51 based digi-connectcore
  board, regarding to DMA of UART devices, PMIC voltages, USB
  vbus-supply and usbphy.
- A series of changes from David Jander and Oleksij Rempel to remove
  prototype specific deprecated code not used in production from
  i.MX6Q/DL Vicut1 board, and unify Vicut1 and Victgo variants to reduce
  maintaining overhead.
- Quite some changes from different people to update imx6ull-colibri board
  on various aspects, touchscreen, device tree overlays, NAND BCH geometry,
  GPIO line names, FEC phy-supply, etc.
- A couple of changes from Fabio Estevam to switch imx6dl-plybas and
  imx6ul-kontron-n6x1x-s to use standard 'uart-has-rtscts' property.
- A couple of patches from Li Yang to update IFC device compatible and
  node name for LayerScape SoCs.
- Disable USB host to work around boot issue on imx6qdl-udoo board.
- A series from Max Krummenacher to update Colibri i.MX6DL device trees,
  drop dedicated v1.1 DT, disable add-on accessories, cleanups, etc.
- Various random and small updates on i.MX28 and i.MX6 boards.

* tag 'imx-dt-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (77 commits)
  ARM: dts: imx6ull-colibri: improve pinctrl node names
  ARM: dts: imx6ull-colibri: move gpio-keys node to som dtsi
  ARM: dts: imx6ull-colibri: add/update some comments
  ARM: dts: imx6ull-colibri: fix nand bch geometry
  ARM: dts: imx6ull-colibri: add support for toradex aster carrier boards
  ARM: dts: imx6ull-colibri: add support for toradex iris carrier boards
  ARM: dts: imx6ull-colibri: add gpio-line-names
  ARM: dts: imx6ull-colibri: update device trees to support overlays
  ARM: dts: imx6ull-colibri: update usdhc1 pixmux and signaling
  ARM: dts: imx6ull-colibri: add touchscreen device nodes
  ARM: dts: imx6ull-colibri: add phy-supply to fec
  ARM: dts: imx6ull-colibri: change touch i2c parameters
  ARM: dts: imx6ull-colibri: use pull-down for adc pins
  ARM: dts: Add bosch acc board
  ARM: dts: imx: Add i.MXRT1050-EVK support
  ARM: dts: imx7d-smegw01: Add support for i.MX7D SMEGW01 board
  ARM: dts: imx6qdl-udoo: Disable USB host to work around boot issues
  ARM: dts: imx27: use new 'dma-channels' property
  ARM: dts: imx6qdl-phytec: Add LED labels
  ARM: dts: ls1021a: reduce the interrupt-map-mask
  ...

Link: https://lore.kernel.org/r/20220508033843.2773685-3-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 23:43:10 +02:00
Arnd Bergmann
4c94666955 Qualcomm ARM DT updates for v5.19
This contains a long overdue overhaul of the MSM8974 DeviceTrees,
 aligning the style, structure and naming with what we've learned since
 the introduction of this platform.
 
 On top of this the Sony Rhine platform gained I2C masters, NFC and
 pstore support and the Fairphone 2 gained touchscreen support.
 
 For the new SDX65 platform reserved-memory nodes, rpmpd, SPMI, CPU
 clocks, SDHCI controller, SMMU and TCSR mutex was added. As was the
 initial DeviceTree for the related PMX65 PMIC.
 
 MSM8226 gained VADC and RTC support and support for the ASUS ZenWatch 2
 was added.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmJ5TRIbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FQdAP+wfdrQkVOEPcI9nwIlRH
 srnxYeaALWFmXgyTLRyev63j6HHZrVIo67Fi16UPQiM/4uqE6OliJgPihALVAufr
 Ccn2xzKWrF2/VF6CZd21kbOGBOMRoqC7fZt5oLSdWtSFoUXacV6pUgKynQIi0kH0
 BlXJW2c5Zzf0rCK05YZopV5qavExuy3YhstavFCeJ5K6sbI720b1hz5rNFeKzmEs
 ZL5DMGKyQrAc32ZwxrOnYjVPefeSp5xPbFaOvygEzfo8uiYUaZ3gdgYH2HP8Ok0K
 UUQxGJiPk+FheozzX+maN3D4wfwUqXDPhPoEBL1t+pbbvBl0boljYErCdLZTPtKI
 xv7NFMuGMqch/1vqU0JJwOggpQ3km1HlbxgFqTfq/0MvILNmumWGaIyJ2uWDfK+w
 7O/mXxYc/qH5VF3V77XpynkuguJveXxzz3UPadEoT9tgb/l4w8Uq5KG+RDkLs/mN
 AslEuA0z7qNYGeqGMJ0S4fpINwMQCRYzrAWCSw3kYqlABqkCGEzJ/tfN3kugzpv8
 zp5ukOuWT0IJz5yDKnR65mp993m2Ep5D8MVIuAYkROaipi9IpgQAbX2+yxT/Dt7G
 GeAlK9KadiHMnIQI+H0DrBvxs3BRGA3XBUQMs5xCvXplNHheJDeItRlsWBYk4Ex1
 BUZNVdSOi19bCaYzEXosusGg
 =WO3I
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5hfIACgkQmmx57+YA
 GNl5eBAAqI23s9nHQn4jfrwVnKezICEW/5BzDeOMIWZ4nK+fzMHJ3NhyxmWQnjOZ
 FSdjJLz6gcw+8tFkts1uOblWUAZalj+SkmUiELbaLIm+jtDxRn3wnx1V4zGJeLmE
 YwCKE1KuzIHExNmylvmxJF1gGGd6YZsPhQNwUH4dl0F8wWVYPW6wwOx7ZaT6UijQ
 n6dDd3EgkF71nkaki+LYh8FhysovbkQOgcCH5kjSYE4lXOPWdhC90zSSp+eM+u26
 qGVPxQOPQ26myYXfeaVAjBOpskHN8wTPXBf7jr9Z5/5yettt6i3Kleqjcbz91rSy
 yRmWDoTcONs1wIW1OQIGPbHApRjDXjzh09RtpD0fcBPGt/OgVccMbXi0GVuUbex7
 nD6yYsQo2eT4WOZ2fVTUnTqtnWZnn6VEoKTdp6Os/OtJ5hygDm+PJqk4i03zhKJq
 Bep/k8ZHJOewF/9BjF/5xbWeJK/WWNLbBYbDZHrZnCUF0WF3mhLe9KZpIdua9NK1
 VUZerD1/TpEbVhLFbiB5Los/ZYL+jJdHkiMqh5nkG3cyaFtaI2mInuzBtz+84967
 lTIcop81QhivWXqRM88bVNRJK3KdMSWETtMVWTNwLJprFnll/4rI62wColhK31uA
 EdUGge+87T6wDuGbeRx2Vi7tjZ7HXu6wpR91Cs8NcD6mZEZCc4Y=
 =5dY7
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm ARM DT updates for v5.19

This contains a long overdue overhaul of the MSM8974 DeviceTrees,
aligning the style, structure and naming with what we've learned since
the introduction of this platform.

On top of this the Sony Rhine platform gained I2C masters, NFC and
pstore support and the Fairphone 2 gained touchscreen support.

For the new SDX65 platform reserved-memory nodes, rpmpd, SPMI, CPU
clocks, SDHCI controller, SMMU and TCSR mutex was added. As was the
initial DeviceTree for the related PMX65 PMIC.

MSM8226 gained VADC and RTC support and support for the ASUS ZenWatch 2
was added.

* tag 'qcom-dts-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (62 commits)
  ARM: dts: qcom: msm8974-FP2: Add supplies for remoteprocs
  ARM: dts: qcom: msm8974-FP2: Configure charger
  ARM: dts: qcom: msm8974-FP2: Add support for touchscreen
  ARM: dts: qcom: sdx55: Remove ipa interconnect node
  ARM: dts: qcom: msm8974: Add missing license headers
  ARM: dts: qcom: msm8974-FP2: Add mmc* aliases
  ARM: dts: qcom: msm8974-FP2: We're msm8974pro
  ARM: dts: qcom-msm8974*: Remove unnecessary include
  ARM: dts: qcom-msm8974-rhine: Add pstore node
  ARM: dts: qcom-msm8974-rhine: Add NFC and enable I2C hosts
  ARM: dts: qcom-msm8974*: Clean up old GPIO declarations
  ARM: dts: qcom-msm8974*: Consolidate I2C/UART/SDHCI
  ARM: dts: qcom-msm8974*: Enable IMEM unconditionally
  ARM: dts: qcom-msm8974: Sort and clean up nodes
  ARM: dts: qcom-msm8974: Convert ADSP to a MMIO device
  ARM: dts: qcom-msm8974pro-*: Use the 8974pro name in DT filenames
  ARM: dts: qcom-msm8974pro: Use &labels
  ARM: dts: qcom-msm8974-castor: Use &labels
  ARM: dts: qcom-msm8974-{"hon","am"}ami: Commonize and modernize the DTs
  ARM: dts: qcom-msm8974-klte: Use &labels
  ...

Link: https://lore.kernel.org/r/20220509172125.313259-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 23:21:54 +02:00
Arnd Bergmann
60166b3c69 HiSilicon ARMv7 SoC updates for v5.19
- Add of_node_put to avoid the refcount leak
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmJ00gUVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZc9FAQAIqDJ8yqfJHuilRUB3Hte4M8dTUp
 4IlNAMQVthNWQZdODTH9UzIusOh24CvaOiZv78kq0bwgZeWwfDlWAjWjr6o2x/4u
 x6Blnl+9+TdCaDBJDHDtXbD2GNt5EKkKtg2C6rc5SMIaYnB8iKIFG84fftCtuNAy
 8AFVWqRMCxaVzC4B3Dbqg81My1jxlQlo66Aas8f0QRRjbZAcDm+hG8P6wJTUkM0A
 rJDlqVS6LOB9HnmN57gTQxKCugt+Xn5FxDzDSOvaubPgpV9VanUV9MblDGM7pfzT
 +eCj/yIGl8KCDeEb9OsbRkNldst2XWce+ssdY84je34Ggri1GhhKq7wA1g2hhkdt
 76WwFgb8CDwQKrkxtfA7qk2/mlCfg8kgYISwZ8ec44BFWPbZB11Oqk3njJgGX7QJ
 +S4DzpqVgqXZogI1cub2GQluphxB2IiM99cCMRmOwdcmSCFIa30oo28+bq6m5CFa
 NB8mw8Xfw/mR+HUu3f717VCeMgJTvTfSM3RAflgDTYL+JDLPLkWgwdD1l9kejnq7
 9gdkpkeYw6De7KBNpaZJB+hckszabl+e/Jj316W5kpW3p6Rt+SYnjbOFLyBtS1hq
 y5kDtlO2y/0DJ7pVDpqdAyA41vqLGUYMo+cBN62TW6LWY+L5GYeckOtevePSWZUV
 ST+79f/rft7R07C6
 =d6i+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5gp0ACgkQmmx57+YA
 GNmglQ/+O05UAHL6AoeHLLtgwhDLScjaoTk/fF11OTz3nhxZD680AYkEZTQZH/pi
 iZSpmaOQSIjMjp7aoCGD2JL3brGTgEjqQqVlUIxuhrcFd0wubPV/smJQcCLemEKh
 MwxNFIK9sQ7Krw1cEwZgiCq3MckZzwq2GqGQmHRrJnZQeBQUiCTkWb0SnsSUIfLT
 oSAN/o9s0E4u5WRvm3/fFsqJKdUMCQR/Z5FYY+2qu6sKRL5egb6u2K39KpcMqvSy
 4Nth4lpM3qveH2GlxTcPLkwEazxwDHBZt5exp0pQYuiXuxiAV8+rB4uIlOm/4g0y
 O5jgxS4yp650yJ4D9xyqU+F0oLn65OoPvtLlj1a0q/0T41jOAIWtvoiBY15Feytg
 /BNKqsNw4YM62j7DtvblHN5cdhKwjaaRwf7iPLO2KgEk0OtY9UaP51M7Svdte420
 I1hQdNTp7Bcu6dmhb0lW3HRjXjHc5YD/wNgYku076w5U9vH4pBY4mNswmIsH2Ggd
 xE3drVoEmODIwYJwD5KQr+j1YIj40mxuHrY84ONrjoHyfXdVtNplSmHSn9LQC7j2
 uYPRAzHuYSp7imrUWHh0+gYlBm1Kpp56905p/IuXX9HzLF0zW8qA3fYIaXJKKjMW
 Bmxu/ksC0EbIamS3HSjRBKNE3z+W6Euty8DH9bWjFbdjj/w43UM=
 =/DkJ
 -----END PGP SIGNATURE-----

Merge tag 'hisi-armv7soc-for-5.19' of https://github.com/hisilicon/linux-hisi into arm/soc

HiSilicon ARMv7 SoC updates for v5.19

- Add of_node_put to avoid the refcount leak

* tag 'hisi-armv7soc-for-5.19' of https://github.com/hisilicon/linux-hisi:
  ARM: hisi: Add missing of_node_put after of_find_compatible_node

Link: https://lore.kernel.org/r/62762DF0.30602@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 23:07:41 +02:00
Arnd Bergmann
a2e8bbe072 Qualcomm ARM defconfig updates for v5.19
This enables the Qualcomm random number generator and hardware crypto
 drivers, as well as DebugFS support, in the qcom defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmJ5W6sbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FEAAQAIF+PUgiPtz0zkBLWIAs
 J91P0DbAAFb5N16/blC9XOePYf2l6jT5G9w4TvW07rxQFnPWsfjBeaseSffViaj1
 zRb41wE8j9yBa0uXaSZvPP5uBDpcigFqE4CpaBwetcxNs1uiDGHQjqnYVV/EbJvP
 ZmGSVf41Rs+EzsAhnFG2FIygzO8RFnOxhkUfrfrXyDvpXkik+LHpIo7RxtYbp4at
 LfnzLl0xsVOkEJmQNn5ADzjqGdNRoOxF4dPjz+Ih9LaMCs32Z33fV3Dz8k0M4N4i
 B6aEEsmJlsmB99c0wKri0bZoFmS0ckhc2p52PVR3wBJ6jjI6xkN3b9lPIdqq4JRo
 TcerIuu/BR8LRoUV/Pxrm7iRRT0Dw5MEyUGAvJKt5KU6jugGOoQXz6CjS51JGc7J
 ikPO15weW51hgEyVog/2BGaOLeqBD1LxikcAsZUUPmsQ4mZoBAT9ljPnmM018xQn
 uNkZclX6lwO+XGZemPZg68UDHMLfu1sTfovvdGsgX6gAo3C7bP97IiyYxps01sEE
 eObJt9mp7cDECWbxQoz7I1xYbktymeIlpaU8CRLhhn4cKF12SIVeTzP/5ovX9fbT
 Fe7qKgG0PZfqemgwW3gjOduU6Ysw/RU7/pzkMT1i6xEcHmcohwpm9u7L476q5UC0
 PrH+RKnijzNZ53oIFOPh+fTD
 =/s3v
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5gmUACgkQmmx57+YA
 GNnsag/+K5z80u2PRQhUgb65qBhN6+ajxeXYDGuhKom7BCnJowh0RddRGTweqlSn
 2EsQqqHuPT1Hi420jVd//fcy2ge4z+fuGV4cPCWYzL+3SxjQLynVogtQq3kXo39e
 zqFuLOEdxMDRU075Otp+VqE7JG9t0ooVjSc/hMoCgsiRDwjyIVb+xQLnEUwGMUou
 Wt/1tCmTVfxGLU9Lwh+n1AAnBsE0gwiDeSKoMNr3JaAxmacNZJOfOmSyFxd84Rcd
 RQIE5J+74NYm2YcTBvTZjHmma9eDINaRlQ3+lY6aHKLXXDTNFAyb7KVKmqohTHlQ
 X7yfPJj95E5Jh9y1FeGe2Fs8oZwwceA2zw0hlxyLfEpiHus+kD6YHSlcNsu/JNiD
 ESerRxx2QTaBWYr8dGOVC3xWU+cS/wN6+HquNTrneTNLNIim/8EMPfU82yjVP2EX
 M3/4Jr5p8IfNiTapmxPOZN+/2/wlVdyNanm50NkHlIkzG0dW+qAlLvBYlhmZ0+jI
 NYUu3EZCA+/amKGctqCrvLcxlWcN+SJbRtCQXXgaQIi2Tv6pFP7Y0zomYHLAQqea
 n4N3ZNXgiM1lGv1JRi6Eo4pzjuPp3Y1zz/tkFcMXow1eyno/cN2K6ZfHYv9pubgH
 ZQCyhnAV0ITVttX+mXL9UWsacSw14xEIeA98cK2fdSYHW6SoXnQ=
 =E9Ka
 -----END PGP SIGNATURE-----

Merge tag 'qcom-defconfig-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig

Qualcomm ARM defconfig updates for v5.19

This enables the Qualcomm random number generator and hardware crypto
drivers, as well as DebugFS support, in the qcom defconfig.

* tag 'qcom-defconfig-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: qcom_defconfig: enable debug fs support
  ARM: qcom_defconfig: enable options for Qualcomm random number generator

Link: https://lore.kernel.org/r/20220509182209.317208-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 23:06:45 +02:00
Arnd Bergmann
1758da7f31 i.MX defconfig update for 5.19:
- Enable the WM8524 codec driver as module in arm64 defconfig for audio
   support on imx8mn-evk board.
 - Enable the ADC part of the STMPE MFD in imx_v6_v7_defconfig, as the
   SoM Apalis/Colibri iMX6 use the ADC of a STMPE 811.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmJ3OOMUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM43JwgAgKOb0UndVfyEOV02LPQoVYiEN0P9
 cKbenz/IpXFT0fDYyTezg1BmU7T5KH4dg8R40JZdmeOjhEkpigXs1EEVEeBy9Dws
 j7RjV+vL/i4shN4j6dYXsWGxLf3E96eNIqMfy4kRfJygTbg/99sgC/YT29OI1TJO
 uyJJHqmBvLcfG4kAoYc3W17PM37JD9T6A3DvDZTn5PRgBd8ywK5ydyrqgKgTG6f9
 CD6nIyW396rC26+v0Gzrc/0zgxGjLJznD2iiGxyR8Sa6ILYdyXQEIsK5XOst9/PS
 E0EnM3HA3icr1bvUUyztdRBuRlYq/BR73GCAWHSpi55Nfh5bT3dCHrpZwQ==
 =kFqE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5gawACgkQmmx57+YA
 GNkwtg//aobpTxR/CaTJHQcAanC3amr0ysCr/LOR9Oy+0JdxJ1+GW13fG8BYFCvr
 oA3Ie87DwlkrJYceJRrY3rwSCZ7Ajtw1hJAIH8wYj1Lh5nUtK6fopPfaSHxqNcer
 otr3EBpXSORD7aA5TNWNDVJIA/XplDQsbQpwrpay00tLoyo9+IpJ/eh8m6IL/Wbh
 avJ309rbpqBsfV7jIwoNx/eqCtnNl6qhTFnltdlFigSkyPG4MmGcMUXtV5YZaxFE
 b/Mf9Mm191nse3nmQSJjMVCt8cu2FeMYoEs96nKmYmKf67GJhTOXOIZMEDAn421V
 215RN86/rNjzxfjNvcLWGC86Q3YnkLRfE0BZ9YWo3lvUAI8wFzCsPNCiuYogwARa
 gSKg5DwihO+JfHEcguUjdNNYmEHVORDyegS4uhjSbLL/QplwZoTM0tTbfi1PcFDr
 yDlVKP2lTU63Es15taK89PO43Y2Ypl1VMisUP+nUXiu0cQk6wgbkc2rtMohUOBqc
 +Pd/npmuPrTHaahbvX8YkkrFt5V0rDeDPiYGMFA7ZpxTtExgHEFN99AAv9p1+2fP
 GlzK7OoivxIn23wYduTfrONON+g0bE89Nj2Rn9Brr95K/J3bNFF7bB2+f/NxpGhV
 UiF6oTXBI1/4E8fVRuE08xQ4FnESV2WoV6lLlLupe6+aZFXgyCo=
 =pAvl
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/defconfig

i.MX defconfig update for 5.19:

- Enable the WM8524 codec driver as module in arm64 defconfig for audio
  support on imx8mn-evk board.
- Enable the ADC part of the STMPE MFD in imx_v6_v7_defconfig, as the
  SoM Apalis/Colibri iMX6 use the ADC of a STMPE 811.

* tag 'imx-defconfig-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable the WM8524 codec driver
  ARM: imx_v6_v7_defconfig: Enable the ADC part of the STMPE MFD

Link: https://lore.kernel.org/r/20220508033843.2773685-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 23:03:40 +02:00
Mark Brown
553a4ee1c0
ARM: configs: Enable audio on BeagleBone Black in multi_v7_defconfig
The BeagleBone Black supports audio over HDMI, using a combination of the
DaVinci McASP (used for audio by a very large proportion of DaVinci systems
with audio support) and a TDA998x device driving the HDMI link (this is a
very widely used driver). Build both drivers as modules in multi_v7_defconfig
so they can be more easily included in testing.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Bartosz Golaszewski <brgl@bgdev.pl>
Link: https://lore.kernel.org/r/20220506222646.1671474-1-broonie@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 16:30:59 +02:00
Arnd Bergmann
41f0bbd621 - F1C100 improvements (SPI, MMC, timer, cpu, watchdog)
- SPI flash node for licheepi-nano
 - enabled analogue audio on olinuxino-a64
 - GPIO port regulators on teres-i
 - remove undocumented property from nanopi
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCYngs9QAKCRB0Ba7+DO8k
 kx2QAP0U/xiRayyQozhfQzmOOwwFtLn+7SRuYVjCPeUkRRDYAAD/eK9y8XY3wEdg
 xIfbbhQkR+FZyzOiPazKPq4pUmJKyQ4=
 =O98P
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5IrcACgkQmmx57+YA
 GNlIcA/9HYDdub3KgoDMkhZxjzrmYPD/49z8po78nWNtWK+RDkO27P6UkHkZ0h8N
 wYKl93atfw8xvp+EHL8eenuhvRtaocHQGCTh1gzaBew17RQ4vQmFREc6trVbudQz
 o7/LlcS2iLbd4am6FPE55G/4dD5I9nFam/8Vm7cFU8WN0XRdLuIz/hvDr7lYzK2f
 IY8Vw7XhHd3eI1+hpxEXhJ8CeyRhsrY0hcitDsML36TT7MnJfSnOHLXRAtTIcROz
 gHEpyscQIvbP60uXZ0HSv68hioJJ7AeIXV5suKPwGhfp60iGUrdpENAM1MozlSRf
 4PV7iCX+qGm8zUT/OiYSWLqHZTb9+uDWwiJstlRhe5W2OxnpsfWxztwYYEClxWkh
 fpZ1wFQBSbSjFCsU7laxPdNhET6PH3G147O/uRCZknQ3uxeEeApZTKbO55TCXWvX
 MuzIXd5LupKJk/dZg2Y1DNKSgT91VYWr33lWBwwZECps+s3IeyBHkVg5ieOuV1Sr
 C9x8O1VgdL2y/FspnzaslRBogCRBGCI2wRw6IcZdNSh48uU8d2y5Zk6nc42LvcNl
 REI7zQ3HYVSOvL+HCSYFTeDXsIhGo3XHCiIB+PHh2XmalWEZeQzok3Y6sD2zXaFb
 fOLMKN4pAgPFQDDX6aPnAL+o5lSC7Zv8gkWlmJisQVWi8STVa7A=
 =wbT9
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

- F1C100 improvements (SPI, MMC, timer, cpu, watchdog)
- SPI flash node for licheepi-nano
- enabled analogue audio on olinuxino-a64
- GPIO port regulators on teres-i
- remove undocumented property from nanopi

* tag 'sunxi-dt-for-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sunxi: nanopi: Remove input-name property

Link: https://lore.kernel.org/r/Yngton59OacOR2ht@kista.localdomain
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 16:18:31 +02:00
Arnd Bergmann
7665a85a69 Keystone2 device tree updates for v5.19
* Cleanups for SPI NOR / flash
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmJ2nHYACgkQ3bWEnRc2
 JJ0v1A/+K4ty/ZIrPljjE6YJOS4nHANov3qBMUHM8occk9MwuStt/n/9NmlSAZQD
 KkAU7yrYNSWQyDV4C+sFmBN4HPWQ8EJmbxOAKA0tS5UV0PaqTGqkYuZsAHFduk2Z
 cdnmBVMGtZkqWNs9Ao2Grjb67M3vNy1zkrNsr9ri+J+sV2HzC6UFJ+efvycw4keJ
 4+vZYpt7rtKiKgWrs9nYlAqNucwcuGqESd0xdv+dBLvUKoUur4jNkZLH5RWTh8o9
 JYvP0j9G2LGq/KihUJU2FYzJHHXOmNNhAH3Wyo1PdAcOqCboBkVBd+qzrsLYHAwG
 IEgnK8vQtleU7bBhWTRlKlxSQATiY/YsqAj0MhtCAYRnZDIoCmUdgALTQ5dgzoJI
 Gr7fUJM9HqZwzBumLx2UlPQYMPVyoGuK9ILd22DhUUMMGjD1UcVK+AttjaMsx0j6
 8cPHnEX0KttYxIQR2V+9cPRxmHx60kxkgyDKZqnsHSxTRQ0+t+tBfhMq8Dl9mLXW
 5/DjlkzgcIFosl+j0QLU/VDgryt3ao59pHYmYMHclgev4/On+Hly2NTCH2lWLf+x
 Zf9icVV40Sjpa54FgVCpJGqmxYGPkhUu3B1MdEoMtVjMCcRO59uxy4rqieL3u6VT
 paAjIDdBZHBSKEeJSlk6BfCjXvOU0Qxx16IyJOwVGPEAoYGM7ZM=
 =GE1q
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmJ5BR0ACgkQmmx57+YA
 GNnqoRAAvwqTXyTeElO4Es5UVbMhiE8YKlKbiD9kLhAs2MDXhKbHsyFi9ypcWsFg
 pTjzKb7cOSz4dD2yiWKQp7s39pK65CwfNLH7tY842vaZVrIAxJ3qBwpTyG/g7WKI
 W8pUYBAQ2XF5ytkFqL3DU+udwxanCWUfMfx4sk+87KeNCBKGd5b9Cqtla9cimzq2
 uwWnSpwD6pKZVG9AuJt5ILBmuUb+kzpKZrVVPJOWsTgROUfhardGKrhiprTqDlW4
 I4bUo5cTdda6LpYb35bgKi7bASzxJBlHjSm6/sNuTN5uaylcyRStL7eznyJwtal5
 tfgTG8vBPs6CN9wKlJDZEuD0eQ68KrlN9EXv6O9nY2VO5cmPtY1uU15tEFfEwA2O
 h+WAep/R3ckjIjSbjNOEkL9LGbMCfRukTPUcO1hzqt78ku80sus5g9q7liebaUol
 Osck00b7TjvwCD0J9EoNy+xZsxsWq7wGY0Mca9Xi2YgYX4+Wl652e9CQkF+3QhNc
 s+MgdLBtS/V33lvpyRdfYr73bzmbJXLceDAofStbbXZFjUdCk07TUU6Hmyvp285Q
 m/H1rULaztJlJy+B9i1RzFbaChnp3Ji1Bcf3mqV7Z/ePZEAF7BaSSDn+eXBplV64
 qgZadJdjwvlZSxYIEYgi85j+XfMj3QpEIdnVAOVZmG9Sc2t6Lyo=
 =nzZG
 -----END PGP SIGNATURE-----

Merge tag 'ti-keystone-dt-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/dt

Keystone2 device tree updates for v5.19

* Cleanups for SPI NOR / flash

* tag 'ti-keystone-dt-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  ARM: dts: keystone: Fix missing fallback and case in SPI NOR node compatible
  ARM: dts: keystone: Align SPI NOR node name with dtschema

Link: https://lore.kernel.org/r/20220507163435.tcg46cacwqhe7n64@busily
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-09 14:12:13 +02:00
Julia Lawall
0431de14ae orion5x: fix typos in comments
Various spelling mistakes in comments.
Detected with the help of Coccinelle.

Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2022-05-09 10:35:55 +02:00
Dang Huynh
092b3ace58 ARM: dts: sunxi: nanopi: Remove input-name property
This property doesn't seem to exist in the documentation nor
in source code, but for some reason it is defined in a bunch
of device trees.

Signed-off-by: Dang Huynh <danct12@riseup.net>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220425064231.243482-1-danct12@riseup.net
2022-05-08 22:47:35 +02:00
Kees Cook
613f4b3ed7 randstruct: Split randstruct Makefile and CFLAGS
To enable the new Clang randstruct implementation[1], move
randstruct into its own Makefile and split the CFLAGS from
GCC_PLUGINS_CFLAGS into RANDSTRUCT_CFLAGS.

[1] https://reviews.llvm.org/D121556

Cc: linux-hardening@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220503205503.3054173-5-keescook@chromium.org
2022-05-08 01:33:06 -07:00
Arnd Bergmann
250c1a694f ARM: pxa: convert to multiplatform
PXA is now ready to be built into a single kernel with all the
other ARMv5 platforms, so change the Kconfig bit to finish it
off. The mach/uncompress.h support is the last bit that goes away,
getting replaced with the normal DEBUG_LL based approach.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:17 +02:00
Arnd Bergmann
645b302673 ARM: pxa/sa1100: move I/O space to PCI_IOBASE
PXA and StrongARM1100 traditionally map their I/O space 1:1 into virtual
memory, using a per-bus io_offset that matches the base address of the
ioremap mapping.

In order for PXA to work in a multiplatform config, this needs to
change so I/O space starts at PCI_IOBASE (0xfee00000). Since the pcmcia
soc_common support is shared with StrongARM1100, both have to change at
the same time. The affected machines are:

 - Anything with a PCMCIA slot now uses pci_remap_iospace, which
   is made available to PCMCIA configurations as well, rather than
   just PCI. The first PCMCIA slot now starts at port number 0x10000.

 - The Zeus and Viper platforms have PC/104-style ISA buses,
   which have a static mapping for both I/O and memory space at
   0xf1000000, which can no longer work. It does not appear to have
   any in-tree users, so moving it to port number 0 makes them
   behave like a traditional PC.

 - SA1100 does support ISA slots in theory, but all machines that
   originally enabled this appear to have been removed from the tree
   ages ago, and the I/O space is never mapped anywhere.

 - The Nanoengine machine has support for PCI slots, but looks
   like this never included I/O space, the resources only define the
   location for memory and config space.

With this, the definitions of __io() and IO_SPACE_LIMIT can be simplified,
as the only remaining cases are the generic PCI_IOBASE and the custom
inb()/outb() macros on RiscPC.  S3C24xx still has a custom inb()/outb()
in this here, but this is already removed in another branch.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:17 +02:00
Arnd Bergmann
5414bea9a4 ARM: pxa: remove support for MTD_XIP
Using MTD-XIP does not work on multiplatform kernels because
it requires SoC specific register accesses to be done from
low-level flash handling functions in RAM while the rest of the
kernel sits in flash.

I found no evidence of anyone still actually using this feature,
so remove it from PXA to avoid spending a lot of time on
actually making it work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:17 +02:00
Arnd Bergmann
e6acc4062c ARM: pxa: move mach/*.h to mach-pxa/
None of the headers are included from outside of the mach-pxa
directory, so move them all in there.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:17 +02:00
Arnd Bergmann
c8a9142894 ARM: PXA: fix multi-cpu build of xsc3
On a kernel that includes both ARMv4 and XScale support,
the copypage function fails to build with invalid
instructions.

Since these are only called on an actual XScale processor,
annotate the assembly with the correct .arch directive.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:16 +02:00
Arnd Bergmann
64dbc4dd7a ARM: pxa: move plat-pxa to drivers/soc/
There are two drivers in arch/arm/plat-pxa: mfp and ssp. Both
of them should ideally not be needed at all, as there are
proper subsystems to replace them.

OTOH, they are self-contained and can simply be normal
SoC drivers, so move them over there to eliminate one more
of the plat-* directories.

Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> (mach-pxa)
Acked-by: Lubomir Rintel <lkundrak@v3.sk> (mach-mmp)
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:16 +02:00
Arnd Bergmann
6922a3d14e ARM: mmp: rename pxa_register_device
In a multiplatform kernel that includes both pxa and mmp, we get a link
failure from the clash of two pxa_register_device functions.

Rename the one in mach-mmp to mmp_register_device, along with with the
rename of pxa_device_desc.

Acked-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:16 +02:00
Arnd Bergmann
340d013358 ARM: mmp: remove tavorevb board support
There are two tavorevb boards in the kernel, one using a PXA930 chip in
mach-pxa, and one using the later PXA910 chip in mach-mmp.  They use the
same board number, which is generally a bad idea, and in a multiplatform
kernel, we can end up with funny link errors like this one resulting
from two boards gettting controlled by the same Kconfig symbol:

arch/arm/mach-mmp/tavorevb.o: In function `tavorevb_init':
tavorevb.c:(.init.text+0x4c): undefined reference to `pxa910_device_uart1'
tavorevb.c:(.init.text+0x50): undefined reference to `pxa910_device_gpio'
tavorevb.o:(.arch.info.init+0x54): undefined reference to `pxa910_init_irq'
tavorevb.o:(.arch.info.init+0x58): undefined reference to `pxa910_timer_init'

The mach-pxa TavorEVB seems much more complete than the mach-mmp one
that supports only uart, gpio and ethernet. Further, I could find no
information about the board on the internet aside from references to
the Linux kernel, so I assume this was never available outside of Marvell
and can be removed entirely.

There is a third board named TavorEVB in the Kconfig description,
but this refers to the "TTC_DKB" machine. The two are clearly
related, so I change the Kconfig description to just list both
names.

Cc: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:16 +02:00
Arnd Bergmann
b72232b420 ARM: pxa: remove unused mach/bitfield.h
The sa1111.h header defines some constants using the bitfield
macros, but those are only used on sa1100, not on pxa, and the
users include the bitfield header through mach/hardware.h.

Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:56:16 +02:00
Arnd Bergmann
3c816d950a ARM: pxa: move clk register definitions to driver
The clock register definitions are now used (almost) exclusively in the
clk driver, and that relies on no other mach/*.h header files any more.

Remove the dependency on mach/pxa*-regs.h by addressing the registers
as offsets from a void __iomem * pointer, which is either passed from
a board file, or (for the moment) ioremapped at boot time from a hardcoded
address in case of DT (this should be moved into the DT of course).

Cc: linux-clk@vger.kernel.org
Acked-by: Stephen Boyd <sboyd@kernel.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
fd13f8117f ARM: pxa: move smemc register access from clk to platform
The get_sdram_rows() and get_memclkdiv() helpers need smemc
register that are separate from the clk registers, move
them out of the clk driver, and use an extern declaration
instead.

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: linux-clk@vger.kernel.org
Link: https://lore.kernel.org/lkml/87pnielzo4.fsf@belgarion.home/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
5c6603e741 cpufreq: pxa3: move clk register access to clk driver
The driver needs some low-level register access for setting
the core and bus frequencies. These registers are owned
by the clk driver, so move the low-level access into that
driver with a slightly higher-level interface and avoid
any machine header file dependencies.

Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-clk@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
e0a3596eb8 ARM: pxa: remove get_clk_frequency_khz()
get_clk_frequency_khz() is not a proper name for a global function,
and there is only one caller.

Convert viper to use the properly namespaced
pxa25x_get_clk_frequency_khz() and remove the other references.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
6a946f1bd5 ARM: pxa: pcmcia: move smemc configuration back to arch
Rather than poking at the smemc registers directly from the
pcmcia/pxa2xx_base driver, move those bits into machine file
to have a cleaner interface.

Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Link: https://lore.kernel.org/lkml/87d0egjzxk.fsf@belgarion.home/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
8ff064521f ASoC: pxa: ac97: use normal MMIO accessors
To avoid dereferencing hardwired constant pointers from a global header
file, change the driver to use devm_platform_ioremap_resource for getting
an __iomem pointer, and then using readl/writel on that.

Each pointer dereference gets changed by a search&replace, which leads
to a few overlong lines, but seems less risky than trying to clean up
the code at the same time.

Cc: alsa-devel@alsa-project.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:49 +02:00
Arnd Bergmann
f0b66b606a ARM: pxa: zylonite: use gpio lookup instead mfp header
The mach/mfp.h header is only used by this one driver
for hardcoded gpio numbers. Change that to use a lookup
table instead.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:48 +02:00
Arnd Bergmann
0ca7231fe3 ARM: pxa: mainstone-wm97xx: use gpio lookup table
This driver hardcodes gpio numbers without a header file.
Use lookup tables instead.

Cc: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-input@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:48 +02:00
Arnd Bergmann
f1131a46f3 ARM: pxa: magician: use platform driver for audio
The magician audio driver creates a codec device and gets
data from a board specific header file, both of which is
a bit suspicious. Move these into the board file itself,
using a gpio lookup table.

Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: alsa-devel@alsa-project.org
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:48 +02:00
Arnd Bergmann
83a551c82d ARM: pxa: z2: use gpio lookup for audio device
The audio device is allocated by the audio driver, and it uses a gpio
number from the mach/z2.h header file.

Change it to use a gpio lookup table for the device allocated by the
driver to keep the header file local to the machine.

Acked-by: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:48 +02:00
Arnd Bergmann
2164598383 ARM: pxa: eseries: use gpio lookup for audio
The three eseries machines have very similar drivers for audio, all
using the mach/eseries-gpio.h header for finding the gpio numbers.

Change these to use gpio descriptors to avoid the header file
dependency.

I convert the _OFF gpio numbers into GPIO_ACTIVE_LOW ones for
consistency here.

Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Cc: alsa-devel@alsa-project.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:48 +02:00
Arnd Bergmann
726d8c965b ARM: pxa: spitz: use gpio descriptors for audio
The audio driver should not use a hardwired gpio number
from the header. Change it to use a lookup table.

Acked-by: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:47 +02:00
Arnd Bergmann
047dc2a21e ARM: pxa: lubbock: pass udc irqs as resource
Lubbock is the only machine that has three IRQs for the UDC.
These are currently hardcoded in the driver based on a
machine header file.

Change this to use platform device resources as we use for
the generic IRQ anyway.

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:47 +02:00
Arnd Bergmann
e6c91e1adf ARM: pxa: hx4700: use gpio descriptors for audio
The audio driver should not use a hardwired gpio number
from the header. Change it to use a lookup table.

Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Paul Parsons <lost.distance@yahoo.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: alsa-devel@alsa-project.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:47 +02:00
Arnd Bergmann
2f361e9459 ARM: pxa: corgi: use gpio descriptors for audio
The audio driver should not use a hardwired gpio number
from the header. Change it to use a lookup table.

Acked-by: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:47 +02:00
Arnd Bergmann
ac70f4d80d ARM: pxa: poodle: use platform data for poodle asoc driver
The poodle audio driver shows its age by using a custom
gpio api for the "locomo" support chip.

In a perfect world, this would get converted to use gpiolib
and a gpio lookup table.

As the world is not perfect, just pass all the required data
in a custom platform_data structure. to avoid the globally
visible mach/poodle.h header.

Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: alsa-devel@alsa-project.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:47 +02:00
Linus Walleij
813c2aee51 ARM/pxa/mfd/power/sound: Switch Tosa to GPIO descriptors
The Tosa device (Sharp SL-6000) has a mishmash driver set-up
for the Toshiba TC6393xb MFD that includes a battery charger
and touchscreen and has some kind of relationship to the SoC
sound driver for the AC97 codec. Other devices define a chip
like this but seem only half-implemented, not really handling
battery charging etc.

This patch switches the Toshiba MFD device to provide GPIO
descriptors to the battery charger and SoC codec. As a result
some descriptors need to be moved out of the Tosa boardfile
and new one added: all SoC GPIO resources to these drivers
now comes from the main boardfile, while the MFD provide
GPIOs for its portions.

As a result we can request one GPIO from our own GPIO chip
and drop two hairy callbacks into the board file.

This platform badly needs to have its drivers split up and
converted to device tree probing to handle this quite complex
relationship in an orderly manner. I just do my best in solving
the GPIO descriptor part of the puzzle. Please don't ask me
to fix everything that is wrong with these driver to todays
standards, I am just trying to fix one aspect. I do try to
use modern devres resource management and handle deferred
probe using new functions where appropriate.

Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Dirk Opfer <dirk@opfer-online.de>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Daniel Mack <daniel@zonque.org>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Reviewed-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-05-07 22:55:33 +02:00
Eric W. Biederman
5bd2e97c86 fork: Generalize PF_IO_WORKER handling
Add fn and fn_arg members into struct kernel_clone_args and test for
them in copy_thread (instead of testing for PF_KTHREAD | PF_IO_WORKER).
This allows any task that wants to be a user space task that only runs
in kernel mode to use this functionality.

The code on x86 is an exception and still retains a PF_KTHREAD test
because x86 unlikely everything else handles kthreads slightly
differently than user space tasks that start with a function.

The functions that created tasks that start with a function
have been updated to set ".fn" and ".fn_arg" instead of
".stack" and ".stack_size".  These functions are fork_idle(),
create_io_thread(), kernel_thread(), and user_mode_thread().

Link: https://lkml.kernel.org/r/20220506141512.516114-4-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2022-05-07 09:01:59 -05:00
Eric W. Biederman
c5febea095 fork: Pass struct kernel_clone_args into copy_thread
With io_uring we have started supporting tasks that are for most
purposes user space tasks that exclusively run code in kernel mode.

The kernel task that exec's init and tasks that exec user mode
helpers are also user mode tasks that just run kernel code
until they call kernel execve.

Pass kernel_clone_args into copy_thread so these oddball
tasks can be supported more cleanly and easily.

v2: Fix spelling of kenrel_clone_args on h8300
Link: https://lkml.kernel.org/r/20220506141512.516114-2-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2022-05-07 09:01:48 -05:00
Marcel Ziswiler
19a434aa3e ARM: dts: imx6ull-colibri: improve pinctrl node names
Improve on pinctrl node names.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:37 +08:00
Marcel Ziswiler
a5fa132bbe ARM: dts: imx6ull-colibri: move gpio-keys node to som dtsi
The gpio-keys define module level wake-up pin functionality. Move it
from the carrier board dts file to the Som dtsi file.
While at it, also re-order the properties in the gpio-keys node
alphabetically and rename to sub-node from power to wakeup.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:35 +08:00
Marcel Ziswiler
17c101d839 ARM: dts: imx6ull-colibri: add/update some comments
Add/update some comments.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:32 +08:00
Marcel Ziswiler
5484536885 ARM: dts: imx6ull-colibri: fix nand bch geometry
Fix NAND BCH geometry relevant mainly for U-Boot.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:30 +08:00
Denys Drozdov
015feccc77 ARM: dts: imx6ull-colibri: add support for toradex aster carrier boards
Add support for Toradex Aster, small form-factor Colibri Arm
Computer Module family carrier board.

Aster Device Trees:
- imx6ull-colibri-aster.dtb
- imx6ull-colibri-emmc-aster.dtb
- imx6ull-colibri-wifi-aster.dtb

Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:28 +08:00
Denys Drozdov
613d063240 ARM: dts: imx6ull-colibri: add support for toradex iris carrier boards
Add support for Toradex Iris, small form-factor Pico-ITX Colibri Arm
Computer Module family carrier boards.

Iris Device Trees:
- imx6ull-colibri-iris.dtb
- imx6ull-colibri-emmc-iris.dtb
- imx6ull-colibri-wifi-iris.dtb

Iris-V2 Device Trees:
- imx6ull-colibri-iris-v2.dtb
- imx6ull-colibri-emmc-iris-v2.dtb
- imx6ull-colibri-wifi-iris-v2.dtb

Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-05-07 09:53:25 +08:00