ARM: SoC drivers for v5.13

Updates for SoC specific drivers include a few subsystems that
have their own maintainers but send them through the soc tree:

 -  Add tracepoints around calls to secure world

Memory controller drivers:
 - Minor fixes for Renesas, Exynos, Mediatek and Tegra platforms
 - Add debug statistics to Tegra20 memory controller
 - Update Tegra bindings and convert to dtschema

ARM SCMI Firmware:
 - Support for modular SCMI protocols and vendor specific extensions
 - New SCMI IIO driver
 - Per-cpu DVFS

The other driver changes are all from the platform maintainers
directly and reflect the drivers that don't fit into any other
subsystem as well as treewide changes for a particular platform.

 - Various cleanups contributed by Krzysztof Kozlowski

 - add MT8183 support to mutex driver
 - MMSYS: use per SoC array to describe the possible routing
 - add MMSYS support for MT8183 and MT8167
 - add support for PMIC wrapper with integrated arbiter
 - add support for MT8192/MT6873

 - Bug fixes to PMC and clock drivers

 - Update SCU power domain driver to keep console domain power on.
 - Add missing ADC1 power domain to SCU power domain driver.
 - Update comments for single global power domain in SCU power domain
 - Add i.MX51/i.MX53 unique id support to i.MX SoC driver.

NXP/FSL SoC driver updates for v5.13
 - Add ACPI support for RCPM driver
 - Use generic io{read,write} for QE drivers after performance optimized
   for PowerPC
 - Fix QBMAN probe to cleanup HW states correctly for kexec
 - Various cleanup and style fix for QBMAN/QE/GUTS drivers

 - Preparation to use devicetree for genpd
 - ti-sysc needs iorange check improved when the interconnect target module
   has no control registers listed
 - ti-sysc needs to probe l4_wkup and l4_cfg interconnects first to avoid
   issues with missing resources and unnecessary deferred probe
 - ti-sysc debug option can now detect more devices
 - ti-sysc now warns if an old incomplete devicetree data is found as we
   now rely on it being complete for am3 and 4
 - soc init code needs to check for prcm and prm nodes for omap4/5 and dra7
 - omap-prm driver needs to enable autoidle retention support for omap4
 - omap5 clocks are missing gpmc and ocmc clock registers
 - pci-dra7xx now needs to use builtin_platform_driver instead of using
   builtin_platform_driver_probe for deferred probe to work

Raspberry Pi:
 - Fix-up all RPi firmware drivers so as for unbind to happen in an
   orderly fashion
 - Support for RPi's PoE hat PWM bus

 - Improved detection for SCM calling conventions
 - Support for OEM specific wifi firmware path
 - Added drivers for SC7280/SM8350: RPMH, LLCC< AOSS QMP

Signed-off-by: Arnd Bergmann <>
soc: aspeed: fix a ternary sign expansion bug

The intent here was to return negative error codes but it actually
returns positive values.  The problem is that type promotion with
ternary operations is quite complicated.

"ret" is an int.  "copied" is a u32.  And the snoop_file_read() function
returns long.  What happens is that "ret" is cast to u32 and becomes
positive then it's cast to long and it's still positive.

Fix this by removing the ternary so that "ret" is type promoted directly
to long.

Fixes: 3772e5da4454 ("drivers/misc: Aspeed LPC snoop output using misc chardev")
Signed-off-by: Dan Carpenter <>
Signed-off-by: Joel Stanley <>
Reviewed-by: Patrick Venture <>
Signed-off-by: Arnd Bergmann <>
1 file changed