Commit Graph

3703 Commits

Author SHA1 Message Date
Conor Dooley
a8f00589be soc: microchip: mpfs: print service status in warning message
Now that resp_status is set for failed services, print the status in the
error path's warning.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-06 12:06:18 +00:00
Conor Dooley
742aa6c563 soc: microchip: mpfs: enable access to the system controller's flash
The system controller has a flash that contains images used to reprogram
the FPGA using IAP (In-Application Programming).
Introduce a function that allows a driver with a reference to the system
controller to get one to a flash device attached to it.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-12-06 12:06:18 +00:00
Dmitry Baryshkov
2bcca96abf soc: qcom: pmic-glink: switch to DRM_AUX_HPD_BRIDGE
Use the freshly defined DRM_AUX_HPD_BRIDGE instead of open-coding the
same functionality for the DRM bridge chain termination.

Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Acked-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231203114333.1305826-6-dmitry.baryshkov@linaro.org
2023-12-04 16:07:29 +02:00
Konrad Dybcio
e84e61bdb9 soc: qcom: stats: Add DDR sleep stats
Add DDR sleep stats that include:

- the available RAM low power states
- per-state residency information
- per-frequency residency information (for some freqs only, it seems)
- DDR vote information (AB/IB)

and some magic thing that we're yet to decode.

Based on the msm-5.4 downstream implementation, debugged with some help
from Qualcomm's Maulik Shah.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231130-topic-ddr_sleep_stats-v1-2-5981c2e764b6@linaro.org
[bjorn: Add missing bitfield.h include]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-12-03 19:17:09 -08:00
Rob Herring
4dae8c047a soc: apple: mailbox: Add explicit include of platform_device.h
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other and pull in various other headers. In
preparation to fix this, adjust the includes for what is actually needed.

platform_device.h is implicitly included by of_platform.h, but that's going
to be removed.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-11-23 19:10:47 +09:00
Hector Martin
c84292d9d2 soc: apple: mailbox: Rename config symbol to APPLE_MAILBOX
With the original owner of APPLE_MAILBOX removed, let's rename the new
APPLE_MBOX to the old name. This avoids .config churn for downstream
users, and leaves us with an identical config symbol and module name as
before.

Acked-by: Eric Curtin <ecurtin@redhat.com>
Acked-by: Neal Gompa <neal@gompa.dev>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-11-23 19:10:39 +09:00
Hector Martin
bb538effdc soc: apple: rtkit: Port to the internal mailbox driver
Now that we have a mailbox driver in drivers/soc/apple, port the RTKit
code to it. This mostly just entails replacing calls through the mailbox
subsystem with direct calls into the driver.

Acked-by: Eric Curtin <ecurtin@redhat.com>
Acked-by: Neal Gompa <neal@gompa.dev>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-11-23 19:10:17 +09:00
Hector Martin
6e1457fcad soc: apple: mailbox: Add ASC/M3 mailbox driver
This new driver is based on the existing apple-mailbox driver, but
replaces the usage of the mailbox subsystem with directly exported
symbols.

As part of this refactor, this adds support for using the hardware FIFOs
(not supported in mailbox) and implicitly fixes a bunch of bugs caused
by bad interactions with the mailbox subsystem. It also adds runtime-PM
support.

The new config symbol is APPLE_MBOX, while the module name remains
identical ("apple-mailbox"). The configs are mutually exclusive in
Kconfig, to avoid conflicts.

Acked-by: Eric Curtin <ecurtin@redhat.com>
Acked-by: Neal Gompa <neal@gompa.dev>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-11-23 19:10:15 +09:00
Hector Martin
57b79ac9f4 soc: apple: rtkit: Get rid of apple_rtkit_send_message_wait
It is fundamentally broken and has no users. Just remove it.

Acked-by: Eric Curtin <ecurtin@redhat.com>
Acked-by: Neal Gompa <neal@gompa.dev>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-11-23 19:09:24 +09:00
Conor Dooley
971f128bb2 soc: sifive: shunt ccache driver to drivers/cache
Move the ccache driver over to drivers/cache, out of the drivers/soc
dumping ground, to this new collection point for cache controller
drivers.

Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Tested-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-11-22 11:49:25 +00:00
Tanmay Shah
9c6724abf9 soc: xilinx: fix unhandled SGI warning message
Xen broadcasts SGI to each VM when multiple VMs run on Xen hypervisor. In
such case spurious SGI is expected if one event is registered by one VM and
not registered by another VM. We let users know that Unhandled SGI is not
error and expected if kernel is running on Xen hypervisor.

Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Link: https://lore.kernel.org/r/1698431039-2734260-1-git-send-email-radhey.shyam.pandey@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-11-15 15:04:59 +01:00
Michal Simek
4c0afac2df soc: xilinx: fix quoted string split across lines
Fix checkpatch warning "quoted string split across lines".
No functional change.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Link: https://lore.kernel.org/r/1698430295-2731040-1-git-send-email-radhey.shyam.pandey@amd.com
2023-11-15 15:04:05 +01:00
HariBabu Gattem
daed80ed07 soc: xilinx: Fix for call trace due to the usage of smp_processor_id()
When preemption is enabled in kernel and if any task which can be
preempted should not use smp_processor_id() directly, since CPU
switch can happen at any time, the previous value of cpu_id
differs with current cpu_id. As a result we see the below call trace
during xlnx_event_manager_probe.

[ 6.140197] dump_backtrace+0x0/0x190
[ 6.143884] show_stack+0x18/0x40
[ 6.147220] dump_stack_lvl+0x7c/0xa0
[ 6.150907] dump_stack+0x18/0x34
[ 6.154241] check_preemption_disabled+0x124/0x134
[ 6.159068] debug_smp_processor_id+0x20/0x2c
[ 6.163453] xlnx_event_manager_probe+0x48/0x250

To protect cpu_id, It is recommended to use get_cpu()/put_cpu()
to disable preemption, get the cpu_id and enable preemption respectively.
(For Reference, Documentation/locking/preempt-locking.rst and
Documentation/kernel-hacking/hacking.rst)

Use preempt_disable()/smp_processor_id()/preempt_enable()
API's to achieve the same.

Signed-off-by: HariBabu Gattem <haribabu.gattem@xilinx.com>
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
Link: https://lore.kernel.org/r/20231027055622.21544-1-jay.buddhabhatti@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-11-15 15:02:25 +01:00
Uwe Kleine-König
f1013d8405 soc/xilinx: zynqmp_power: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230925095532.1984344-41-u.kleine-koenig@pengutronix.de
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-11-15 13:57:25 +01:00
Jaewon Kim
beea67c7c2 soc: samsung: exynos-chipid: add exynosautov920 SoC support
Add EXYNOSAUTOV920 information to soc_ids tables. This SoC product id
is "0x0A920000".

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Link: https://lore.kernel.org/r/20231115095609.39883-10-jaewon02.kim@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-11-15 13:42:50 +01:00
Neil Armstrong
086fdb48bc soc: qcom: add ADSP PDCharger ULOG driver
The Qualcomm PMIC PDCharger ULOG driver provides access to logs of
the ADSP firmware PDCharger module in charge of Battery and Power
Delivery on modern systems.

Implement trace events as a simple rpmsg driver with an 1s interval
to retrieve the messages.

The interface allows filtering the messages by subsystem and priority
level, this could be implemented later on.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230908-topic-sm8550-upstream-pdcharge-ulog-v1-1-d1b16b02ced2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-11-14 11:06:24 -06:00
Linus Torvalds
707df298cb powerpc updates for 6.7
- Add support for KVM running as a nested hypervisor under development versions
    of PowerVM, using the new PAPR nested virtualisation API.
 
  - Add support for the BPF prog pack allocator.
 
  - A rework of the non-server MMU handling to support execute-only on all platforms.
 
  - Some optimisations & cleanups for the powerpc qspinlock code.
 
  - Various other small features and fixes.
 
 Thanks to: Aboorva Devarajan, Aditya Gupta, Amit Machhiwal, Benjamin Gray,
 Christophe Leroy, Dr. David Alan Gilbert, Gaurav Batra, Gautam Menghani, Geert
 Uytterhoeven, Haren Myneni, Hari Bathini, Joel Stanley, Jordan Niethe, Julia
 Lawall, Kautuk Consul, Kuan-Wei Chiu, Michael Neuling, Minjie Du, Muhammad
 Muzammil, Naveen N Rao, Nicholas Piggin, Nick Child, Nysal Jan K.A, Peter
 Lafreniere, Rob Herring, Sachin Sant, Sebastian Andrzej Siewior, Shrikanth
 Hegde, Srikar Dronamraju, Stanislav Kinsburskii, Vaibhav Jain, Wang Yufen, Yang
 Yingliang, Yuan Tan.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAmVEf38THG1wZUBlbGxl
 cm1hbi5pZC5hdQAKCRBR6+o8yOGlgMKgD/4vmPVcBE31xCAuuksrVvmMDRsCoC8N
 IJe4A5dHda1tYgdN2YdeK4LBszv5pWICjf2xZHlNh+L0s3Vxpngd4ycAWGPfDAyk
 SOlM24NCKl5j3327QZEt+iZVmJeTSnrmjxO0A1y04yvzLrfvFT7mbP4EXoidjShd
 GNb/EoH9kkCFn65zulc+lN2itQEX6Ht2GQTAz5z5GKtF6d1zZGM8ftOW+SQ5LeU3
 5JOkQtMtwAKhzBiglA4BB3pQyjaOOkPaTaj/WLoxx5tbVaCkV4wrFq48Bmtbm7E3
 kYkMNoI3IsC615GqY1CaRs/RSpMt74tIVh3tstSecHWRIwNGnfF6zeZpKLvJSs8k
 Qa5greGWMUDuJdDg9oDwAX2AKtO+3byI2v1hKE+sMhMh0eeMtDP9WIrIRg4BDjKL
 mq8RffXLTCtepehgfwBpoZbcvFSwFUMwuihBD7+bDMZQeDbtuFdZ2ouMFXBP9M1n
 cuv4KySouvKv9Xp5EeCkHlpL7QmSqrtSHOPYjoPeLueJYlmjheWdreLM9p7Nl2ma
 5wBxLpdLCGCpDJOyGgWNoQRHXucBNlU97DLx2V70nXG4wvvRyXh9EZ6I2niPSdPx
 N3LJnINz4MJ52Gd1KWJvufOyJlLwXxuI07rzCq67ZegpEPh+baWqVcPscuKU8+q0
 dSh2DPCht8gw1A==
 =ddT4
 -----END PGP SIGNATURE-----

Merge tag 'powerpc-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc updates from Michael Ellerman:

 - Add support for KVM running as a nested hypervisor under development
   versions of PowerVM, using the new PAPR nested virtualisation API

 - Add support for the BPF prog pack allocator

 - A rework of the non-server MMU handling to support execute-only on
   all platforms

 - Some optimisations & cleanups for the powerpc qspinlock code

 - Various other small features and fixes

Thanks to Aboorva Devarajan, Aditya Gupta, Amit Machhiwal, Benjamin
Gray, Christophe Leroy, Dr. David Alan Gilbert, Gaurav Batra, Gautam
Menghani, Geert Uytterhoeven, Haren Myneni, Hari Bathini, Joel Stanley,
Jordan Niethe, Julia Lawall, Kautuk Consul, Kuan-Wei Chiu, Michael
Neuling, Minjie Du, Muhammad Muzammil, Naveen N Rao, Nicholas Piggin,
Nick Child, Nysal Jan K.A, Peter Lafreniere, Rob Herring, Sachin Sant,
Sebastian Andrzej Siewior, Shrikanth Hegde, Srikar Dronamraju, Stanislav
Kinsburskii, Vaibhav Jain, Wang Yufen, Yang Yingliang, and Yuan Tan.

* tag 'powerpc-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (100 commits)
  powerpc/vmcore: Add MMU information to vmcoreinfo
  Revert "powerpc: add `cur_cpu_spec` symbol to vmcoreinfo"
  powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]
  powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data
  powerpc/bpf: implement bpf_arch_text_invalidate for bpf_prog_pack
  powerpc/bpf: implement bpf_arch_text_copy
  powerpc/code-patching: introduce patch_instructions()
  powerpc/32s: Implement local_flush_tlb_page_psize()
  powerpc/pseries: use kfree_sensitive() in plpks_gen_password()
  powerpc/code-patching: Perform hwsync in __patch_instruction() in case of failure
  powerpc/fsl_msi: Use device_get_match_data()
  powerpc: Remove cpm_dp...() macros
  powerpc/qspinlock: Rename yield_propagate_owner tunable
  powerpc/qspinlock: Propagate sleepy if previous waiter is preempted
  powerpc/qspinlock: don't propagate the not-sleepy state
  powerpc/qspinlock: propagate owner preemptedness rather than CPU number
  powerpc/qspinlock: stop queued waiters trying to set lock sleepy
  powerpc/perf: Fix disabling BHRB and instruction sampling
  powerpc/trace: Add support for HAVE_FUNCTION_ARG_ACCESS_API
  powerpc/tools: Pass -mabi=elfv2 to gcc-check-mprofile-kernel.sh
  ...
2023-11-03 10:07:39 -10:00
Linus Torvalds
babe393974 The number of commits for documentation is not huge this time around, but
there are some significant changes nonetheless:
 
 - Some more Spanish-language and Chinese translations.
 
 - The much-discussed documentation of the confidential-computing threat
   model.
 
 - Powerpc and RISCV documentation move under Documentation/arch - these
   complete this particular bit of documentation churn.
 
 - A large traditional-Chinese documentation update.
 
 - A new document on backporting and conflict resolution.
 
 - Some kernel-doc and Sphinx fixes.
 
 Plus the usual smattering of smaller updates and typo fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQFDBAABCAAtFiEEIw+MvkEiF49krdp9F0NaE2wMflgFAmVBNv8PHGNvcmJldEBs
 d24ubmV0AAoJEBdDWhNsDH5Y0JkH/36MOpkaDnsY69/dMRKSuD4mAAP2H6LS8V63
 SsMgH5VCj8lcy/Tz1+J89t14pbcX8l0viKxSo4UxvzoJ5snrz8A8gZ9oqY7NCcNs
 nMtolnN5IwdbgGnEGqASSLsl07lnabhRK0VYv9ZO7lHjYQp97VsJ/qrjJn385HFE
 vYW8iRcxcKdwtuuwOtbPcdAMjP54saJdNC5wMLsfMR0csKcGbzaSNpqpiGovzT7l
 phG2DSxrJH0gUZyeGPryroNppaf+mVKSDSiwRdI8mzm0J67p6dZYYwBS1Iw6Awbf
 8iYoj6W63/FVQbXffPx5d6ffOSQh4JkAskxgBUOzluSGusSDc+4=
 =9HU5
 -----END PGP SIGNATURE-----

Merge tag 'docs-6.7' of git://git.lwn.net/linux

Pull documentation updates from Jonathan Corbet:
 "The number of commits for documentation is not huge this time around,
  but there are some significant changes nonetheless:

   - Some more Spanish-language and Chinese translations

   - The much-discussed documentation of the confidential-computing
     threat model

   - Powerpc and RISCV documentation move under Documentation/arch -
     these complete this particular bit of documentation churn

   - A large traditional-Chinese documentation update

   - A new document on backporting and conflict resolution

   - Some kernel-doc and Sphinx fixes

  Plus the usual smattering of smaller updates and typo fixes"

* tag 'docs-6.7' of git://git.lwn.net/linux: (40 commits)
  scripts/kernel-doc: Fix the regex for matching -Werror flag
  docs: backporting: address feedback
  Documentation: driver-api: pps: Update PPS generator documentation
  speakup: Document USB support
  doc: blk-ioprio: Bring the doc in line with the implementation
  docs: usb: fix reference to nonexistent file in UVC Gadget
  docs: doc-guide: mention 'make refcheckdocs'
  Documentation: fix typo in dynamic-debug howto
  scripts/kernel-doc: match -Werror flag strictly
  Documentation/sphinx: Remove the repeated word "the" in comments.
  docs: sparse: add SPDX-License-Identifier
  docs/zh_CN: Add subsystem-apis Chinese translation
  docs/zh_TW: update contents for zh_TW
  docs: submitting-patches: encourage direct notifications to commenters
  docs: add backporting and conflict resolution document
  docs: move riscv under arch
  docs: update link to powerpc/vmemmap_dedup.rst
  mm/memory-hotplug: fix typo in documentation
  docs: move powerpc under arch
  PCI: Update the devres documentation regarding to pcim_*()
  ...
2023-11-01 17:11:41 -10:00
Linus Torvalds
385903a7ec SoC driver updates for 6.7
The highlights for the driver support this time are
 
  - Qualcomm platforms gain support for the Qualcomm Secure Execution
    Environment firmware interface to access EFI variables on certain
    devices, and new features for multiple platform and firmware drivers.
 
  - Arm FF-A firmware support gains support for v1.1 specification features,
    in particular notification and memory transaction descriptor changes.
 
  - SCMI firmware support now support v3.2 features for clock and DVFS
    configuration and a new transport for Qualcomm platforms.
 
  - Minor cleanups and bugfixes are added to pretty much all the active
    platforms: qualcomm, broadcom, dove, ti-k3, rockchip, sifive, amlogic,
    atmel, tegra, aspeed, vexpress, mediatek, samsung and more.
    In particular, this contains portions of the treewide conversion to
    use __counted_by annotations and the device_get_match_data helper.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmVC10IACgkQYKtH/8kJ
 UifFoQ//Tw7aux88EA2UkyL2Wulv80NwRQn3tQlxI/6ltjBX64yeQ6Y8OzmYdSYK
 20NEpbU7VWOFftN+D6Jp1HLrvfi0OV9uJn3WiTX3ChgDXixpOXo4TYgNNTlb9uZ4
 MrSTG3NkS27m/oTaCmYprOObgSNLq1FRCGIP7w4U9gyMk9N9FSKMpSJjlH06qPz6
 WBLTaIwPgBsyrLfCdxfA1y7AFCAHVxQJO4bp0VWSIalTrneGTeQrd2FgYMUesQ2e
 fIUNCaU4mpmj8XnQ/W19Wsek8FRB+fOh0hn/Gl+iHYibpxusIsn7bkdZ5BOJn2J0
 OY3C1biopaaxXcZ+wmnX9X0ieZ3TDsHzYOEf0zmNGzMZaZkV8kQt4/Ykv77xz6Gc
 4Bl6JI5QZ4rTZvlHYGMYxhy3hKuB31mO2rHbei7eR7J7UmjzWcl5P6HYfCgj7wzH
 crIWj1IR1Nx6Dt/wXf3HlRcEiAEJ2D0M3KIFjAVT239TsxacBfDrRk+YedF2bKbn
 WMYfVM6jJnPOykGg/gMRlttS/o/7TqHBl3y/900Idiijcm3cRPbQ+uKfkpHXftN/
 2vOtsw7pzEg7QQI9GVrb4drTrLvYJ7GQOi4o0twXTCshlXUk2V684jvHt0emFkdX
 ew9Zft4YLAYSmuJ3XqGhhMP63FsHKMlB1aSTKKPeswdIJmrdO80=
 =QIut
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "The highlights for the driver support this time are

   - Qualcomm platforms gain support for the Qualcomm Secure Execution
     Environment firmware interface to access EFI variables on certain
     devices, and new features for multiple platform and firmware
     drivers.

   - Arm FF-A firmware support gains support for v1.1 specification
     features, in particular notification and memory transaction
     descriptor changes.

   - SCMI firmware support now support v3.2 features for clock and DVFS
     configuration and a new transport for Qualcomm platforms.

   - Minor cleanups and bugfixes are added to pretty much all the active
     platforms: qualcomm, broadcom, dove, ti-k3, rockchip, sifive,
     amlogic, atmel, tegra, aspeed, vexpress, mediatek, samsung and
     more.

     In particular, this contains portions of the treewide conversion to
     use __counted_by annotations and the device_get_match_data helper"

* tag 'soc-drivers-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (156 commits)
  soc: qcom: pmic_glink_altmode: Print return value on error
  firmware: qcom: scm: remove unneeded 'extern' specifiers
  firmware: qcom: scm: add a missing forward declaration for struct device
  firmware: qcom: move Qualcomm code into its own directory
  soc: samsung: exynos-chipid: Convert to platform remove callback returning void
  soc: qcom: apr: Add __counted_by for struct apr_rx_buf and use struct_size()
  soc: qcom: pmic_glink: fix connector type to be DisplayPort
  soc: ti: k3-socinfo: Avoid overriding return value
  soc: ti: k3-socinfo: Fix typo in bitfield documentation
  soc: ti: knav_qmss_queue: Use device_get_match_data()
  firmware: ti_sci: Use device_get_match_data()
  firmware: qcom: qseecom: add missing include guards
  soc/pxa: ssp: Convert to platform remove callback returning void
  soc/mediatek: mtk-mmsys: Convert to platform remove callback returning void
  soc/mediatek: mtk-devapc: Convert to platform remove callback returning void
  soc/loongson: loongson2_guts: Convert to platform remove callback returning void
  soc/litex: litex_soc_ctrl: Convert to platform remove callback returning void
  soc/ixp4xx: ixp4xx-qmgr: Convert to platform remove callback returning void
  soc/ixp4xx: ixp4xx-npe: Convert to platform remove callback returning void
  soc/hisilicon: kunpeng_hccs: Convert to platform remove callback returning void
  ...
2023-11-01 14:46:51 -10:00
Linus Torvalds
3c86a44d62 - Move Kconfig files into the pmdomain subsystem
- Drop use of genpd's redundant ->opp_to_performance_state() callback
  - amlogic: Add support for the T7 power-domains controller
  - amlogic: Fix mask for the second NNA mem power-domain
  - bcm: Fixup ASB register read and comparison for bcm2835-power
  - imx: Fix device link problem for consumers of the pgc power-domain
  - mediatek: Add support for the MT8365 power domains
  - qcom: Add support for the rpmhpds for SC8380XP power-domains
  - qcom: Add support for the rpmhpds for SM8650 power-domains
  - qcom: Add support for the rpmhpd clocks for SM7150
  - qcom: Add support for the rpmpds for MSM8917 (families) power-domains
  - starfive: Add support for the JH7110 AON PMU
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmVCM6UXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmLYhAAv5zXrU2OhZUtuTO397RrC6Lo
 I04YKzbmwA6tzvb8BQ9VPkmLf5NCJd/uzHysneohwXYKTOuGNCH/Vbwx7xoMhWul
 BFqZGc3QCyBhiWmyZJPNMTlc76VgRoxh37c8CBSTMgM448cH/2Hk6yZRNM6ie04T
 ewVXyYagUzQQIcIszQWGwCtNwTO9C5YXIh5YiF1z9AzPRzJSmM79sAJZ744N7DcW
 fWohw+MM/WsM4WBAjKUx3DAQkbIEQrsmvcpbQ1LJimxrYf87nJryYloSeiq1IAZ5
 VE6Ggb+G9J770HJSMbJ4ftQrxHjanbY+SVMeF5fmLZt7HwHCQEicKmn1QRl2qN8p
 BH1F5ysvV5pEiBj5YkMLIgwj7tT1CxBxiuf/sgo06wssw4wsxxbLj5KqYrhBFn2l
 Q6OY7DMxKvrlBkZhQKJ9uDwvQA2zHYiPkitlcwIAUKVms2dL3x0DsvVsAyWi/4eD
 L29LYQGojx/0qKfODboAkrTdCK6kOU8pBBGi8FMdlmDnvjT00gd8WwRuthIkN8gx
 OI1UpmkE5IfKc47cZcBknWfY+QkySoGhuW2Xsb6poHxvVrDaNyWUX1NTRQeaG0lV
 pB9jFtWZL+WMfLfzo3cSnWSqFhwlr0tV0rveO/kNadOOzheDw607hsZrcQg5cyOo
 tuusQtCanukNkhvKNAY=
 =+iJn
 -----END PGP SIGNATURE-----

Merge tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain updates from Ulf Hansson:

 - Move Kconfig files into the pmdomain subsystem

 - Drop use of genpd's redundant ->opp_to_performance_state() callback

 - amlogic:
    - Add support for the T7 power-domains controller
    - Fix mask for the second NNA mem power-domain

 - bcm: Fixup ASB register read and comparison for bcm2835-power

 - imx: Fix device link problem for consumers of the pgc power-domain

 - mediatek: Add support for the MT8365 power domains

 - qcom:
    - Add support for the rpmhpds for SC8380XP power-domains
    - Add support for the rpmhpds for SM8650 power-domains
    - Add support for the rpmhpd clocks for SM7150
    - Add support for the rpmpds for MSM8917 (families) power-domains

 - starfive: Add support for the JH7110 AON PMU

* tag 'pmdomain-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (56 commits)
  pmdomain: amlogic: Fix mask for the second NNA mem PD domain
  pmdomain: qcom: rpmhpd: Add SC8380XP power domains
  pmdomain: qcom: rpmhpd: Add SM8650 RPMh Power Domains
  dt-bindings: power: rpmpd: Add SC8380XP support
  dt-bindings: power: qcom,rpmhpd: Add GMXC PD index
  dt-bindings: power: qcom,rpmpd: document the SM8650 RPMh Power Domains
  pmdomain: imx: Make imx pgc power domain also set the fwnode
  pmdomain: qcom: rpmpd: Add QM215 power domains
  pmdomain: qcom: rpmpd: Add MSM8917 power domains
  dt-bindings: power: rpmpd: Add MSM8917, MSM8937 and QM215
  pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable
  pmdomain: qcom: rpmhpd: Drop the ->opp_to_performance_state() callback
  pmdomain: qcom: rpmpd: Drop the ->opp_to_performance_state() callback
  pmdomain: qcom: cpr: Drop the ->opp_to_performance_state() callback
  pmdomain: Use device_get_match_data()
  pmdomain: ti: add missing of_node_put
  pmdomain: mediatek: Add support for MT8365
  pmdomain: mediatek: Add support for MTK_SCPD_STRICT_BUS_PROTECTION cap
  pmdomain: mediatek: Add support for WAY_EN operations
  pmdomain: mediatek: Unify configuration for infracfg and smi
  ...
2023-11-01 13:09:46 -10:00
Linus Torvalds
d4b671d4c6 ACPI updates for 6.7-rc1
- Add symbol definitions related to CDAT to the ACPICA code (Dave
    Jiang).
 
  - Use the acpi_device_is_present() helper in more places and rename
    acpi_scan_device_not_present() to be about enumeration (James Morse).
 
  - Add __printf format attribute to acpi_os_vprintf() (Su Hui).
 
  - Clean up departures from kernel coding style in the low-level
    interface for ACPICA (Jonathan Bergh).
 
  - Replace strncpy() with strscpy() in acpi_osi_setup() (Justin Stitt).
 
  - Fail FPDT parsing on zero length records and add proper handling for
    fpdt_process_subtable() to acpi_init_fpdt() (Vasily Khoruzhick).
 
  - Rework acpi_handle_list handling so as to manage it dynamically,
    including size computation (Rafael Wysocki).
 
  - Clean up ACPI utilities code so as to make it follow the kernel
    coding style (Jonathan Bergh).
 
  - Consolidate IRQ trigger-type override DMI tables and drop .ident
    values from dmi_system_id tables used for ACPI resources management
    quirks (Hans de Goede).
 
  - Add ACPI IRQ override for TongFang GMxXGxx (Werner Sembach).
 
  - Allow _DSD buffer data only for byte accessors and document the _DSD
    data buffer GUID (Andy Shevchenko).
 
  - Drop BayTrail and Lynxpoint pinctrl device IDs from the ACPI LPSS
    driver, because it does not need them (Raag Jadav).
 
  - Add acpi_backlight=vendor quirk for Toshiba Portégé R100 (Ondrej
    Zary).
 
  - Add "vendor" backlight quirks for 3 Lenovo x86 Android tablets (Hans
    de Goede).
 
  - Move Xiaomi Mi Pad 2 backlight quirk to its own section (Hans de
    Goede).
 
  - Annotate struct prm_module_info with __counted_by (Kees Cook).
 
  - Fix AER info corruption in aer_recover_queue() when error status data
    has multiple sections (Shiju Jose).
 
  - Make APEI use ERST maximum execution time for slow devices (Jeshua
    Smith).
 
  - Add support for platform notification handling to the PCC mailbox
    driver and modify it to support shared interrupts for multiple
    subspaces (Huisong Li).
 
  - Define common macros to use when referring to various bitfields in the
    PCC generic communications channel command and status fields and use
    them in some drivers (Sudeep Holla).
 
  - Add EC GPE detection quirk for HP 250 G7 Notebook PC (Jonathan
    Denose).
 
  - Fix and clean up create_pnp_modalias() and create_of_modalias()
    (Christophe JAILLET).
 
  - Modify 2 pieces of code to use acpi_evaluate_dsm_typed() (Andy
    Shevchenko).
 
  - Define acpi_dev_uid_match() for matching _UID and use it in several
    places (Raag Jadav).
 
  - Use acpi_device_uid() for fetching _UID in 2 places (Raag Jadav).
 
  - Add context argument to acpi_dev_install_notify_handler() (Rafael
    Wysocki).
 
  - Clarify ACPI bus concepts in the ACPI device enumeration
    documentation (Rafael Wysocki).
 
  - Switch over the ACPI AC and ACPI PAD drivers to using the platform
    driver interface which, is more logically consistent than binding a
    driver directly to an ACPI device object, and clean them up (Michal
    Wilczynski).
 
  - Replace strncpy() in the PNP code with either memcpy() or strscpy()
    as appropriate (Justin Stitt).
 
  - Clean up coding style in pnp.h (GuoHua Cheng).
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmU6bTISHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxQ4AQALW9JR9te3ohnm77rpoODP5UQlfJwTYw
 xppbSqfVfJbckqJArbjWXCmv1vUHLth/q8Ojd7+shkAQ4nU9v91gWKXkG/pXFnHa
 PcIT8OAwverqI0fVomxSipQS/tiA0HMLz9uUa62yjRXagyvuQW0xfhToe0NU9BBx
 kEXLOMztpsgfzxZtxmTcYgkzDW8/87FVR9PuBAa+vf4p46QoYAS+AXhXUlYT3guA
 VRT54cwyaNxKa4PecoIcr3FvabCrtKCyNvZrKf6/xxM3XepWp7pW8RINwNy6B+lZ
 X/dDLHf0XVN2h21GydfB/StPNssSIjpZZUOrJ5kv+VnOBeRTLt8kPKFdo3ZiqjT8
 VUTq4aj4qmJO6A8K32bxFs7Bb/tWVviIKX2O+EVPjNSUHu0yMG5UbkcR03yRXvdy
 L6cijuXZwCvSsPiOTGXRya3Ea1yGNgPEf3iAaFPMUjE064KjZb6+emtPk1JeYzDg
 qGRhuwD0wuckSAUkpB3SNoWqD2fTEaRSWCCivakRbCCp0mG6QWvDT2JBlx/YRKqq
 Wxg+oYXE2PJTuVc1DF1xUW7K45h9l0DhIejFKqm4cibfMdkA+MQI24frX5Dvj8hy
 RW3IKGrqsgARC6oVf6oWQodrp9zxAn1XEHE43sppPvgh4tcJqxy/0Aqti+XeONQp
 7/niL9+zn7FM
 =p4Yo
 -----END PGP SIGNATURE-----

Merge tag 'acpi-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "These fix issues, add new quirks, rearrange the IRQ override quirk
  definitions, add new helpers and switch over code to using them,
  rework a couple of interfaces to be more flexible, eliminate strncpy()
  usage from PNP, extend the ACPI PCC mailbox driver and clean up code.

  This is based on ACPI thermal driver changes that are present in the
  thermal control updates for 6.7-rc1 pull request (they are depended on
  by the ACPI utilities updates). However, the ACPI thermal driver
  changes are not included in the list of specific ACPI changes below.

  Specifics:

   - Add symbol definitions related to CDAT to the ACPICA code (Dave
     Jiang)

   - Use the acpi_device_is_present() helper in more places and rename
     acpi_scan_device_not_present() to be about enumeration (James
     Morse)

   - Add __printf format attribute to acpi_os_vprintf() (Su Hui)

   - Clean up departures from kernel coding style in the low-level
     interface for ACPICA (Jonathan Bergh)

   - Replace strncpy() with strscpy() in acpi_osi_setup() (Justin Stitt)

   - Fail FPDT parsing on zero length records and add proper handling
     for fpdt_process_subtable() to acpi_init_fpdt() (Vasily Khoruzhick)

   - Rework acpi_handle_list handling so as to manage it dynamically,
     including size computation (Rafael Wysocki)

   - Clean up ACPI utilities code so as to make it follow the kernel
     coding style (Jonathan Bergh)

   - Consolidate IRQ trigger-type override DMI tables and drop .ident
     values from dmi_system_id tables used for ACPI resources management
     quirks (Hans de Goede)

   - Add ACPI IRQ override for TongFang GMxXGxx (Werner Sembach)

   - Allow _DSD buffer data only for byte accessors and document the
     _DSD data buffer GUID (Andy Shevchenko)

   - Drop BayTrail and Lynxpoint pinctrl device IDs from the ACPI LPSS
     driver, because it does not need them (Raag Jadav)

   - Add acpi_backlight=vendor quirk for Toshiba Portégé R100 (Ondrej
     Zary)

   - Add "vendor" backlight quirks for 3 Lenovo x86 Android tablets
     (Hans de Goede)

   - Move Xiaomi Mi Pad 2 backlight quirk to its own section (Hans de
     Goede)

   - Annotate struct prm_module_info with __counted_by (Kees Cook)

   - Fix AER info corruption in aer_recover_queue() when error status
     data has multiple sections (Shiju Jose)

   - Make APEI use ERST maximum execution time for slow devices (Jeshua
     Smith)

   - Add support for platform notification handling to the PCC mailbox
     driver and modify it to support shared interrupts for multiple
     subspaces (Huisong Li)

   - Define common macros to use when referring to various bitfields in
     the PCC generic communications channel command and status fields
     and use them in some drivers (Sudeep Holla)

   - Add EC GPE detection quirk for HP 250 G7 Notebook PC (Jonathan
     Denose)

   - Fix and clean up create_pnp_modalias() and create_of_modalias()
     (Christophe JAILLET)

   - Modify 2 pieces of code to use acpi_evaluate_dsm_typed() (Andy
     Shevchenko)

   - Define acpi_dev_uid_match() for matching _UID and use it in several
     places (Raag Jadav)

   - Use acpi_device_uid() for fetching _UID in 2 places (Raag Jadav)

   - Add context argument to acpi_dev_install_notify_handler() (Rafael
     Wysocki)

   - Clarify ACPI bus concepts in the ACPI device enumeration
     documentation (Rafael Wysocki)

   - Switch over the ACPI AC and ACPI PAD drivers to using the platform
     driver interface which, is more logically consistent than binding a
     driver directly to an ACPI device object, and clean them up (Michal
     Wilczynski)

   - Replace strncpy() in the PNP code with either memcpy() or strscpy()
     as appropriate (Justin Stitt)

   - Clean up coding style in pnp.h (GuoHua Cheng)"

* tag 'acpi-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (54 commits)
  ACPI: resource: Do IRQ override on TongFang GMxXGxx
  perf: arm_cspmu: use acpi_dev_hid_uid_match() for matching _HID and _UID
  ACPI: EC: Add quirk for HP 250 G7 Notebook PC
  ACPI: x86: use acpi_dev_uid_match() for matching _UID
  ACPI: utils: use acpi_dev_uid_match() for matching _UID
  pinctrl: intel: use acpi_dev_uid_match() for matching _UID
  ACPI: utils: Introduce acpi_dev_uid_match() for matching _UID
  ACPI: sysfs: Clean up create_pnp_modalias() and create_of_modalias()
  ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias()
  ACPI: acpi_pad: Rename ACPI device from device to adev
  ACPI: acpi_pad: Use dev groups for sysfs
  ACPI: acpi_pad: Replace acpi_driver with platform_driver
  ACPI: APEI: Use ERST timeout for slow devices
  ACPI: scan: Rename acpi_scan_device_not_present() to be about enumeration
  PNP: replace deprecated strncpy() with memcpy()
  PNP: ACPI: replace deprecated strncpy() with strscpy()
  perf: qcom: use acpi_device_uid() for fetching _UID
  ACPI: sysfs: use acpi_device_uid() for fetching _UID
  ACPI: scan: Use the acpi_device_is_present() helper in more places
  ACPI: AC: Rename ACPI device from device to adev
  ...
2023-10-31 15:33:26 -10:00
Arnd Bergmann
736a4aad8a Renesas fixes for v6.6 (take three)
- Sort out a few Kconfig dependency issues for the rich set of RISC-V
     non-coherent DMA support.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZTowWwAKCRCKwlD9ZEnx
 cH8wAP49M82pS/aT2KpT+ANVdb7GqUemkYQKn9dI1y4yI5G+IwEAoDBzjUZ//aS0
 FgLgVyJrUUy3MVIGiqi/WX+N1GehjQg=
 =LXd4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmU6gIIACgkQYKtH/8kJ
 UifTnw/+LaeGIZUGQ3FdBIS2vrQh0943M07jzyXVjXl14trbynFq1SRJLnXM+IAB
 osLqwQQaOlVTrUvSPafjqcm6XF/v3OS0jmpFkMgSK42kIpCGFOpgiV1DNBnCKevN
 FOVf4ztK1G+O0Z2MzwRQ4X54g4iaNh0VZdONsgRCZ/61CWflSNt20WCoDAFgMLUY
 DMvAR6OlSPV0v+xN/YYyj9oIIALApikgQZKo8AaTIN9qS6Xt8sIwLAODjCCe2B7w
 FQlUu7jLNGiXL40Rx9isvx4plmcbPWyq/CjsxX10eiTcO0Rlq8ow3GtYJ1YO4xjt
 XiGfq/PVExjUhxW2qQ1M//GFRnOESMx9vE+Pfyk2R9Uku9wd1Db8zBWPz63+EEgV
 ugRritPjlsJOi+wX7xzInUDbncR05pVD8XrVtN4GbzlP6FMX1b7GKe9EjkO2D6bj
 8ZL334+Rdhm5hmH+lQcagq7nfJUcjaTQOdDX7TIrZ78YH9q2/Ch2990y/ZrPEtsg
 pCjOMmHBRXKiiXja2tO5V3xsX0Hpbti67HdJXi07hOPQPq8+qcDBPrEply0dmKfi
 ZjzTjHAXmobzYp1kSpaj5GXqLTTHp3DydPOfVYE5s4R6yeZgdX82DHa97kaDh4vd
 6laRt6UB21CJd+DkpzP+s5ibvNFjPQq5k7sNEWriO3rrfcc/oRg=
 =+T5y
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes-for-v6.6-tag3' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes

Renesas fixes for v6.6 (take three)

  - Sort out a few Kconfig dependency issues for the rich set of RISC-V
    non-coherent DMA support.

* tag 'renesas-fixes-for-v6.6-tag3' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: ARCH_R9A07G043 depends on !RISCV_ISA_ZICBOM
  riscv: only select DMA_DIRECT_REMAP from RISCV_ISA_ZICBOM and ERRATA_THEAD_PBMT
  riscv: RISCV_NONSTANDARD_CACHE_OPS shouldn't depend on RISCV_DMA_NONCOHERENT

Link: https://lore.kernel.org/r/cover.1698312384.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-26 17:06:42 +02:00
Rafael J. Wysocki
f3c0d6a1a2 Merge branches 'acpi-video', 'acpi-prm', 'acpi-apei' and 'acpi-pcc'
Merge ACPI backlight driver updates, ACPI APEI updates, ACPI PRM updates
and changes related to ACPI PCC for 6.7-rc1:

 - Add acpi_backlight=vendor quirk for Toshiba Portégé R100 (Ondrej
   Zary).

 - Add "vendor" backlight quirks for 3 Lenovo x86 Android tablets (Hans
   de Goede).

 - Move Xiaomi Mi Pad 2 backlight quirk to its own section (Hans de
   Goede).

 - Annotate struct prm_module_info with __counted_by (Kees Cook).

 - Fix AER info corruption in aer_recover_queue() when error status data
   has multiple sections (Shiju Jose).

 - Make APEI use ERST max execution time value for slow devices (Jeshua
   Smith).

 - Add support for platform notification handling to the PCC mailbox
   driver and modify it to support shared interrupts for multiple
   subspaces (Huisong Li).

 - Define common macros to use when referring to various bitfields in the
   PCC generic communications channel command and status fields and use
   them in some drivers (Sudeep Holla).

* acpi-video:
  ACPI: video: Add acpi_backlight=vendor quirk for Toshiba Portégé R100
  ACPI: video: Add "vendor" quirks for 3 Lenovo x86 Android tablets
  ACPI: video: Move Xiaomi Mi Pad 2 quirk to its own section

* acpi-prm:
  ACPI: PRM: Annotate struct prm_module_info with __counted_by

* acpi-apei:
  ACPI: APEI: Use ERST timeout for slow devices
  ACPI: APEI: Fix AER info corruption when error status data has multiple sections

* acpi-pcc:
  soc: kunpeng_hccs: Migrate to use generic PCC shmem related macros
  hwmon: (xgene) Migrate to use generic PCC shmem related macros
  i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros
  ACPI: PCC: Add PCC shared memory region command and status bitfields
  mailbox: pcc: Support shared interrupt for multiple subspaces
  mailbox: pcc: Add support for platform notification handling
2023-10-26 14:58:20 +02:00
Christoph Hellwig
9eab43facd soc: renesas: ARCH_R9A07G043 depends on !RISCV_ISA_ZICBOM
ARCH_R9A07G043 has its own non-standard global pool based DMA coherent
allocator, which conflicts with the remap based RISCV_ISA_ZICBOM version.
Add a proper dependency.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20231018052654.50074-4-hch@lst.de
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-26 09:42:38 +02:00
Arnd Bergmann
dfae947836 More Qualcomm driver updates for v6.7
The Qualcomm SMC an QSEECOM drivers are moved into a "qcom"
 subdirectory, to declutter the base directory. Missing include guards
 are added to the qseecom header file. Unneded extern specifiers are
 removed from the scm call wrappers.
 
 __counted_by is added to the apr_rx_buf structure, in the APR driver.
 
 Lastly in the pmic_glink driver the pmic_glink drm_bridge type is
 corrected to DisplayPort, over the incorrect "USB" value. The return
 values are added to error prints for the various typec set() calls.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmU5desVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FEY4QAL9q2iDnHbo908AiD781vvoJ0t6H
 FJDFRwDQXv/JaLHKc6kXt2JQZZGAkTFqPiiu06DWVfgk7oXwBHmdsaq+nXqJGTfx
 3vR6/1TBzMgv3eT4zzPPZF/0E0mttLczZSd5z7Vg4oe1RSVGpaOe6icmxxLNiG0J
 LZN6o18rsfcl0TrCt2nR95BkkKINO7mfqz5iJWYTS8K8SM+APjrAoYOlWfE9VfBo
 FFni1UIJAVGL3qMECZ2ntUEVIUQZJu1vhL50/S5tRROPR1PCDJ1i2SThD209I3M2
 cmbVST3boIgqC9lv36NsZzDNg1kYCR7lT9SVOxSZUjZvAxY5Kz+t7HJyTvRcnTA7
 INw02mk2lWPvvTYKpwo0d0JMfTa7ReYC5Im4Nijk5hNExwu4zomWDpcCtrb6I/T8
 Eqrr4p/2WVGZ5OvMEcZzUULLyenZ9vS3ABKmjmbI2oj4CuVukJPFy0LSLgy1ZgAh
 RKAplCRp0HkxL+M9qsCB1HhQksS6y7sjrx7amXl+mn2+/7AVa61QfsuDg2Qc/k5r
 SHhfk51jXPI3modH96ieThOHmcoK+vHUFPgwGbgPkiHdNaXXbMkFgYdD1XQ6WLJc
 ZYLDhpWrSzB6NkrczCogXbJflla6knZ1dz5zRQVeBO4x4dRq5O8O3VPQ3k18/Aj4
 w7NtiweoKMx3RuBp
 =dVO+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmU5gXYACgkQYKtH/8kJ
 Uic6/xAA2ZU8EPNMnsFe7kXEmBo9/OTHpFD7A7snaF2tjZ3NgP/vGR8D/nxCb8g3
 WbgBwHAvR1QfOGc1ACC0j20t+c0GvcsIoLn296madHHZtO42j46O0OQW7uC7vm7u
 Bu8QSyjUl9DncZOUFD64Q9yTZhi+857iJEvras2qpyiaXFdmoq0FKWzOf2y79DZl
 GwrIVOSWM8rA739JU4LEW7Xe21deTjqOpdTv9yLu+levOQaUwTs/waCTgTdDiLaG
 3C7ptpkWTeqlfKUKMXWzPSmggnRDRnRJNOyQMzpq8ftalbZYv34ScNBNtuevahcu
 dmB8iFEBSZGdvCAMB0rGEopENW7lfoJXqxyTalS1S8yPjy3cSsHq3pkkU9R84L8Y
 0MoI0IARwYoZvzEXYHEMi+BstGBQglXoCgBYaBlvhjJ1+kgtFfiW+xTPd1DghkyM
 /NiV6/4a87ccbT05Je0qbZdRBptu4EGSwcFeUHEkskfEWtps6RZCqWWnPSQoUgQC
 Lu6lOvle+rSrQ5hNS+RlX5NIdfbKJ0x6HamZVfeDXzuSnh7023dmXUqib7xpCMa7
 PQAIhsXDesT8b2gP04+JX2hphvQ/il2BowCOw5j9Xg2XQSs5Alf++sfY9DS32oYk
 pnqMT/6UISVbwI4MVgNtwFujW1+zF+RwyMXurKSAi2hTirdgHuw=
 =PxVV
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.7-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

More Qualcomm driver updates for v6.7

The Qualcomm SMC an QSEECOM drivers are moved into a "qcom"
subdirectory, to declutter the base directory. Missing include guards
are added to the qseecom header file. Unneded extern specifiers are
removed from the scm call wrappers.

__counted_by is added to the apr_rx_buf structure, in the APR driver.

Lastly in the pmic_glink driver the pmic_glink drm_bridge type is
corrected to DisplayPort, over the incorrect "USB" value. The return
values are added to error prints for the various typec set() calls.

* tag 'qcom-drivers-for-6.7-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: pmic_glink_altmode: Print return value on error
  firmware: qcom: scm: remove unneeded 'extern' specifiers
  firmware: qcom: scm: add a missing forward declaration for struct device
  firmware: qcom: move Qualcomm code into its own directory
  soc: qcom: apr: Add __counted_by for struct apr_rx_buf and use struct_size()
  soc: qcom: pmic_glink: fix connector type to be DisplayPort
  firmware: qcom: qseecom: add missing include guards

Link: https://lore.kernel.org/r/20231025201109.1016121-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-25 22:58:30 +02:00
Arnd Bergmann
759c2e043a This pull request contains Broadcom ARM/ARM64/MIPS SoCs drivers changes
for 6.7, please pull the following:
 
 - Kieran fixes the kdoc for devm_rpi_firmware_get
 - Peter updates the dependices of the brcmstb SoC driver and
   brcmstb_gisb drivers which are ARCH_BRCMSTB specific
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmU36YIACgkQh9CWnEQH
 BwRhOg//dPoV8Dprca441zTk/GNpY9lQtAnwy+JUTo4EwnDdPpckOFalukj84znh
 ezfnF7+2N2gNrl4OyBdHkvc46thkCKev4gRSOLv3hnkE4eIxXA6yCeHISoiWmuNv
 chfEdNMeHBCsbDxysZGrtabSib09kXklOJVM9vc32MgoiIqLXrREhXNP5QfpSnll
 1UrUiAh/GX4sZojiIXGSpR/+k94EY7F3/mn71HpBMJxwYiIOU1XD1dTVlXlGmbSj
 Car4485FOk2nIlwpQEChUxn6HeoqZlXgIjw3jb6qny6QuflFXtKk4fxJE0jkDDpn
 KpLe1H4q3KJj9Tm4J1+vk90oOAGV6q2mbE4wTODVyVZc9e70Usn8r5EMXREvgVKO
 7CoRVIq/tYGMU0foDVWXdCgD0uDK0p5j9cp/dx4yKZzjSi5Nd/glMiPzhwjSgflu
 ANqK+BnomlHrXgLpdFKaJXFlunBCA7WyKlyorWvVzX+1D6Ds2lE+ULkaiHh5TzF1
 w1sdTf6bm8C0za8WE+ZeJb7D2vzMWANkqMpLnAGsjZP2FG85nTIE1hf0pdi5A+i3
 TxfJR39dG8rri8FyFA86fKHYQzczYnR8lkva8atRQJUrKySewIgqew+v8RTzSs2w
 Dq5qzqK+vXSetXS5b97jm5iI5DNKnHK6kL5/6JPRhsd6E6mh/+s=
 =157E
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmU5gSAACgkQYKtH/8kJ
 UidotRAAsF2hmI5gTycVfNljn/d61dyV2rppyYBhAiT3YErBgqwxD1se/KwJ0DQq
 MTYBASISFYopsON2TQSugoOGMDO1oltllYtgB2VIcrcbncqBXaMeL/wZfOdGsZs2
 WDDFTJ1SmoOJ5XJVeTHjsfHZlwCPFmbH9Md6lx8wcUi5Obqp7KmCz7j61cTIEWKi
 0+5qFrcNu6jZZCQWFHx57axyqyVWw3RYyOSOHzTZY4V9EgDCIcQGWobft60eDb1N
 tSSXpotL8CmN1r6nYesGzoy5T2jIxLURNtNAdDiUnKCed1NR5OsgDh0j450+lPwT
 p/fTHPrhgsR4HGf8xZRG+dgd6tf9MmVbDuBSiKI3g9yajjAHsMsx6SzKCI1m1Yku
 94Ja8gwwgusaSaGER+OMfuBr3fwcsmzS368dgCwL2PxbFELBFZt3DXHPEut1p4gN
 htC96cQ6ACV9YyGE0EUE6iUZunUuU4YszvwYDccKUMu9BKVm2oySbxkRBfbX2TsU
 gnFaz1i+bYECCoUa9dlayn77OxNfoZSE099i0aA4fFeVYjZ1zwitOlV0X1MHP3WL
 WOJTMSCFbXm2+6im8djwlHdC8JGPtJhv6Qj4ZBi49sob5Kvv/ZebgWn3hVl7YHQ5
 JUIsrPGUAB2gAKeS19IyGNAC2NQ5LMI5odmk5EJhyf4+9dnMQMk=
 =7giE
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.7/drivers' of https://github.com/Broadcom/stblinux into soc/drivers

This pull request contains Broadcom ARM/ARM64/MIPS SoCs drivers changes
for 6.7, please pull the following:

- Kieran fixes the kdoc for devm_rpi_firmware_get
- Peter updates the dependices of the brcmstb SoC driver and
  brcmstb_gisb drivers which are ARCH_BRCMSTB specific

* tag 'arm-soc/for-6.7/drivers' of https://github.com/Broadcom/stblinux:
  bus: brcmstb_gisb: Depend on SoC specifics over generic arm
  soc: bcm: brcmstb: depend on ARCH_BRCMSTB over arm arches
  firmware: raspberrypi: Fix devm_rpi_firmware_get documentation

Link: https://lore.kernel.org/r/20231024155927.977263-2-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-25 22:57:04 +02:00
Arnd Bergmann
8519f9c3c3 mvebu arm for 6.7 (part 1)
Fix missing of_node_put in dove code base
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZTFIZwAKCRALBhiOFHI7
 1Y5YAJ0dGb6R6BjsQ4ZO/vLlMXfTNvxUZgCeLniZi12jnh1emjdS1JoLGZ2Z06k=
 =MmRK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmU5GBEACgkQYKtH/8kJ
 Uic65w//WzyIabJPOGKO0SALbjdrqQ+Y0+eng2U9NSe12pIKrJxbmRU0mZuQcBZ0
 nT4ZczZvJnoC5Chl4Kn0uod2B8v6NEvrk7oqvTTQOnQUfQ6uF8PrX0um027cMvEw
 BRKKN2HSgsRs+J0bi+Hxc0deIaWrhj1H6S44+WEC78DWiu1BOj5H31ErVxsPjNjS
 IJmKkOs5V0DhIMX4vGDt4eGag54RK7EMa5MrXf1cyXeClj1ZfzMQgfb/X0NXlutz
 SAb3VmOGc9lf7npVPL1f39D4nhAdbMPyKTqca33hNwURoglehgSiLFp16MmShDhf
 g+04pE8OHtB+bLZcJqpFV7v7WukkTXvoL3XLcbtVyqoQ3L/NGfinEMrmy6xNW6l8
 HgsKRSpJDafRTwbwdQJdMXwbXj0AosAH+Dyd/5hiwg99eMpOc0CA1fXTjFZk7tkz
 1ESqsFfPvGdCfAXrT7J6KCYUmMsowXXdTU/hEK6OOLYaq5AZxAds/Rrol0JcAaX8
 kst1yGH99equdnFc6lJAUOmfOdFaALXWMZwqU6/ylZzlYYw5e3D7/P1OfL10bE7S
 niEKTrX0ykvEAADAyrHzw1VtZuUsUbod4FERB6hDE7R5mOqE46FWhy+n0WTcxkGy
 CRVLxyiSCCxam48M2F4BKG6ysn9xkJZPuYtbeS5J17+E7o2dsOo=
 =M5Bp
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/drivers

mvebu arm for 6.7 (part 1)

Fix missing of_node_put in dove code base

* tag 'mvebu-arm-6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  soc: dove: add missing of_node_put

Link: https://lore.kernel.org/r/87zg0e8w4v.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-25 15:28:49 +02:00
Arnd Bergmann
80957adc47 TI SoC driver updates for v6.7
- Generic fixups: Convert to platform remove callback returning void
 - ti_sci: Minor fixups and mark driver as non-removable
 - k3-socinfo: Documentation fixups, cosmetic fixups
 - knav_qmss_queue: Optimize with device_get_match_data
 
 Signed-off-by: Nishanth Menon <nm@ti.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmUwCggACgkQ3bWEnRc2
 JJ1LZg//dFofW+sMC5tZT/gUp4QYcyMYap24CadWnGqkD8kSG2yrP+FIP+m7qr63
 mF44UxUamASAQfL1s3zfGJIxY3sE8XUY8giQt2df3Vra7/6zv5EdZ87uIkBSPjZ1
 zkrE3JHOEGAZUIwcRlLfSJp/rGf5NyFkBpjWyAA9RfABUT3/Vd3PMpziyE5FtODd
 rHSHX9gmBrH60INUhQedb3gNDuyK0+EN/5N8XKtZslmGwBrRc4nxMQn/FSLdLVbn
 j+IpWTcLH0pV6Nukx62lsejuVuKEBALTrhgjKlat9U3ubXZeuvI6fTEOWtxuXsHQ
 WVwfnDlIH6gu+600CflhTRDVXMDI1G+q/ag07hrJpvzlCsSMUEUUTIPdOwebml9T
 +1h/D1zoFEnSEEvMgmexI03aHT2xwuA8d1oHPZaffU/c7i5161pg7Qfx4v3i1zOU
 5H58SInZmdRK0SNvyHZcjKgdPeoAl+vAYjWB2IhniesbSlu+WP7U7A6Ln33CZTKw
 Tdzdnq86MHxlv2N+tnBs0W5bEwp1AeQ+GwoyBerbVz9yR6gNfPSdUvcGdHiPhBhK
 GLnQsC96Kyxoc86XJJduqUfd2RfW5w5Jb/0zq9R5hodL/lb4OKGk5kdWj5PbAfgA
 XV+qbPA/08Py+erHn7+oTgvu/G/011jrL88vEtWHgvGx66dAf8g=
 =PtGl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmU5F5cACgkQYKtH/8kJ
 UifwNRAAmTZIgC+024z79719pxO2udTayvCTAsVDgND19USrpMZiutIgdsnb7m+O
 qecc2EA7XhNBGjUWK8AHQ+/0i5H4uje6615i4R4SgPeNqkzHXoNi6KAZNc4PP+fO
 2mtOu09ysbZ+Qfx942ldFKv6Rv02UkGkijCDwnm2yG3tBOv3cDqfuHjSQdxxh5tC
 UKZyBudtlnNDMFP9HORomAbbR5C3ZiABurFjBMm9C1eG4W00kGNZhbyg6nGmlCB3
 bzZEEVKwbVkFgmMcTZdRAia7N33oC0788OTyx5oQ842SDBGzyS07+/16KrHHrou2
 I5GLte109GZ9586MHg68wpjeP/y4RrVkDVq1IHNGSTQnB9cK7eN5y8QQ6CERoUAm
 XKqy9SD4hnQCHIo9ltOUHiA5NEWbXMyWR8XXkvznYGz4nQOSbrYtgZlh+U71cZ06
 WByz2e4Z+fbuxAs679QffGjbEiZUr0oGsxP/wD5VldTxXC/MlMciN3D4PP+7umCZ
 wvz4mp8IDzXAu+LL/9gT4jk3DRv5ISYd/RQ0yUG8VnUJkKTTcGE4kyByIiUkr/Ez
 2StqltwaIuExxCOwjHYLv2OJS+haEtE5NURh39CE8xQxV4rIKc+JNOjLauatgSYP
 rIwtW/7m8wnhfRab/L8amuUIcEyx/+8X+FGMJ+2WMz6lGA9rKmY=
 =x0sJ
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.7

- Generic fixups: Convert to platform remove callback returning void
- ti_sci: Minor fixups and mark driver as non-removable
- k3-socinfo: Documentation fixups, cosmetic fixups
- knav_qmss_queue: Optimize with device_get_match_data

Signed-off-by: Nishanth Menon <nm@ti.com>

* tag 'ti-driver-soc-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo: Avoid overriding return value
  soc: ti: k3-socinfo: Fix typo in bitfield documentation
  soc: ti: knav_qmss_queue: Use device_get_match_data()
  firmware: ti_sci: Use device_get_match_data()
  soc/ti: wkup_m3_ipc: Convert to platform remove callback returning void
  soc/ti: smartreflex: Convert to platform remove callback returning void
  soc/ti: pruss: Convert to platform remove callback returning void
  soc/ti: pm33xx: Convert to platform remove callback returning void
  soc/ti: knav_qmss_queue: Convert to platform remove callback returning void
  soc/ti: knav_dma: Convert to platform remove callback returning void
  soc/ti: k3-ringacc: Convert to platform remove callback returning void
  firmware: ti_sci: Mark driver as non removable
  firmware: ti_sci: refactor deprecated strncpy
  firmware: ti_sci: Use list_for_each_entry() helper

Link: https://lore.kernel.org/r/20231018165226.33x5cjn5jmgnm3di@magnolia
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-25 15:26:47 +02:00
Luca Weiss
723d346173 soc: qcom: pmic_glink_altmode: Print return value on error
It can be useful to know with which return value for example the
typec_retimer_set call failed, so include this info in the dev_err
prints.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20231017-glink-altmode-ret-v2-1-921aa7cfc381@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-22 09:20:40 -07:00
Christophe Leroy
ad496f8f83 powerpc: Remove cpm_dp...() macros
Since commit d3c511ac1d ("powerpc/cpm: Remove
!CONFIG_PPC_CPM_NEW_BINDING code") cpm_dp...() macros have no added
value anymore.

Last user of those macros were fixed by commit 5e6cb39a25 ("net:
fs_enet: Use cpm_muram_xxx() functions instead of cpm_dpxxx() macros")

Remove them.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/3aaa40bf706afeab8fe9a74b8437704a4269a6a2.1697005615.git.christophe.leroy@csgroup.eu
2023-10-20 23:18:07 +11:00
Arnd Bergmann
f1243fcea5 Converting the io-domain driver to the new remove callback.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmUtpk4QHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgZmnB/912dzFvVAh6TxEH8ASTnPVXRMeA+oGipnq
 mTTp/BfIgiBaEaaSrm5ZADzYr3sv7eeXMz0BrfnqnKcC1X4Klfuli6XaCtgOc2Kq
 y8/Qvjp8s8VauK2B2BnSBmOEP9zSbqZXuqpwipyfPjnpTF7n8L0mZL48U67917zL
 rkhhXmdvfeW4DHYdafgV3iKwOgCNz6wORRD+pg9BsEcvNN3y3P1zw3T2w179NoT7
 9AtHsUE/hz+zAQPhE/deAPKjBVRJnjGWiHGV3oKP0cbCwDmkIDsSGeEhC2yYaZEq
 EMhA2z9jCxHyRFWonpoJM+QQ9ugcPalNwsxOPNp3JhnDurdFx7Jz
 =WrKR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUv/bEACgkQYKtH/8kJ
 UifHwg/9FimeCVZgumBBMAX2sh6YgFj7uQ8PSYv70IRKKO8qcO2TzfBHRqijybFv
 jBBv2GwWgLRbpc+fVewoU/ZqgUzlHZrZaHn72NwcFJN6F4+YIhTYiDq9u4FTV0Ki
 f6dOUrIeZvUUazM9L3x3L45NcLjEu9iOs1cIhBiGPOqdFAu2PmmC0TxWkHyYIrHG
 MqmgdIk+OWeiBbqpc8fdD9f7uwYPHBXf2dMGqBKAeu5d/zLQxx2ZlGgr3R9NRtlI
 bXJpLgp+50pj95GjRVKZE0JzugKNJTyMFqkDSUX/yrD4JMtTguCXTyXe6BUDC6Qv
 bLDd4z5AqOzLJ70tkmTRs2t7Ih1p7/VmA86bNkXnu5DoYGBMQNS1UKCi9mDpB/Ul
 6Zb3It4rxf8hqx29NovivzyX0d2mJdwlZrziVQRYR85w+RpEbVaycflf8E3cXdwE
 AIhpSBsuLHSUpCrFgVEjSpvEzUrooXRpN8ZhwhEGR/+uPzayzAt6zFxnu7J7ztyj
 ffGvdOLq0AXBKj26bSuLpTXWeVwuQQ8SgExDlhhAzSakTjqqla9uDfz55P6Bxn6x
 bToN1v3X5vOfIrnO65tvmQjzrRJLd5R4xWDDz2q1iLLKGU/ugKnbbr33RzA7WYaz
 bdqdxuAoB9pgc6d2BZVL/+8cE3L/t8UjGz7JTxuJ+p7l9avvBr0=
 =D6lC
 -----END PGP SIGNATURE-----

Merge tag 'v6.7-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

Converting the io-domain driver to the new remove callback.

* tag 'v6.7-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc/rockchip: io-domain: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/2578684.Lt9SDvczpP@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-18 17:45:53 +02:00
Arnd Bergmann
57e06f8c1f Qualcomm driver updates for v6.7
This introduces partial support for the Qualcomm Secure Execution
 Environment SCM interface, and uses this to implement EFI variable
 access on the Windows On Snapdragon devices (for now).
 
 The 32/64-bit calling convention detector of the SCM interface is
 updated to not choose 64-bit convention when Linux is 32-bit. The
 "extern" specifier is dropped from the interface include file.
 
 The LLCC driver gains support for carrying configuration for multiple
 different system/DDR configurations for a given platform, and selecting
 between them. Support for Q[DR]U1000 is added to the driver.
 
 All exported symbols are transitioned to EXPORT_SYMBOL_GPL().
 
 The platform_drivers in the Qualcomm SoC are transitioned to the
 void-returning remove_new implementation.
 
 The rmtfs memory driver gains support for leaving guard pages around the
 used area, to avoid issues if the allocation happens to be placed
 adjacent to another protected memory region.
 
 The socinfo driver gains knowledge about IPQ8174, QCM6490, SM7150P and
 various PMICs used together with SM8550.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmUsTdwVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FffsQAMcY5NKBZqbQu5wNr2zPnKW5m/30
 lYi4bW42mlY6Mo3h97LLxjGM9bqsmPasfAxv/84viN0JYxrSVye/zNtD35qTQBtu
 t8O8vdOaOYXIc8dwqC16Fl0kI5pm9tl7p5SJmGAUZBvIGUIGngy3gZOYM+HzyMQr
 UXFO6dO0tQvjowd1t0xE51UNm4J79Vm8HjtuR1pc4i+fZhsy5XhZYq9e4531Yc7o
 lNacBugjXhurw/rz0odNuRzKn+He+7KQR/hSNv8B2MbH0ZUP+k4VUaRSD9TZyBgC
 cOahbCfVLkGwepPFGuaaJUUgo8/aa4HiAbdyOrNL2ozYkoLv/PbRrLF0R9KgXK5v
 LPXpqXt97+rWPnq2iPrfZlo4LAj6JVSCUCxIRZFcWyDFv+wHsYuRbO64s1+MC7+M
 CPpvup31PLGCeR9Joo/WTt9iAUPJ4BY9v4mkjIdmJF371WRryP4um5Ln6xMC+fIe
 U/Ss8mPNpSM+guDo8LbdCGAcxWTDk8TOXxa/888y/4Q5Mg97nn0hY2KK4JBmJ7I3
 Thd0n9vXjM3oOwPGLC7Y2zj9ZQI5k7JKn331yPS4Hb20SKGEztlaJp4B1DdA5/ul
 4BUoh3HWV7dB4l+felrAmPAzAUXvyfGrDBJhXe2dabRJjMhouQ6Wudn3OlC4VP/l
 fjszjVvPFt7CE30C
 =B1Kn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUv9yoACgkQYKtH/8kJ
 UifTOQ/+NUj5Y/sAZfMLY3Q3e8s2nsKZLHHUCH7O/DOR6ILc5DZcTI5a23kfIA9V
 VVluTEnRUzbSHCb3WPW3Yfgy5HpZoaLgXWXGgCsRVKRIODN745TOm2Hn/dFZF0Z7
 Fso0oPplGKrvuxSlaxg+1fbJ7c5r8kE/TDu+ok0eiZGvzwfnVas4bB+27thdH/le
 tY/wS9BhHmBrs6k7gqCfEFWF7M6kS29FOPILIlAfxgUevgSIvAUMBH/KUAGw1Qo/
 UNd372TwXkdw0pG2KOx8xR4iKFBfWX4PbHBtBbUZzAnqerDnNrh7p0qTlhfKXOpb
 jQWx3eqQIwFbbWZ39DxiLE8/h5ig3jF29u1s/vAG2Zb5o5cYwiRM7OjWW8Q8Ha1E
 ha2NSWMEaNniegnMeoy1VTN8uSYY+dUseKmLmP5vCobmYVKuX96iQx5pNBYhsrwN
 YOlkOkF1fXINFqSD5v2N4s4AdGx634GgP7azkjm6fGS+hlwKgWNzwH4HHgXNx/u/
 IPRPw7U/hji2R++oNPtEOlNHoHWM6Zx0ema38qGTC69uAFHETxbFUmOBaX6q/7Ot
 AwpP25YozehwDoUVZRwR6CpHcVbKDl4oJhWaruflkxC+6YFTGYS2hPFiF6zbnQw9
 u36QDkgNzhBG2LINlmqCAAoGWmC+mqwsqYN/DyKsUUSVEODyUng=
 =7XXT
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.7

This introduces partial support for the Qualcomm Secure Execution
Environment SCM interface, and uses this to implement EFI variable
access on the Windows On Snapdragon devices (for now).

The 32/64-bit calling convention detector of the SCM interface is
updated to not choose 64-bit convention when Linux is 32-bit. The
"extern" specifier is dropped from the interface include file.

The LLCC driver gains support for carrying configuration for multiple
different system/DDR configurations for a given platform, and selecting
between them. Support for Q[DR]U1000 is added to the driver.

All exported symbols are transitioned to EXPORT_SYMBOL_GPL().

The platform_drivers in the Qualcomm SoC are transitioned to the
void-returning remove_new implementation.

The rmtfs memory driver gains support for leaving guard pages around the
used area, to avoid issues if the allocation happens to be placed
adjacent to another protected memory region.

The socinfo driver gains knowledge about IPQ8174, QCM6490, SM7150P and
various PMICs used together with SM8550.

* tag 'qcom-drivers-for-6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (44 commits)
  soc: qcom: socinfo: Convert to platform remove callback returning void
  soc: qcom: smsm: Convert to platform remove callback returning void
  soc: qcom: smp2p: Convert to platform remove callback returning void
  soc: qcom: smem: Convert to platform remove callback returning void
  soc: qcom: rmtfs_mem: Convert to platform remove callback returning void
  soc: qcom: qcom_stats: Convert to platform remove callback returning void
  soc: qcom: qcom_gsbi: Convert to platform remove callback returning void
  soc: qcom: qcom_aoss: Convert to platform remove callback returning void
  soc: qcom: pmic_glink: Convert to platform remove callback returning void
  soc: qcom: ocmem: Convert to platform remove callback returning void
  soc: qcom: llcc-qcom: Convert to platform remove callback returning void
  soc: qcom: icc-bwmon: Convert to platform remove callback returning void
  firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit
  soc: qcom: llcc: Handle a second device without data corruption
  soc: qcom: Switch to EXPORT_SYMBOL_GPL()
  soc: qcom: smem: Annotate struct qcom_smem with __counted_by
  soc: qcom: rmtfs: Support discarding guard pages
  dt-bindings: reserved-memory: rmtfs: Allow guard pages
  dt-bindings: firmware: qcom,scm: document IPQ5018 compatible
  firmware: qcom_scm: disable SDI if required
  ...

Link: https://lore.kernel.org/r/20231015204014.855672-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-18 17:18:02 +02:00
Arnd Bergmann
09427e1975 RISC-V SoC drivers for v6.7
Minor changes here only. There's the treewide remove callback work from
 Uwe, some of my own gradual conversion of SOC_ Kconfig options and a
 selection of the ARM AMBA protocol required for the crypto driver on
 StarFive JH7110 SoCs. The latter was supposed to be in v6.6, but I
 forgot to send a PR.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZS1TXAAKCRB4tDGHoIJi
 0itYAP9/F6ao6N728C9VEEcZ2Y+KAW2iiDWTEkJC6Ng/JWqOagD/X1Etz5m8s/eJ
 ZFhf7GQnszYcgP+KT7XtLcIjKI+EKQ4=
 =gwZH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtpN4ACgkQYKtH/8kJ
 UidMgBAA3cgZgdUQaMnLC/rrx0B2DcO3NguMJXFT4XElNbYNKf4AG2jTPVTc7WtJ
 DEERy0hPH0xXPd/VDaCoz+eUcZDFjJKDcrd2DlNmISyVDOtBWsezdKrGz6v2xiCt
 nkn6Uii/QfG4joAw6vJIOYhtaT1EBbiHb176LOcaEY8psQnhWqL16ocwBrjc49GR
 2pkjC1jcqsQGtqEE1A2R7+hbrSHRdLI3JDYWztee2zrCXEgSVl/l3TqYdGqtUF/N
 A246nC6CuJdRBgtmVbBgxKswn3vv1FWoQRsLobBIhOAwf2jxEcaecO0h3LmFYx2G
 571VRMCtbvtUbrFKsxvroX43r+Jj3jygVd6rElHY5emn4FaGE4UiUNqziZGDBgq8
 iwtYLabPHdCakfXi8/cXlb+r+Box+TiXRSTT2Y4AZibmbIghMAv0ub2MuVr5b2r9
 1Til1y+gGZhqIoMD+Vb+LnECJhdAI27hz2oegtMvm4rkC6WhZcFrThWsWBE9Rx8y
 He+BxjRHNvWtKrv+8OhLW78LgnJ6EsIg6He5adjk43Q42OHZ6duBo5x28tjvFD4U
 Ul+0vsfPcapj8TSKZewAiznUTN3fkxR9WUIVOsJM6bTJqdNujDnd9kp7lSCP32ga
 t67kmP/ntm+99t47Dzo3yNrU7BPm/tbpf2WLI179uGlxuL6zcq8=
 =WaOH
 -----END PGP SIGNATURE-----

Merge tag 'riscv-soc-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC drivers for v6.7

Minor changes here only. There's the treewide remove callback work from
Uwe, some of my own gradual conversion of SOC_ Kconfig options and a
selection of the ARM AMBA protocol required for the crypto driver on
StarFive JH7110 SoCs. The latter was supposed to be in v6.6, but I
forgot to send a PR.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-soc-for-v6.7' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  soc/microchip: mpfs-sys-controller: Convert to platform remove callback returning void
  soc: sifive: replace SOC_FOO with ARCH_FOO
  riscv: Kconfig: Add select ARM_AMBA to SOC_STARFIVE

Link: https://lore.kernel.org/r/20231016-predator-affiliate-e8affd3a7be9@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 23:02:22 +02:00
Arnd Bergmann
1780d27c7a ASPEED soc updates for 6.7
* Move all drivers to .remove_new callback
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRz6FSYRMHvZ436fLaBQBa54y6+yAUCZSyLvQAKCRCBQBa54y6+
 yL//AQDDTVJcId8nt8gUWwL+yjGrokPt/+1SsqyCHGTy3SI6rwD5ARNtUlvkM+77
 ig820/TBubDkDhGpYPXobP4Su73DOgY=
 =e+lV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtpGEACgkQYKtH/8kJ
 UifTMQ//UkeWmRkxgbacP1dAw6UgiDbkcJweRKOnb/IiXVzepqKFdmiQ3zjFBMyO
 c9yH3jBNI5XcLZRYqrmaOs8zPiQpAd/o5bT98mp6CTjBxuq+UaRSCvFeUITOd9ek
 c4JO4oPDHYMnc5xGgqeZfvqFrijSSacLw96UQtqJgr4gz7aEdoySdGpTDTwCKThk
 knFMKbBTP4tL012Hy3v8szS1DiOylDFjzzjTFKSAM3HQCNS0ZGOE+cKbKowIyw8k
 GBWQVFK+Ky4L60RNa13YLn9V5Bzc6qo2vqGRBygdTAEa+X/BPPh3LGx5uer6X+NT
 7wo2bn4sV0LjjB6KVmKRJgrqY54KntXKr3ylkUW6I3D4NPgL2wcsK5HQlp2pk5+y
 ar5Sev8YR9MQqe1MRBYJzXpLIct+RUBhACAWxm1EbwLHbni96m0U7+Uqf8D9ZUlu
 yI+4nN1ueXmjC9hU4ZoFbWAYMVWDjPziFtYjr8CJAS5+IPcdp46JEswP7x6Qzyf4
 qfU5qou+K/vSb9BdeqQLPUMZfOg1o9fCmiVU4ZsIDAlO6iEOKll5POyEyQ17XeHh
 yHR19Ods9H81rPcVY/2UZorYYIaOF+GIJtORSnTwogKJrUBiqiE3f0Ck4QJtkOdn
 nowVrstvu3cr1hrbZXSRbn9bxseuWZKMlRa3NpndYYRLXsdbN9Y=
 =34BT
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-6.7-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into soc/drivers

ASPEED soc updates for 6.7

 * Move all drivers to .remove_new callback

* tag 'aspeed-6.7-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  soc/aspeed: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/CACPK8XcTx9bd7DkguFOZ4qCxk8MJWm-yeNMLGDCnO+wv7dwa1g@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 23:00:17 +02:00
Arnd Bergmann
024d4292e4 soc/tegra: Changes for v6.7-rc1
This contains a few minor cleanups for PMC and CBB.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmUpXboTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zodjZD/9e95B23hid+95CCg1fKhPNo0q056rS
 7qKuPQvNmb1ySR9T0bhwe7PghISD4DFB2KHu5Yp2CFtjP+IkSQuouByp7yaOyL+y
 2P+CuXp0IM6JpfnidvEzjzuVchOu+pN0xVzPcsmjjaWWz495N4v8b2Q0K/RcMu8p
 tQchqjarsgiHr6iuK61gf3EzGrxIuFjI2DomC6PmJJKwdqrAU9nwB6ReaZrtHpiM
 rnxrHVCd2MxlMu9VqiHFyCd3H6gwCQSNZm+04Rzikgm8g22YgPTfTBfDPyxtE7o0
 yZwrNreJunMiMfNQwVbKJnDdcVjvO9xBIzjPrKYx6SOjhTCnIROJsOqFtjhv1873
 nIFzP7iyiwClahHL2yReVPs2XDfVLsfxZjQ2GGuMOsAdsfIENCfVspk03FYRUAgj
 izaGx3iZKZrH+Ds0Kka3+rdM5lfXV1qARYvOyAfqSoP3r0G83uJItM/qVxC/rGSP
 KldNTKDgP1Txj9hx5Yd0opgb7mwaXMPDZA2hP5Tt+aRNJNOU7rXsjiR4uvZdhIru
 8ab0cHOblNpe8cmB8dFjJzpawE/2AzhjQMvixm2OpG8IQyDgXBDW0h85Ud4E4KNF
 c+7Iqo08FYR1l/3WQn5h+2QFX3yJ9KQPM8DiZ4FA+dUMif5reJ61cTW4Zaw8o8eS
 QW9166iQ8r5R8g==
 =08ua
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUto7IACgkQYKtH/8kJ
 Uie2hg//XypJM5m6EuNNn9LhClz9NEVxN4QwG1vm1uFbAVbmirFO0Qnn88p9oqcE
 mA5DWjTQUu9ORK0a/n7x9MZ4pabtsM4Uq7OQAJnFQclaeyMwOba/C3001Bil6v+E
 rzV+N1oHxNIa3Rr+rgyIfvjZ8ZCT+g10net51Da227ZSf+1e0c3LiJpirVCh9+Xh
 pPOWyg8u0rJoVeT4ArnfL6yf7GG7yr6ssDtI+QF43iigr5K7dj2g6WMs/R/wLawk
 5FagRlIca4xQtRbIFYDLt0jToh7oSOipLNJRRHNrJeihdntVwrNMDe+uFpq1tRw4
 0BoYajiI8k5B9eHHii6X9luJpkqTtHkDNUpw69nXeyxuBueVhA712ONZLPxQGEO+
 itXfS32z4x41I+XIR4ctQQuW3PHU8ZDAArfJLR1L0WUFhXYafJlaztu+fX/sEq/9
 glZK8EXjLjy822uLZBdRrpsdFH0WbWCVdWsXl1XhFKUhMz0TqGJOz5i5sSS48Qje
 QTGxgmN0eM2S/iM+/hFnPgARR6lgblnPL7BUjVEcoj9FTa23kwZ9BNBJZ9MggyT6
 h03/7taIwTpZrAL3QVVqSkkVGcRU2K6JmrWp7488tDv22cpy+5IgPtkEWf1kURCq
 65TQMe3PeNabIrC6Mv54/rzWggV6UDYcQU5B8vIWcOs1yEMRtII=
 =SwSY
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.7-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.7-rc1

This contains a few minor cleanups for PMC and CBB.

* tag 'tegra-for-6.7-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Drop the ->opp_to_performance_state() callback
  soc/tegra: cbb: tegra194-cbb: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/20231013153723.1729109-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 22:57:22 +02:00
Arnd Bergmann
0aefb041c5 MediaTek drivers updates for v6.7
- Added support for Smart Voltage Scaling (SVS) on the MT8188 SoC
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmUj0ykXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5NTA//fLUq0ISygXiqwzGGU53u1Hsj
 YHWRmiO+Z33O0iP6aw6gIT+ly4I5vltRRSh5A/iU9XuVEfceiQMUQ4ikm/ImsaSW
 XHm6Q/NWGTo6wsWXiB/dFeDy7ry+mEGKdpK0AIOE1M/az7m6ljLbIQCzEwZJY2s8
 /BCyFCHBLyGdLYAMBNIa+d/wzM6FW+UbG8SEHo8zVsYPx7biIkAri413Rl9Y+q68
 38casr1Dim3QkzJe1eN5Rrmca+lRztbJvlW7W0tp3n4fF02A/G/d6YKmmDrMPE1x
 FSvksYXgpXzt4r4KJRmeZhDaOYEv3n6A1KuPeYcs9SfOqMOg5MU3hv308nsDLvVm
 69jZdO0uF/ML2ZvWRoWPn9VN8xAuDA3DteprkQ37PCwKJigyXwmvIxhg+maRl/tn
 gG1TReAo6RPU+PL/YWJAWZgsz+0308ImrZOOeDMGJJ/gL+l12hik7pwag11U6y9z
 nbTxnCoxOS6MVZTLYcawzFhWCdth9xYor1K3Kj7uZ9vqAB6rVnszlsc51w1n+pS6
 SUk3puZAdZHKr1DcoamN82HIC6m55McunVRD8szIDns9NIGxe2oWm7mJNbsSsU19
 Su8TekDwhQv+lOqzxes+rGjLDKagIPx5HuIwkJy93uz9eGDxdZNMj/toJLtB+s9l
 PhJB9Iv5Oyc/eEq96kg=
 =2m0g
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtop0ACgkQYKtH/8kJ
 UidWBA/+POF+q/iarLWz1bvXpBQeKbciUKghl0eDS3NdcweKvXALvlqJvSBzZmHj
 g1IGmojoNX/C/NHuQj701l+H4F/rE5fsMvnVqd3UvjAuGCI9qDqYrdzvjE1+IfhL
 vlbf11w+bi+Be5GACfgD8xJKSHqMMIgxjxN0auKq6bVMiAukQVIhpD5XGSVVhRpn
 GjDk8jlMryKYpVUWoc4YGZkGzQQTErgZ+b4nvqCfVwS8FvhejGnkjPQTDlDOwGRO
 Y0lohx3XVi+orY4UVItnEeJg3swegJ2fcOPYeWTxdxyrS1qIgVUYXbYCC8W9eDmW
 3FZIxzoUwWDY5IQJwaL76AVvZHRszb/jJz8N2vIqU2UX0DQqMbRvWcgXe3HySBJ5
 TD56ifeCYzeZFpKqQkuKskln8ElL3/IftTimcshb1BsGzlQp7UztCiKS7SxXGiRu
 UwnFP1K4m4DcXZCpbUEdQc9CL0FNmTbuDtuUBbX6mE8V6mbEfOmuaxZ29dz7ZN5d
 1mYGUch4IG2dZMr0vb/b8dhZjprFaPtl2Ssqc0RbjsflGlnGVRScso1HIR/hJgLG
 39cqapacZCqOg1GKjKQPkPAPpwMxG91JzlFPR3YilTv2dvwkoqEiHclNLzyXU1Cn
 bm9QL/iX7wn/0B+j6LQE2giIJMNa3Bn8J+SiKcrakqSpGGbkv6c=
 =gtUk
 -----END PGP SIGNATURE-----

Merge tag 'v6.6-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into soc/drivers

MediaTek drivers updates for v6.7

- Added support for Smart Voltage Scaling (SVS) on the MT8188 SoC

* tag 'v6.6-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  soc: mediatek: svs: Add support for voltage bins
  soc: mediatek: svs: Add support for MT8188 SoC
  dt-bindings: soc: mediatek: add mt8188 svs dt-bindings

Link: https://lore.kernel.org/r/d25ccd90-277a-fd05-8605-f7d1d129d4fa@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 22:52:45 +02:00
Arnd Bergmann
8c15065cdd Renesas driver updates for v6.7
- Identify the new RZ/G3S SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZRaddgAKCRCKwlD9ZEnx
 cOWxAPivleHtCGxs8+tKDNiV3g1RFpaNBvnAc2FIjf4v/akOAQChbpG/OjJcpbai
 dbrpoui3P/WYhr+adOWqgpInXMqNCw==
 =vYub
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtomQACgkQYKtH/8kJ
 UieYbw/+N0osLgv9GRo7nUgci+6Te6RthCdrXsDPnay/LQM7rYego8xzGySdXbZ0
 qef4aDAKI4rEPWU2XC1edNfmt11YUbicBVWiKv/3p2784kKwG9UFXBJ/bYZim1mY
 /hRdDul3J1LlbyM9Eauo8VZn7PMfo1buX3q3011dlIFJwBdZBA7fLXFf8q9DF6Qd
 3Yp3+WjPX3B1yxHzGzj34S9ChuimrXDFLqPjjGlyEjnpmbcroYcbboMIUcLC5BfO
 WKSh+G/rjN4zaUiuyImzH/9o0n/A5omtbnqZD+eRGOlmkX9bNP3rAYGOVVFxuJRz
 16Pb8qBPMG6l8JO/kO1rUjxoLCVHTg+eO//STJ3h81Lqd6W1yC+BFvWWWHUuX40Q
 q5m0Vnhwjuv9XbAg6auKvpjz5wUzxPHXz7Hix4CzvGqvpkr5RSFwrfUH2x+U0CN5
 Qgor6PSbrLp1G8y4BDykFAPYbgMm976VQmSkn6yJmKj51MdcJ4ktNZbAof1MpJMt
 LWQ//FXbwajcaUxzfDMW6elaso1yU038KANqjAp6itfNpsccP8xhNYhZ58wY6Srd
 wQtE/8FKyq6i0xGxaDfC8ORYcEXD8mBcda5ItjcQE4VRor2tt+jWSNcTyhjzP55C
 7n+N+iN+z5rLUFgtZLyfOYjue2KrDkNgNJS9p+kwu4IXvTKPd0w=
 =yAwA
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.7

  - Identify the new RZ/G3S SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-drivers-for-v6.7-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Kconfig: Remove blank line before ARCH_R9A07G043 help text
  soc: renesas: renesas-soc: Remove blank lines
  soc: renesas: Identify RZ/G3S SoC

Link: https://lore.kernel.org/r/cover.1695985423.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 22:51:48 +02:00
Arnd Bergmann
4d8220323f Convert drivers/soc to struct platform_driver::remove_new()
This PR contains the patches I sent in the series available at
 https://lore.kernel.org/all/20230925095532.1984344-1-u.kleine-koenig@pengutronix.de
 that were not yet picked up in next as of next-20231013.
 
 It converts all drivers below drivers/soc to let their remove callback
 return void. See commit 5c5a7680e6 ("platform: Provide a remove
 callback that returns no value") for the rationale.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmUrDBAACgkQj4D7WH0S
 /k4SdggAk4dtkMnhFT1gUZjaYJWKibyuIWhCu6EkDTlLlefEWQFFT6NX5Vdz59i6
 /XUurcZx4eVtXq89L4/BI/cTjhrrlMIFlZwtK63a1tniUh3mK6RIanIlIOQMoai+
 P4B4V1RSIlj72njB6tJ8gVO2XU5W8I6hKNvZs7ZXyJp4KgRZqZyniV7os72ExJrm
 H4NNcoiifRS2j1213xfyWyEA40yHj2aywGaXP7gjKm+AU4F6DxDwFJ8YhOvEnsu1
 8Uda4J+Bs7+y46O9yqpLutI9W7mpBvk+2CAgzeIE+beEO221xNhgoTklvmT3DEbb
 FvHcYHiNWzrpgwsNSwG+qXaSuy/vwQ==
 =0IZS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtolQACgkQYKtH/8kJ
 UidseA/+PhpQ6ntmfjygZM2aY/WSbq3qFMTlFH17OFaGSBGcNP7gpFy5RbtpIem5
 Y9jeofVmaA4nTLjkpZcJQdCiDCqw5U1Ew0P7dt+cBtnEwfDQk/OfNwaD8Zbr5i27
 hG8AeY/2AiqINaxt13ZYECnwv5w+tob2ZkrvWVW0ykJdqBLO9U4lBWIFx9YvhnpV
 jO0bUuDeKj34vhFzd2v6w+Py/xfJlTpgXbPgtO8AQ06kmpAk5ayj9ccqGvYXwEYw
 BuO4Xht2L0yE3nQVFNuG27WXjVqAdH1lEX/KTaYFqgyj8zRHbU7dM/qqa4UO7OqY
 9URF8IOPJYjrvoOxskv+IVOCosslxMOMYw8KrKuWx7ZuFh/NwQOjz6oOvzrp3tkl
 Kk5Fkoc0TayzYIPS4dTeVuiZDwUj+44tYIxtHqDjyUGBXH96CpyAuX57NK3nyRNK
 Iv6TsvKH9GexZqjpRK2j89ltVcABTSenTsx3LVl/fWO9UmhohoVvbC1ZbGJmT3Sf
 0v8RIedRWcWGrctMfzu4P/dyOkznc/utlqlL2ZoIB8LSyu5mUXDY8vycb+3Z9O07
 xKTVlEYY6XeW6hJ10f6Meom8+4+XUbcBw+++bFeUJ35kywxQtOFMf9bYBC7YSF5Y
 9f68uZIspUyXOj+q8n5nvZ6FYkj1HDPzBuBHxznaupIcpXcJ5uw=
 =YJuL
 -----END PGP SIGNATURE-----

Merge tag 'platform-remove-void-soc-for-6.7-rc' of https://git.pengutronix.de/git/ukl/linux into soc/drivers

Convert drivers/soc to struct platform_driver::remove_new()

This PR contains the patches I sent in the series available at
https://lore.kernel.org/all/20230925095532.1984344-1-u.kleine-koenig@pengutronix.de
that were not yet picked up in next as of next-20231013.

It converts all drivers below drivers/soc to let their remove callback
return void. See commit 5c5a7680e6 ("platform: Provide a remove
callback that returns no value") for the rationale.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 22:51:31 +02:00
Uwe Kleine-König
55fa358ca8 soc: samsung: exynos-chipid: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230925095532.1984344-32-u.kleine-koenig@pengutronix.de
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231016072911.27148-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 22:49:56 +02:00
Gustavo A. R. Silva
ba21d6367c soc: qcom: apr: Add __counted_by for struct apr_rx_buf and use struct_size()
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

While there, use struct_size() helper, instead of the open-coded
version, to calculate the size for the allocation of the whole
flexible structure, including of course, the flexible-array member.

This code was found with the help of Coccinelle, and audited and
fixed manually.

Signed-off-by: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Reviewed-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/ZSRw6RNi3Crhd32H@work
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-16 11:45:17 -07:00
Dmitry Baryshkov
f86955f2b1 soc: qcom: pmic_glink: fix connector type to be DisplayPort
As it was pointed out by Simon Ser, the DRM_MODE_CONNECTOR_USB connector
is reserved for the GUD devices. Other drivers (i915, amdgpu) use
DRM_MODE_CONNECTOR_DisplayPort even if the DP stream is handled by the
USB-C altmode. While we are still working on implementing the proper way
to let userspace know that the DP is wrapped into USB-C, change
connector type to be DRM_MODE_CONNECTOR_DisplayPort.

Fixes: 080b4e2485 ("soc: qcom: pmic_glink: Introduce altmode support")
Cc: Simon Ser <contact@emersion.fr>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Simon Ser <contact@emersion.fr>
Link: https://lore.kernel.org/r/20231010225229.77027-1-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-16 11:44:43 -07:00
Neha Malcom Francis
3aeb0d3694 soc: ti: k3-socinfo: Avoid overriding return value
Avoid overriding the return value and make sure the right error code
is reflected. If the part is none of the identified list present in
k3_soc_ids[], return -ENODEV.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Link: https://lore.kernel.org/r/20231016101608.993921-3-n-francis@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-16 11:38:17 -05:00
Neha Malcom Francis
8dec342ead soc: ti: k3-socinfo: Fix typo in bitfield documentation
Fix documentation that indicates wrong bit.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Link: https://lore.kernel.org/r/20231016101608.993921-2-n-francis@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-16 11:36:31 -05:00
Rob Herring
50c01a942b soc: ti: knav_qmss_queue: Use device_get_match_data()
Use preferred device_get_match_data() instead of of_match_device() to
get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231009211356.3242037-13-robh@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-16 10:28:29 -05:00
Arnd Bergmann
606c577f75 Renesas fixes for v6.6 (take two)
- Fix build failures due to missing RZ/Five dependencies.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZSkq3QAKCRCKwlD9ZEnx
 cKyFAP9nhWLE1ow2pYIX66+X9P0pQjJCODIwDXVXlmNPv0vHEQEA8Zk0X8Y7aaeh
 Sf1acQ7FOsreUH5QaExZyKkcQLQOVQw=
 =fU+0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUtRccACgkQYKtH/8kJ
 UicpfQ//Y+C/3anI6HhGyJrwshG5VMvrNnrbhRwKwkyWm6hAaNYbUyutk2zKunpj
 CvNVBofgwmQ6I91PaYXpy392K0FkZkdm6jFM4bu+hdwuGN1zC64mmjAbNy5Ay+Eh
 c0Tax7WBp9e73b6FkTg8PHYJJIWXhExCGOd3Vz/87Gm3FKS82Ei+TQRu/yazUIZe
 EaOL+IJueASj8GrEzJMVoWdyY3+Ez5ww3NjMn0hkmP4FBeUO27XcRqse8tD/Rppp
 aliBCSxl6XhOFSCpHSmUu/S0gAwsrxe4MgzMNUu+s+6gJfwz0XCAOHKDq3FUOF8j
 jtQ6Xs+4Pda3VAGfwzshT9ovZYMNhFTcHkvLUevQdGpVT9u3njZS/sj+IUcU8TWd
 zJExSqN/ImXywIr/5v5bHZ6b3jxCvslk9Girp06UeMIipCrFtDeVqQw5i1nIvCml
 GYpTE5ZYxhEz/pLzeJ75JD5n5VR+SQVKC/60d3An7+VklOYviviRLd8msEE4i4dw
 O1QJwJlR8/LMBUuv/Ja0D2SwFh0+4PZULo6njR9Iwzh52cYWnKwr7P5iTF5gkVCy
 IGlOJaB6R3t0+cRBQpZhoyeNLxTmnm6+ui/HA8GL1R32+S6pWQ2lDrxgaXYPzINT
 c7G3aPWJbA2t4/MmqugnuDD+VchUeaQSMe/WSgeDFIzpEbN1u+4=
 =g+Ws
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes-for-v6.6-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes

Renesas fixes for v6.6 (take two)

  - Fix build failures due to missing RZ/Five dependencies.

* tag 'renesas-fixes-for-v6.6-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Make ARCH_R9A07G043 depend on required options

Link: https://lore.kernel.org/r/cover.1697199963.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-10-16 16:16:39 +02:00
Uwe Kleine-König
e77e6e3e90 soc/pxa: ssp: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-18-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:34 +02:00
Uwe Kleine-König
630cc5e1e6 soc/mediatek: mtk-mmsys: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230925095532.1984344-16-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:29 +02:00
Uwe Kleine-König
a129ac3555 soc/mediatek: mtk-devapc: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230925095532.1984344-15-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:25 +02:00
Uwe Kleine-König
db758b73f8 soc/loongson: loongson2_guts: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-14-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:21 +02:00
Uwe Kleine-König
95589c0349 soc/litex: litex_soc_ctrl: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Acked-by: Gabriel Somlo <gsomlo@gmail.com>
Link: https://lore.kernel.org/r/20230925095532.1984344-13-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:17 +02:00
Uwe Kleine-König
48544eee87 soc/ixp4xx: ixp4xx-qmgr: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-12-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:13 +02:00
Uwe Kleine-König
a25e745c75 soc/ixp4xx: ixp4xx-npe: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-11-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:09 +02:00
Uwe Kleine-König
3f40c999de soc/hisilicon: kunpeng_hccs: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-10-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:05 +02:00
Uwe Kleine-König
9a9b332db0 soc/fujitsu: a64fx-diag: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-9-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:27:01 +02:00
Uwe Kleine-König
ea32155a03 soc/fsl: cpm: tsa: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Acked-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20230925095532.1984344-8-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:26:57 +02:00
Uwe Kleine-König
14914a115e soc/fsl: cpm: qmc: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Acked-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20230925095532.1984344-7-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:26:53 +02:00
Uwe Kleine-König
e5f98e9f6a soc/fsl: dpaa2-console: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Link: https://lore.kernel.org/r/20230925095532.1984344-6-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2023-10-14 23:26:45 +02:00
Ulf Hansson
cda263907a soc/tegra: pmc: Drop the ->opp_to_performance_state() callback
Since commit 7c41cdcd3b ("OPP: Simplify the over-designed pstate <->
level dance"), there is no longer any need for genpd providers to assign
the ->opp_to_performance_state(), hence let's drop it.

Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-10-13 13:58:36 +02:00
Uwe Kleine-König
0af9e89106 soc/aspeed: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20230925095532.1984344-2-u.kleine-koenig@pengutronix.de
Link: https://lore.kernel.org/r/20230925095532.1984344-3-u.kleine-koenig@pengutronix.de
Link: https://lore.kernel.org/r/20230925095532.1984344-4-u.kleine-koenig@pengutronix.de
Link: https://lore.kernel.org/r/20230925095532.1984344-5-u.kleine-koenig@pengutronix.de
Signed-off-by: Joel Stanley <joel@jms.id.au>
2023-10-13 15:04:12 +10:30
Linus Torvalds
9a5a149485 ARM: SoC fixes for 6.6, part 2
AngeloGioacchino Del Regno is stepping in as co-maintainer for the
 MediaTek SoC platform and starts by sending some dts fixes for
 the mt8195 platform that had been pending for a while.
 
 On the ixp4xx platform, Krzysztof Halasa steps down as co-maintainer,
 reflecting that Linus Walleij has been handling this on his own
 for the past few years.
 
 Generic RISC-V kernels are now marked as incompatible with the
 RZ/Five platform that requires custom hacks both for managing
 its DMA bounce buffers and for addressing low virtual memory.
 
 Finally, there is one bugfix for the AMDTEE firmware driver
 to prevent a use-after-free bug.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmUn5QgACgkQYKtH/8kJ
 UicWRw/+J+gYuPbjAO5A34KjcvE0/oHoX0CartiJLjGMSboXqjvlJOL2V37q9cTO
 kt/all/wWYnyvr3L09jPKZY8J9stw6wgMpkPZpcAORkF/Vc8KNEvBBVVnTIZSlie
 G6HSNW1S3qMPdt2mxjPWeO7aoKqq/lIuQoJDDAh3XQWYowy7++o6TreLs14UsGfv
 +PRNm5dR+SGe5QC/vIJIn0U7bTD7PRQ7xEdv2LC+ANto+mbtdyVOKh16kcTnzO+2
 NUHmBQvHqGS0Q1uN1hiXQocL9WA7vreVLk7ARbq/SLr1ccOsxJrxKj9LYPhoLq68
 8oJCHR8RBAXxYInhiw2xR62KczTEVickNWlHR7aiWlQ+Bxha/YhpmUAzh/hrlvWg
 edCBUSIxQW1CyLmbMxAqyHQn72F+sMM/LulhmftHuBcbF1YwNseAV67MKjoMSTr0
 rjSiXpzdomCvgZxhJYujHLjugKh6jfLMRwPx+0P6qKebdm/y1a17kGtUf/NQ24bn
 nDAeOAKWRRdEu4CjcoYkzVLgE6MlXUiSbSmpsPpDevge1qbcrfHgIATHech4oyDd
 h2o8xIO37H4QB3s9w18g05OQRToRlBHPMxQhD+vlRy77Zd9BE7wZqKcwR9XjkyyX
 +qPcNHVN0khxf+/NYiIE/Wn5Z57PL2vvgYoSp2L2Wi+UiYEZ0Ek=
 =Ukoh
 -----END PGP SIGNATURE-----

Merge tag 'soc-fixes-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "AngeloGioacchino Del Regno is stepping in as co-maintainer for the
  MediaTek SoC platform and starts by sending some dts fixes for the
  mt8195 platform that had been pending for a while.

  On the ixp4xx platform, Krzysztof Halasa steps down as co-maintainer,
  reflecting that Linus Walleij has been handling this on his own for
  the past few years.

  Generic RISC-V kernels are now marked as incompatible with the RZ/Five
  platform that requires custom hacks both for managing its DMA bounce
  buffers and for addressing low virtual memory.

 Finally, there is one bugfix for the AMDTEE firmware driver to prevent
 a use-after-free bug"

* tag 'soc-fixes-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  IXP4xx MAINTAINERS entries
  arm64: dts: mediatek: mt8195: Set DSU PMU status to fail
  arm64: dts: mediatek: fix t-phy unit name
  arm64: dts: mediatek: mt8195-demo: update and reorder reserved memory regions
  arm64: dts: mediatek: mt8195-demo: fix the memory size to 8GB
  MAINTAINERS: Add Angelo as MediaTek SoC co-maintainer
  soc: renesas: Make ARCH_R9A07G043 (riscv version) depend on NONPORTABLE
  tee: amdtee: fix use-after-free vulnerability in amdtee_close_session
2023-10-12 11:52:23 -07:00
Conor Dooley
1531309aa2 soc: renesas: Make ARCH_R9A07G043 depend on required options
Randy reported a randconfig build issue against linux-next:

    WARNING: unmet direct dependencies detected for ERRATA_ANDES
      Depends on [n]: RISCV_ALTERNATIVE [=n] && RISCV_SBI [=y]
      Selected by [y]:
      - ARCH_R9A07G043 [=y] && SOC_RENESAS [=y] && RISCV [=y] && NONPORTABLE [=y] && RISCV_SBI [=y]

    ../arch/riscv/errata/andes/errata.c:59:54: warning: 'struct alt_entry' declared inside parameter list will not be visible outside of this definition or declaration
       59 | void __init_or_module andes_errata_patch_func(struct alt_entry *begin, struct alt_entry *end,

On RISC-V, alternatives are not usable in XIP kernels, which this
randconfig happened to select.  Rather than add a check for whether
alternatives are available before selecting the ERRATA_ANDES config
option, rework the R9A07G043 Kconfig entry to depend on the
configuration options required to support its non-standard cache
coherency implementation.

Without these options enabled, the SoC is effectively non-functional to
begin with, so there's an extra benefit in preventing the creation of
non-functional kernels.

The "if RISCV_DMA_NONCOHERENT" can be dropped, as ERRATA_ANDES_CMO will
select it.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/all/09a6b0f0-76a1-45e3-ab52-329c47393d1d@infradead.org/
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20231012-pouch-parkway-7d26c04b3300@spud
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-12 19:46:49 +02:00
Uwe Kleine-König
d3f785d74b soc/tegra: cbb: tegra194-cbb: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-10-11 23:04:39 +02:00
Costa Shulyupin
17e02586ed docs: move powerpc under arch
and fix all in-tree references.

Architecture-specific documentation is being moved into Documentation/arch/
as a way of cleaning up the top-level documentation directory and making
the docs hierarchy more closely match the source hierarchy.

Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20230826165737.2101199-1-costa.shul@redhat.com
2023-10-10 13:35:55 -06:00
Peter Robinson
089d08d7c3 soc: bcm: brcmstb: depend on ARCH_BRCMSTB over arm arches
The SOC_BRCMSTB is better depending on ARCH_BRCMSTB as it's
defined for both arm and aarch64 but is more specific to
the actual SoC's dependencies, it'll still get compile tested.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20231009135833.17880-2-pbrobinson@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2023-10-09 11:51:08 -07:00
Rafael J. Wysocki
aa2e505c80 ACPI: PCC: Mailbox and generic updates for v6.7
Main updates include:
 1. Addition of support for Type 4 PCC subspace that enables platform
    notification handling (Huisong Li).
 2. Support for the shared interrupt amongst multiple PCC subspaces/
    channels (Huisong Li).
 3. Consolidation of PCC shared memory region command and status
    bitfields definitions that were duplicated and scattered across
    multiple PCC client drivers (Sudeep Holla).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmUf3y8ACgkQAEG6vDF+
 4phTng/+Jp8DG6bNQidDLndQeUyiB2Ip9iPN72ucBVla9ZxWg7cQ2ljvmgOBI0AY
 V9DeBOXrkwln1TNaSxF5oyse8aUD6pU3e+V5QcTfUVFl9xUOVkgmlcV8RJOsHQyu
 h42P/ZsTg/TmiXOP6XUDWxS5Gdr0quYGl5Jk8YWFCdfvmj/k2/b5F+dLRujjWaZY
 EzaFWGoF8xavi96uqbzi0q9cAuqZtnhpPeP9ZzIhTYjDNMIyBRd7Paq7ESlq3omH
 8W4zRkRaxPsNYmjAs2mnaOPQDy4gt1taJrRnQHwiebq2Gtqj6iNF1HT//hbYwL+d
 dZjccM9J0bP0n7459dwJugOumRSByZgwh4UT+lHdKeJmWmoZpoTXjkBfRjdg2piv
 DdE9ap2Wn+1xW7OF6lpeH75nFWo+/MRVufYU6mQ+7Zt1Ez0K9JTFm2VWo2fZqTx3
 TG8LhjDX1SL12/e4kp+37z2RIpjkW5sf1m5uzTZzLwDwGUkKB1TZtU8MCK81erlA
 c9bmU9BtPhnft4CaAipwhnwyDPUUXCxVUpL3E5uknlBUU+1B7JyuaEarfQFg6I1Y
 JiZk11abrRQpva1myU16IYmuPiM1XJ9Mc5RCO0URv+tDoTEHpm707nbRn0jZgCNz
 O6DcUdES0bA2bySJ1kWfQfdghHSiHphzl15I4L/J69eMRToEFpk=
 =bZ1a
 -----END PGP SIGNATURE-----

Merge tag 'acpi-pcc-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux

Merge ACPI PCC changes for v6.7 from Sudeep Holla:

"ACPI: PCC: Mailbox and generic updates for v6.7

 Main updates include:
 1. Addition of support for Type 4 PCC subspace that enables platform
    notification handling (Huisong Li).
 2. Support for the shared interrupt amongst multiple PCC subspaces/
    channels (Huisong Li).
 3. Consolidation of PCC shared memory region command and status
    bitfields definitions that were duplicated and scattered across
    multiple PCC client drivers (Sudeep Holla)."

* tag 'acpi-pcc-updates-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  soc: kunpeng_hccs: Migrate to use generic PCC shmem related macros
  hwmon: (xgene) Migrate to use generic PCC shmem related macros
  i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros
  ACPI: PCC: Add PCC shared memory region command and status bitfields
  mailbox: pcc: Support shared interrupt for multiple subspaces
  mailbox: pcc: Add support for platform notification handling
2023-10-06 21:32:08 +02:00
Jisheng Zhang
c1ec4b450a soc: renesas: Make ARCH_R9A07G043 (riscv version) depend on NONPORTABLE
Drew found "CONFIG_DMA_GLOBAL_POOL=y causes ADMA buffer alloc to fail"
the log looks like:

    mmc0: Unable to allocate ADMA buffers - falling back to standard DMA

The logic is: generic riscv defconfig selects ARCH_RENESAS then
ARCH_R9A07G043 which selects DMA_GLOBAL_POOL, which assumes all
non-dma-coherent riscv platforms have a dma global pool, this assumption
seems not correct. And I believe DMA_GLOBAL_POOL should not be
selected by ARCH_SOCFAMILIY, instead, only ARCH under some specific
conditions can select it globaly, for example NOMMU ARM and so on,
because it's designed for special cases such as "nommu cases where
non-cacheable memory lives in a fixed place in the physical address
map" as pointed out by Robin.

Fix the issue by making ARCH_R9A07G043 (riscv version) depend on
NONPORTABLE, thus generic defconfig won't select ARCH_R9A07G043 by
default. And even for random config case, there will be less debug
effort once we see NONPORTABLE is enabled.

Reported-by: Drew Fustini <dfustini@baylibre.com>
Closes: https://lore.kernel.org/linux-riscv/ZRuamJuShOnvP1pr@x1/
Fixes: 484861e09f ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Drew Fustini <dfustini@baylibre.com>
Link: https://lore.kernel.org/r/20231004150856.2540-1-jszhang@kernel.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-10-05 15:07:57 +02:00
Mark Tseng
fa095fe0ab
soc: mediatek: svs: Add support for voltage bins
Add support voltage bins turn point

Signed-off-by: Mark Tseng <chun-jen.tseng@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230921052637.30444-4-chun-jen.tseng@mediatek.com
2023-10-05 12:14:47 +02:00
Mark Tseng
1f6c9cbc49
soc: mediatek: svs: Add support for MT8188 SoC
MT8188 svs gpu uses 2-line high bank and low bank to optimize the
voltage of opp table for higher and lower frequency respectively.

Signed-off-by: Mark Tseng <chun-jen.tseng@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230921052637.30444-3-chun-jen.tseng@mediatek.com
2023-10-05 12:14:47 +02:00
Ulf Hansson
d8237f8733 pmdomain: xilinx: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Michal Simek <michal.simek@amd.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
02c24a1203 pmdomain: ti: Move and add Kconfig options to the pmdomain subsystem
The TI_SCI_PM_DOMAINS Kconfig option belongs closer to its corresponding
implementation, hence let's move it from the soc subsystem to the pmdomain
subsystem.

While at it, let's also add a Kconfig option the omap_prm driver, rather
than using ARCH_OMAP2PLUS directly.

Cc: Nishanth Menon <nm@ti.com>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>
Cc: Tony Lindgren <tony@atomide.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
f28cd69750 pmdomain: tegra: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: Mikko Perttunen <mperttunen@nvidia.com>
Cc: <linux-tegra@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
fe78050a00 pmdomain: sunxi: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>
Cc: <linux-sunxi@lists.linux.dev>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
ac68b50d15 pmdomain: starfive: Move Kconfig file to the pmdomain subsystem
The Kconfig belongs closer to the corresponding implementation, hence let's
move it from the soc subsystem to the pmdomain subsystem.

Cc: Walker Chen <walker.chen@starfivetech.com>
Cc: Conor Dooley <conor@kernel.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
70556c57ea pmdomain: samsung: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: <linux-samsung-soc@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:56 +02:00
Ulf Hansson
70a69266b3 pmdomain: rockchip: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Heiko Stuebner <heiko@sntech.de>
Cc: <linux-rockchip@lists.infradead.org>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:18 +02:00
Ulf Hansson
a3aa70f972 pmdomain: renesas: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc subsystem to the pmdomain subsystem.

Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: <linux-renesas-soc@vger.kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:18 +02:00
Ulf Hansson
4eb42e5bd8 pmdomain: qcom: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc subsystem to the pmdomain subsystem.

Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Andy Gross <agross@kernel.org>
Cc: <linux-arm-msm@vger.kernel.org>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:18 +02:00
Ulf Hansson
8b1d7a2785 pmdomain: mediatek: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc subsystem to the pmdomain subsystem.

Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: <linux-mediatek@lists.infradead.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:41:18 +02:00
Ulf Hansson
24a11a1e82 pmdomain: imx: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc- and firmware subsystem to the pmdomain
subsystem.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: <kernel@pengutronix.de>
Cc: <linux-imx@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-10-04 23:40:36 +02:00
Uwe Kleine-König
c0989f7d12 soc: qcom: socinfo: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-30-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:39 -07:00
Uwe Kleine-König
bdd7cc62cf soc: qcom: smsm: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-29-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:35 -07:00
Uwe Kleine-König
1cd966c2dc soc: qcom: smp2p: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-28-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:32 -07:00
Uwe Kleine-König
4b8dee9a34 soc: qcom: smem: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-27-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:28 -07:00
Uwe Kleine-König
7c93da5b8b soc: qcom: rmtfs_mem: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-26-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:26 -07:00
Uwe Kleine-König
a47ff90bf2 soc: qcom: qcom_stats: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-25-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:22 -07:00
Uwe Kleine-König
57b31729bd soc: qcom: qcom_gsbi: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-24-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:19 -07:00
Uwe Kleine-König
ffbe84a514 soc: qcom: qcom_aoss: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-23-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:16 -07:00
Uwe Kleine-König
4b3373e42d soc: qcom: pmic_glink: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-22-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:13 -07:00
Uwe Kleine-König
0b742c498b soc: qcom: ocmem: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230925095532.1984344-21-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:10 -07:00
Uwe Kleine-König
d85a9d18a5 soc: qcom: llcc-qcom: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230925095532.1984344-20-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:05 -07:00
Uwe Kleine-König
dd714c568e soc: qcom: icc-bwmon: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230925095532.1984344-19-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-10-02 11:30:00 -07:00
Uwe Kleine-König
82e83cb51c soc/ti: wkup_m3_ipc: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-40-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:46 -05:00
Uwe Kleine-König
ba03aab9bf soc/ti: smartreflex: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-39-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:46 -05:00
Uwe Kleine-König
d183b20d34 soc/ti: pruss: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-38-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:45 -05:00
Uwe Kleine-König
9eb950e9ff soc/ti: pm33xx: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-37-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:45 -05:00
Uwe Kleine-König
af97160a0c soc/ti: knav_qmss_queue: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-36-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:45 -05:00
Uwe Kleine-König
3af4ec7c7d soc/ti: knav_dma: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-35-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:45 -05:00
Uwe Kleine-König
f34b902c5b soc/ti: k3-ringacc: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> # qcom
Link: https://lore.kernel.org/r/20230925095532.1984344-34-u.kleine-koenig@pengutronix.de
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-10-02 09:11:45 -05:00
Uwe Kleine-König
20bd119183 soc/rockchip: io-domain: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.
To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new() which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230925095532.1984344-31-u.kleine-koenig@pengutronix.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2023-10-02 00:56:13 +02:00
Sudeep Holla
a46e42c097 soc: kunpeng_hccs: Migrate to use generic PCC shmem related macros
Use the newly defined common and generic PCC shared memory region
related macros in this driver to replace the locally defined ones.

Cc: Huisong Li <lihuisong@huawei.com>
Reviewed-by: Huisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20230927-pcc_defines-v2-4-0b8ffeaef2e5@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2023-09-29 11:55:37 +01:00
Uwe Kleine-König
f1a1bc8775 soc: qcom: llcc: Handle a second device without data corruption
Usually there is only one llcc device. But if there were a second, even
a failed probe call would modify the global drv_data pointer. So check
if drv_data is valid before overwriting it.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fixes: a3134fb09e ("drivers: soc: Add LLCC driver")
Link: https://lore.kernel.org/r/20230926083229.2073890-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-27 16:18:01 -07:00
Unnathi Chalicheemala
9b09c0f289 soc: qcom: Switch to EXPORT_SYMBOL_GPL()
Switch to GPL version of EXPORT_SYMBOL for Qualcomm SoC drivers.

Signed-off-by: Unnathi Chalicheemala <quic_uchalich@quicinc.com>
Reviewed-by: Trilok Soni <quic_tsoni@quicinc.com>
Link: https://lore.kernel.org/r/20230922184817.5183-1-quic_uchalich@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-27 16:08:38 -07:00
Kees Cook
433ce46a97 soc: qcom: smem: Annotate struct qcom_smem with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
(for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

As found with Coccinelle[1], add __counted_by for struct qcom_smem.

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Tom Rix <trix@redhat.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: llvm@lists.linux.dev
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/20230922175413.work.929-kees@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-27 16:08:31 -07:00
Bjorn Andersson
9265bc6bce soc: qcom: rmtfs: Support discarding guard pages
In some configurations, the exact placement of the rmtfs shared memory
region isn't so strict. The DeviceTree author can then choose to use the
"size" property and rely on the OS for placement (in combination with
"alloc-ranges", if desired).

But on some platforms the rmtfs memory region may not be allocated
adjacent to regions allocated by other clients. Add support for
discarding the first and last 4k block in the region, if
qcom,use-guard-pages is specified in DeviceTree.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20230920-rmtfs-mem-guard-pages-v3-2-305b37219b78@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-27 16:05:58 -07:00
Mingtong Bao
a776cc4971 soc: loongson: loongson2_guts: Remove unneeded semicolon
No functional modification involved.

./drivers/soc/loongson/loongson2_guts.c:73:2-3: Unneeded semicolon.

Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Mingtong Bao <baomingtong001@208suo.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-09-27 11:05:47 +02:00
Dongliang Mu
daacef89cd soc: loongson: loongson2_guts: Convert to devm_platform_ioremap_resource()
Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-09-27 11:05:47 +02:00
Binbin Zhou
a2fd542287 soc: loongson: loongson_pm2: Populate children syscon nodes
The syscon poweroff and reboot nodes logically belong to the Power
Management Unit so populate possible children.

Without it, the reboot/poweroff feature becomes unavailable.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-09-27 11:05:19 +02:00
Binbin Zhou
e26e788a2a soc: loongson: loongson_pm2: Drop useless of_device_id compatible
Now, "loongson,ls2k0500-pmc" is used as fallback compatible, so the
ls2k1000 compatible in the driver can be dropped directly.

Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-09-27 11:05:19 +02:00
Binbin Zhou
8e4a28f979 soc: loongson: loongson_pm2: Add dependency for INPUT
Since commit 67694c076b ("soc: loongson2_pm: add power management
support"), the Loongson-2K PM driver was added, but it didn't update the
Kconfig entry for the INPUT dependency, leading to build errors, so
update the Kconfig entry to depend on INPUT.

/opt/crosstool/gcc-13.2.0-nolibc/loongarch64-linux/bin/loongarch64-linux-ld:
drivers/soc/loongson/loongson2_pm.o: in function `loongson2_power_button_init':
/work/lnx/next/linux-next-20230825/LOONG64/../drivers/soc/loongson/loongson2_pm.c:101:(.text+0x350): undefined reference to `input_allocate_device'
/opt/crosstool/gcc-13.2.0-nolibc/loongarch64-linux/bin/loongarch64-linux-ld:
/work/lnx/next/linux-next-20230825/LOONG64/../drivers/soc/loongson/loongson2_pm.c:109:(.text+0x3dc): undefined reference to `input_set_capability'
/opt/crosstool/gcc-13.2.0-nolibc/loongarch64-linux/bin/loongarch64-linux-ld:
/work/lnx/next/linux-next-20230825/LOONG64/../drivers/soc/loongson/loongson2_pm.c:111:(.text+0x3e4): undefined reference to `input_register_device'
/opt/crosstool/gcc-13.2.0-nolibc/loongarch64-linux/bin/loongarch64-linux-ld:
/work/lnx/next/linux-next-20230825/LOONG64/../drivers/soc/loongson/loongson2_pm.c:125:(.text+0x3fc): undefined reference to `input_free_device'
/opt/crosstool/gcc-13.2.0-nolibc/loongarch64-linux/bin/loongarch64-linux-ld: drivers/soc/loongson/loongson2_pm.o: in function `input_report_key':
/work/lnx/next/linux-next-20230825/LOONG64/../include/linux/input.h:425:(.text+0x58c): undefined reference to `input_event'

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-09-27 11:05:19 +02:00
Uwe Kleine-König
22dedf8f45 soc/microchip: mpfs-sys-controller: Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However, the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.

To improve here, there is a quest to make the remove callback return
void. In the first step of this quest, all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-25 11:17:09 +01:00
Nathan Rossi
9d1e8275a2 soc: imx8m: Enable OCOTP clock for imx8mm before reading registers
Commit 836fb30949 ("soc: imx8m: Enable OCOTP clock before reading the
register") added configuration to enable the OCOTP clock before
attempting to read from the associated registers.

This same kexec issue is present with the imx8m SoCs that use the
imx8mm_soc_uid function (e.g. imx8mp). This requires the imx8mm_soc_uid
function to configure the OCOTP clock before accessing the associated
registers. This change implements the same clock enable functionality
that is present in the imx8mq_soc_revision function for the
imx8mm_soc_uid function.

Signed-off-by: Nathan Rossi <nathan.rossi@digi.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Fixes: 836fb30949 ("soc: imx8m: Enable OCOTP clock before reading the register")
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-09-24 20:50:27 +08:00
Ulf Hansson
c067e7ffb3 pmdomain: bcm: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc subsystem to the pmdomain subsystem.

Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: <linux-mips@vger.kernel.org>
Cc: <linux-rpi-kernel@lists.infradead.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-09-20 12:08:54 +02:00
Julia Lawall
cc3b17cabe soc: dove: add missing of_node_put
for_each_available_child_of_node performs an of_node_get
on each iteration, so a break out of the loop requires an
of_node_put.

This was done using the Coccinelle semantic patch
iterators/for_each_child.cocci

Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2023-09-20 11:28:02 +02:00
Ulf Hansson
1bfadf2edd pmdomain: apple: Move Kconfig option to the pmdomain subsystem
The Kconfig option belongs closer to the corresponding implementation,
hence let's move it from the soc subsystem to the pmdomain subsystem.

Cc: Hector Martin <marcan@marcan.st>
Cc: Sven Peter <sven@svenpeter.dev>
Cc: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Cc: <asahi@lists.linux.dev>
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-09-20 10:08:49 +02:00
Ulf Hansson
2dfb28355d pmdomain: amlogic: Move Kconfig options to the pmdomain subsystem
The Kconfig options belongs closer to the corresponding implementations,
hence let's move them from the soc subsystem to the pmdomain subsystem.

Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: <linux-amlogic@lists.infradead.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-09-20 10:08:45 +02:00
Ulf Hansson
4db570466c pmdomain: actions: Move Kconfig file to the pmdomain subsystem
The Kconfig belongs closer to the corresponding implementation, hence let's
move it from the soc subsystem to the pmdomain subsystem.

Cc: "Andreas Färber" <afaerber@suse.de>
Cc: Manivannan Sadhasivam <mani@kernel.org>
Cc: <linux-actions@lists.infradead.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-09-20 10:07:52 +02:00
Komal Bajaj
db1e579287 soc: qcom: llcc: Add QDU1000 and QRU1000 LLCC support
Add LLCC configuration data for QDU1000 and QRU1000 SoCs.

Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230830105654.28057-7-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-19 19:57:53 -07:00
Komal Bajaj
0bc76be64e soc: qcom: llcc: Updating the macro name
Update macro name for LLCC_DRE to LLCC_ECC as per the latest specification.

Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230830105654.28057-6-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-19 19:57:53 -07:00
Komal Bajaj
a78502a4b2 soc: qcom: Add LLCC support for multi channel DDR
Add LLCC support for multi channel DDR configuration
based on a feature register.

Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230830105654.28057-5-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-19 19:57:53 -07:00
Komal Bajaj
16fa93112f soc: qcom: llcc: Refactor llcc driver to support multiple configuration
Refactor driver to support multiple configuration for llcc on a target.

Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Fixes: ee13b50087 ("qcom: llcc/edac: Fix the base address used for  accessing LLCC banks")
Reviewed-by: Mukesh Ojha <quic_mojha@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230830105654.28057-3-quic_kbajaj@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-19 19:57:53 -07:00
Lu Hongfei
5692aeea5b soc: qcom: pmic: Fix resource leaks in a device_for_each_child_node() loop
The device_for_each_child_node loop should call fwnode_handle_put()
before return in the error cases, to avoid resource leaks.

Let's fix this bug in pmic_glink_altmode_probe().

Signed-off-by: Lu Hongfei <luhongfei@vivo.com>
Link: https://lore.kernel.org/r/20230612133452.47315-1-luhongfei@vivo.com
[bjorn: Rebased patch, moved fw_handle_put() from jump target into the loop]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-19 11:34:12 -07:00
Conor Dooley
abc91aaa19 soc: sifive: replace SOC_FOO with ARCH_FOO
As part of unifiying what RISC-V calls microarch symbols to use
ARCH_, replace users of the SOC_ forms.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2023-09-18 10:33:32 +01:00
Geert Uytterhoeven
61ad21ec51 soc: renesas: Kconfig: Remove blank line before ARCH_R9A07G043 help text
There should not be a blank line before the "help" keyword in the
ARCH_R9A07G043 configuration section.

Fixes: c6a906cce6 ("soc: renesas: Kconfig: For ARCH_R9A07G043 select the required configs if dependencies are met")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/2a3a9d595579b7cea416c12bf9abcfa2227243bb.1694768174.git.geert+renesas@glider.be
2023-09-18 10:39:14 +02:00
Claudiu Beznea
3655167afe soc: renesas: renesas-soc: Remove blank lines
Remove blank lines.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230912045157.177966-6-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-09-18 10:39:14 +02:00
Claudiu Beznea
0b9729cdb8 soc: renesas: Identify RZ/G3S SoC
Add support to identify the RZ/G3S (R9A08G045) SoC.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230912045157.177966-5-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2023-09-18 10:39:13 +02:00
Changhuang Liang
6238fda156 pmdomain: starfive: Replace SOC_STARFIVE with ARCH_STARFIVE
Using ARCH_FOO symbol is preferred than SOC_FOO.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Walker Chen <walker.chen@starfivetech.com>
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230913-legibly-treachery-567cffcb5604@spud
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2023-09-14 00:22:48 +02:00
Robert Marko
e9104e73d4 soc: qcom: socinfo: Add IDs for IPQ8174 family
IPQ8174 (Oak) family is part of the IPQ8074 family, but the ID-s for it
are missing so lets add them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Kathiravan T <quic_kathirav@quicinc.com>
Link: https://lore.kernel.org/r/20230901181041.1538999-2-robimarko@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-13 12:30:18 -07:00
Luca Weiss
59872d59d1 soc: qcom: socinfo: Add SoC ID for QCM6490
Add SoC ID table entries for Qualcomm QCM6490.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230830-fp5-initial-v1-8-5a954519bbad@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-13 12:23:32 -07:00
Konrad Dybcio
3b1eba1882 soc: qcom: socinfo: Add SM8550-adjacent PMICs
Many of the PMICs were missing, add some of them often coupled with
SM8550.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230830-topic-pm8550abcxyz-v1-1-3c3ef3d92d51@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-13 12:22:45 -07:00
Li Zetao
c2bfe2b7a9 soc: qcom: wcnss_ctrl: Remove redundant initialization owner in wcnss_ctrl_driver
The module_rpmsg_driver() will set "THIS_MODULE" to driver.owner when
register a rpmsg_driver driver, so it is redundant initialization to set
driver.owner in the statement. Remove it for clean code.

Signed-off-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/r/20230808021446.2975843-1-lizetao1@huawei.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-13 12:11:55 -07:00
Danila Tikhonov
776b29eb57 soc: qcom: socinfo: Add Soc ID for SM7150P
Add Soc ID table entries for Qualcomm SM7150P.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Link: https://lore.kernel.org/r/20230913181722.13917-3-danila@jiaxyga.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-09-13 11:46:48 -07:00
Lad Prabhakar
c6a906cce6
soc: renesas: Kconfig: For ARCH_R9A07G043 select the required configs if dependencies are met
To prevent randconfig build issues when enabling the RZ/Five SoC, consider
selecting specific configurations only when their dependencies are
satisfied.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308311610.ec6bm2G8-lkp@intel.com/
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Fixes: 484861e09f ("soc: renesas: Kconfig: Select the required configs for RZ/Five SoC")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230901110936.313171-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-09-08 11:25:29 -07:00
Palmer Dabbelt
c23be918c5
Merge patch series "Add non-coherent DMA support for AX45MP"
Prabhakar <prabhakar.csengg@gmail.com> says:

From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

non-coherent DMA support for AX45MP
====================================

On the Andes AX45MP core, cache coherency is a specification option so it
may not be supported. In this case DMA will fail. To get around with this
issue this patch series does the below:

1] Andes alternative ports is implemented as errata which checks if the
IOCP is missing and only then applies to CMO errata. One vendor specific
SBI EXT (ANDES_SBI_EXT_IOCP_SW_WORKAROUND) is implemented as part of
errata.

Below are the configs which Andes port provides (and are selected by
RZ/Five):
      - ERRATA_ANDES
      - ERRATA_ANDES_CMO

OpenSBI patch supporting ANDES_SBI_EXT_IOCP_SW_WORKAROUND SBI is now
part v1.3 release.

2] Andes AX45MP core has a Programmable Physical Memory Attributes (PMA)
block that allows dynamic adjustment of memory attributes in the runtime.
It contains a configurable amount of PMA entries implemented as CSR
registers to control the attributes of memory locations in interest.
OpenSBI configures the PMA regions as required and creates a reserve memory
node and propagates it to the higher boot stack.

Currently OpenSBI (upstream) configures the required PMA region and passes
this a shared DMA pool to Linux.

    reserved-memory {
        #address-cells = <2>;
        #size-cells = <2>;
        ranges;

        pma_resv0@58000000 {
            compatible = "shared-dma-pool";
            reg = <0x0 0x58000000 0x0 0x08000000>;
            no-map;
            linux,dma-default;
        };
    };

The above shared DMA pool gets appended to Linux DTB so the DMA memory
requests go through this region.

3] We provide callbacks to synchronize specific content between memory and
cache.

4] RZ/Five SoC selects the below configs
        - AX45MP_L2_CACHE
        - DMA_GLOBAL_POOL
        - ERRATA_ANDES
        - ERRATA_ANDES_CMO

----------x---------------------x--------------------x---------------x----

* b4-shazam-merge:
  soc: renesas: Kconfig: Select the required configs for RZ/Five SoC
  cache: Add L2 cache management for Andes AX45MP RISC-V core
  dt-bindings: cache: andestech,ax45mp-cache: Add DT binding documentation for L2 cache controller
  riscv: mm: dma-noncoherent: nonstandard cache operations support
  riscv: errata: Add Andes alternative ports
  riscv: asm: vendorid_list: Add Andes Technology to the vendors list

Link: https://lore.kernel.org/r/20230818135723.80612-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-09-08 11:24:34 -07:00
Lad Prabhakar
484861e09f
soc: renesas: Kconfig: Select the required configs for RZ/Five SoC
Explicitly select the required Cache management and Errata configs
required for the RZ/Five SoC.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Conor Dooley <conor.dooley@microchip.com> # tyre-kicking on a d1
Link: https://lore.kernel.org/r/20230818135723.80612-7-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-09-01 09:09:00 -07:00
Linus Torvalds
f8fd5c2483 This pull request is full of clk driver changes. In fact, there aren't any
changes to the clk framework this time around. That's probably because everyone
 was on vacation (yours truly included). We did lose a couple clk drivers this
 time around because nobody was using those devices. That skews the diffstat a
 bit, but either way, nothing looks out of the ordinary here. The usual suspects
 are chugging along adding support for more SoCs and fixing bugs.
 
 If I had to choose, I'd say the theme for the past few months has been
 "polish". There's quite a few patches that migrate to
 devm_platform_ioremap_resource() in here. And there's more than a handful of
 patches that move the NR_CLKS define from the DT binding header to the driver.
 There's even patches that migrate drivers to use clk_parent_data and clk_hw to
 describe clk tree topology. It seems that the spring (summer?) cleaning bug got
 some folks, or the semiconductor shortage finally hit the software side.
 
 New Drivers:
  - StarFive JH7110 SoC clock drivers
  - Qualcomm IPQ5018 Global Clock Controller driver
  - Versa3 clk generator to support 48KHz playback/record with audio codec on
    RZ/G2L SMARC EVK
 
 Removed Drivers:
  - Remove non-OF mmp clk drivers
  - Remove OXNAS clk driver
 
 Updates:
  - Add __counted_by to struct clk_hw_onecell_data and struct spmi_pmic_div_clk_cc
  - Move defines for numbers of clks (NR_CLKS) from DT headers to drivers
  - Introduce kstrdup_and_replace() and use it
  - Add PLL rates for Rockchip rk3568
  - Add the display clock tree for Rockchip rv1126
  - Add Audio Clock Generator (ADG) clocks on Renesas R-Car Gen3 and RZ/G2 SoCs
  - Convert sun9i-mmc clock to use devm_platform_get_and_ioremap_resource()
  - Fix function name in a comment in ccu_mmc_timing.c
  - Parameter name correction for ccu_nkm_round_rate()
  - Implement CLK_SET_RATE_PARENT for Allwinner NKM clocks, i.e. consider alternative
    parent rates when determining clock rates
  - Set CLK_SET_RATE_PARENT for Allwinner A64 pll-mipi
  - Support finding closest (as opposed to closest but not higher) clock rate
    for NM, NKM, mux and div type clocks, as use it for Allwinner A64 pll-video0
  - Prefer current parent rate if able to generate ideal clock rate for Allwinner NKM clocks
  - Clean up Qualcomm SMD RPM driver, with interconnect bus clocks moved out to
    the interconnect drivers
  - Fix various PM runtime bugs across many Qualcomm clk drivers
  - Migrate Qualcomm MDM9615 is to parent_hw and parent_data
  - Add network related resets on Qualcomm IPQ4019
  - Add a couple missing USB related clocks to Qualcomm IPQ9574
  - Add missing gpll0_sleep_clk_src to Qualcomm MSM8917 global clock controller
  - In the Qualcomm QDU1000 global clock controller, GDSCs, clkrefs, and GPLL1 are
    added, while PCIe pipe clock, SDCC rcg ops are corrected
  - Add missing GDSCs to and correct GDSCs for the SC8280XP global clock controller driver
  - Support retention for the Qualcomm SC8280XP display clock controller GDSCs.
  - Qualcommm's SDCC apps_clk_src is marked with CLK_OPS_PARENT_ENABLE to fix
    issues with missing parent clocks across sc7180, sm7150, sm6350 and sm8250,
    while sm8450 is corrected to use floor ops
  - Correct Qualcomm SM6350 GPU clock controller's clock supplies
  - Drop unwanted clocks from the Qualcomm IPQ5332 GCC driver
  - Add missing OXILICX GDSC to Qualcomm MSM8226 GCC
  - Change the delay in the Qualcomm reset controller to fsleep() for correctness
  - Extend the Qualcomm SM83550 Video clock controller to support SC8280XP
  - Add graphics clock support on Renesas RZ/G2M, RZ/G2N, RZ/G2E, and R-Car H3,
    M3-W, and M3-N SoCs
  - Add Clocked Serial Interface (CSI) clocks on Renesas RZ/V2M
  - Add PWM (MTU3) clock and reset on Renesas RZ/G2UL and RZ/Five
  - Add the PDM IPC clock for i.MX93
  - Add 519.75MHz frequency support for i.MX9 PLL
  - Simplify the .determine_rate() implementation for i.MX GPR mux
  - Make the i.MX8QXP LPCG clock use devm_platform_ioremap_resource()
  - Add the audio mux clock to i.MX8
  - Fix the SPLL2 MULT range for PLLv4
  - Update the SPLL2 type in i.MX8ULP
  - Fix the SAI4 clock on i.MX8MP
  - Add silicon revision print for i.MX25 on clocks init
  - Drop the return value from __mx25_clocks_init()
  - Fix the clock pauses on no-op set_rate for i.MX8M composite clock
  - Drop restrictions for i.MX PLL14xx and fix its max prediv value
  - Drop the 393216000 and 361267200 from i.MX PLL14xx rate table to allow
    glitch free switching
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmTv2wkRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSW1LRAAuHR2HoyB4bRHmCa1bfOfYYDfSWsBWEav
 tWIfBl86Nl/Je50Gk2NJ9vqU5OPqRZ57TIniijHHoX5n7/kYcr8KVmlomY07hUeg
 CzWyothkxg4k7+rQwVAWvmlR2YAVwzHDKcwq7gkMZOnW/y26LXip99cjopu2CJLx
 zVwTgvWollmd4KVlicnAlx4zUjgNkWR24iA4Lcf5ir+Dr6FYNjxLI+akBA8EPxxi
 wLixZbScgBSgpGn6KVgoFhclCToPS0gt5m6HfQxJ/svOCU54l+jRKpzkNZGWvyu4
 A8t3CRrwL2iS/mfCGk2yRlaKySoLLpjlpW1AI7fHTWbG2P6p8ZphtN7jOeeAEsbq
 TNpzWEjtY6B/lfRzxxINXkrtLaqmlnFY/P5np5fDrf/61gRFxLFQemyRdY/xCSJf
 Kwq8ja1mrSGWoDGG9XhDqTf9Yek9LRObNzlDrEmn/i/qLTcxhOIz58pzHg4iAlx5
 9HDtnJ8hKg4uE1TtT12Bmasb1+WzG7GYYESNfKWZhCvbRqEUzcDOHk7xpwYa1ffx
 yZIgMs7Sb/exNW8LMPYmgnyj/f9eo5IdjiQvune+Zy5NrdzfyN6Sf/LSibrqCF2z
 X5aFHqQrR8+PifD+se+g5HPa0ezSmBIhXzYUTOC6f+nywlrJjhwDXPDYI6Lcd//p
 r4mpOmJS+G4=
 =h2Jz
 -----END PGP SIGNATURE-----

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk subsystem updates from Stephen Boyd:
 "This pull request is full of clk driver changes. In fact, there aren't
  any changes to the clk framework this time around. That's probably
  because everyone was on vacation (yours truly included). We did lose a
  couple clk drivers this time around because nobody was using those
  devices. That skews the diffstat a bit, but either way, nothing looks
  out of the ordinary here. The usual suspects are chugging along adding
  support for more SoCs and fixing bugs.

  If I had to choose, I'd say the theme for the past few months has been
  "polish". There's quite a few patches that migrate to
  devm_platform_ioremap_resource() in here. And there's more than a
  handful of patches that move the NR_CLKS define from the DT binding
  header to the driver. There's even patches that migrate drivers to use
  clk_parent_data and clk_hw to describe clk tree topology. It seems
  that the spring (summer?) cleaning bug got some folks, or the
  semiconductor shortage finally hit the software side.

  New Drivers:
   - StarFive JH7110 SoC clock drivers
   - Qualcomm IPQ5018 Global Clock Controller driver
   - Versa3 clk generator to support 48KHz playback/record with audio
     codec on RZ/G2L SMARC EVK

  Removed Drivers:
   - Remove non-OF mmp clk drivers
   - Remove OXNAS clk driver

  Updates:
   - Add __counted_by to struct clk_hw_onecell_data and struct
     spmi_pmic_div_clk_cc
   - Move defines for numbers of clks (NR_CLKS) from DT headers to
     drivers
   - Introduce kstrdup_and_replace() and use it
   - Add PLL rates for Rockchip rk3568
   - Add the display clock tree for Rockchip rv1126
   - Add Audio Clock Generator (ADG) clocks on Renesas R-Car Gen3 and
     RZ/G2 SoCs
   - Convert sun9i-mmc clock to use
     devm_platform_get_and_ioremap_resource()
   - Fix function name in a comment in ccu_mmc_timing.c
   - Parameter name correction for ccu_nkm_round_rate()
   - Implement CLK_SET_RATE_PARENT for Allwinner NKM clocks, i.e.
     consider alternative parent rates when determining clock rates
   - Set CLK_SET_RATE_PARENT for Allwinner A64 pll-mipi
   - Support finding closest (as opposed to closest but not higher)
     clock rate for NM, NKM, mux and div type clocks, as use it for
     Allwinner A64 pll-video0
   - Prefer current parent rate if able to generate ideal clock rate for
     Allwinner NKM clocks
   - Clean up Qualcomm SMD RPM driver, with interconnect bus clocks
     moved out to the interconnect drivers
   - Fix various PM runtime bugs across many Qualcomm clk drivers
   - Migrate Qualcomm MDM9615 is to parent_hw and parent_data
   - Add network related resets on Qualcomm IPQ4019
   - Add a couple missing USB related clocks to Qualcomm IPQ9574
   - Add missing gpll0_sleep_clk_src to Qualcomm MSM8917 global clock
     controller
   - In the Qualcomm QDU1000 global clock controller, GDSCs, clkrefs,
     and GPLL1 are added, while PCIe pipe clock, SDCC rcg ops are
     corrected
   - Add missing GDSCs to and correct GDSCs for the SC8280XP global
     clock controller driver
   - Support retention for the Qualcomm SC8280XP display clock
     controller GDSCs.
   - Qualcommm's SDCC apps_clk_src is marked with CLK_OPS_PARENT_ENABLE
     to fix issues with missing parent clocks across sc7180, sm7150,
     sm6350 and sm8250, while sm8450 is corrected to use floor ops
   - Correct Qualcomm SM6350 GPU clock controller's clock supplies
   - Drop unwanted clocks from the Qualcomm IPQ5332 GCC driver
   - Add missing OXILICX GDSC to Qualcomm MSM8226 GCC
   - Change the delay in the Qualcomm reset controller to fsleep() for
     correctness
   - Extend the Qualcomm SM83550 Video clock controller to support
     SC8280XP
   - Add graphics clock support on Renesas RZ/G2M, RZ/G2N, RZ/G2E, and
     R-Car H3, M3-W, and M3-N SoCs
   - Add Clocked Serial Interface (CSI) clocks on Renesas RZ/V2M
   - Add PWM (MTU3) clock and reset on Renesas RZ/G2UL and RZ/Five
   - Add the PDM IPC clock for i.MX93
   - Add 519.75MHz frequency support for i.MX9 PLL
   - Simplify the .determine_rate() implementation for i.MX GPR mux
   - Make the i.MX8QXP LPCG clock use devm_platform_ioremap_resource()
   - Add the audio mux clock to i.MX8
   - Fix the SPLL2 MULT range for PLLv4
   - Update the SPLL2 type in i.MX8ULP
   - Fix the SAI4 clock on i.MX8MP
   - Add silicon revision print for i.MX25 on clocks init
   - Drop the return value from __mx25_clocks_init()
   - Fix the clock pauses on no-op set_rate for i.MX8M composite clock
   - Drop restrictions for i.MX PLL14xx and fix its max prediv value
   - Drop the 393216000 and 361267200 from i.MX PLL14xx rate table to
     allow glitch free switching"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (207 commits)
  clk: qcom: Fix SM_GPUCC_8450 dependencies
  clk: lmk04832: Support using PLL1_LD as SPI readback pin
  clk: lmk04832: Don't disable vco clock on probe fail
  clk: lmk04832: Set missing parent_names for output clocks
  clk: mvebu: Convert to devm_platform_ioremap_resource()
  clk: nuvoton: Convert to devm_platform_ioremap_resource()
  clk: socfpga: agilex: Convert to devm_platform_ioremap_resource()
  clk: ti: Use devm_platform_get_and_ioremap_resource()
  clk: mediatek: Convert to devm_platform_ioremap_resource()
  clk: hsdk-pll: Convert to devm_platform_ioremap_resource()
  clk: gemini: Convert to devm_platform_ioremap_resource()
  clk: fsl-sai: Convert to devm_platform_ioremap_resource()
  clk: bm1880: Convert to devm_platform_ioremap_resource()
  clk: axm5516: Convert to devm_platform_ioremap_resource()
  clk: actions: Convert to devm_platform_ioremap_resource()
  clk: cdce925: Remove redundant of_match_ptr()
  clk: pxa910: Move number of clocks to driver source
  clk: pxa1928: Move number of clocks to driver source
  clk: pxa168: Move number of clocks to driver source
  clk: mmp2: Move number of clocks to driver source
  ...
2023-08-30 19:53:39 -07:00
Linus Torvalds
a1c19328a1 ARM: SoC cleanups for 6.6
These are all minor cleanups for platform specific code in arch/arm/
 and some of the associated drivers. The majority of these are work
 done by Rob Herring to improve the way devicetreee header files
 are handled.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTuaDEACgkQYKtH/8kJ
 UicmKQ/6A506T45KbbCLsqMuJsGdjMdOKdBecssLWhFNhRoJhJB6YilQVjBUAK4D
 vDqc425IcxXwaW+4OVBFCgVpKKMlrLSpHVJHl6QaGsxAZt5xdhwcA4ttQcFvoQtK
 csuwOadO9g1K4Px29J8GFR/FvFNt8kHRxbRC3xcGfFsFvgXISAiLUv8w6Z5O8Z5W
 /sp+EsOkJWTTKu+vtcMXccGqM9eGNOfPK1bCUElJ1+HW3jZrbRw0zZrQ2QS72N2P
 wpO2f6JUTpiiMH8XhQd3REi3Kli+g0GxVlCStZc/0qf/uW70YanF4CPDdSOVJ5OL
 l05Qfx+/XsGyqt3el03UoIXfM1YzvWn5BeqNG/QGHkai7Lp/c8LvSk1NiwaS0dzi
 QcPCEK67wjoaBCdSAMKGYM/qlmffuLh9/NJM5dzdBE8zQ5rC1XorR2aHGyISQJt6
 tDlDXy14zyR3KRxOoqP6cWp+PFDcBksd44cxGbp/Lcc389UKxX8j4fM8yUNT+4Rh
 gZ5OtUMs5QhFJBhBbBxW6O3TMuhwjSdW7IEQafKiiHEOFucf6Zcxd9u9B2yzsdtU
 za6mpA/NEBIc3olv6IFIdT24+M3PLhqCbu6YL5YI4jBf0QNpXjRBr+EOtvt2mvC9
 JkoggyCf5LdDt833G/TBPpx0VYi8h0m7cQnMw4JjOIA8FvCwIdc=
 =c9NM
 -----END PGP SIGNATURE-----

Merge tag 'soc-arm-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC cleanups from Arnd Bergmann:
 "These are all minor cleanups for platform specific code in arch/arm/
  and some of the associated drivers. The majority of these are work
  done by Rob Herring to improve the way devicetreee header files are
  handled"

* tag 'soc-arm-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (49 commits)
  ARM: davinci: Drop unused includes
  ARM: s5pv210: Explicitly include correct DT includes
  ARM: dove: Drop unused includes
  ARM: mvebu: Explicitly include correct DT includes
  Documentation/process: maintainer-soc: document dtbs_check requirement for Samsung
  MAINTAINER: samsung: document dtbs_check requirement for Samsung
  Documentation/process: maintainer-soc: add clean platforms profile
  MAINTAINERS: soc: reference maintainer profile
  ARM: nspire: Remove unused header file mmio.h
  ARM: nspire: Use syscon-reboot to handle restart
  soc: fsl: Explicitly include correct DT includes
  soc: xilinx: Explicitly include correct DT includes
  soc: sunxi: Explicitly include correct DT includes
  soc: rockchip: Explicitly include correct DT includes
  soc: mediatek: Explicitly include correct DT includes
  soc: aspeed: Explicitly include correct DT includes
  firmware: Explicitly include correct DT includes
  bus: Explicitly include correct DT includes
  ARM: spear: Explicitly include correct DT includes
  ARM: mvebu: Explicitly include correct DT includes
  ...
2023-08-30 16:49:40 -07:00
Linus Torvalds
1544df9ab4 ARM: SoC drivers for 6.6
The main change this time is the introduction of the drivers/genpd
 subsystem that gets split out from drivers/soc to keep common
 functionality together. Ulf Hansson is taking over maintainership for
 these and is sending a separate pull request with the same commits,
 but they are in the soc drivers tree to avoid conflicts against other
 soc driver patches.
 
 The SCMI driver subsystem gets an update to version 3.2 of the
 specification. There are also updates to memory, reset and other firmware
 drivers.
 
 On the soc driver side, the updates are mostly cleanups across a number
 of Arm platforms. On driver for loongarch adds power management for DT
 based systems, another driver is for HiSilicon's Arm server chips with
 their HCCS system health interface.
 
 The remaining updates for the most part add support for additional
 hardware in existing drivers or contain minor cleanups. Most of these
 are for the Qualcomm Snapdragon platform.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTuWdMACgkQYKtH/8kJ
 UicprBAAsvZ5h636MOwYasgK1bKnsWgj9yrBSzIf7VzKbBS5/QCrDSDek9oDvTBp
 p6Rr+WC1RQl9i2DiRVSbEqkUS6X4hQF0kJdLudBwYuxBDf8ayzFzKAKk/ecsyoaC
 0Rkeh4fCu1zVnQ2DZSPFJVRl01/oCr1ZtJ1W0UrXCslOSQy2987VqpJ/EQbaDLgb
 3imxpvJNBscaKwcYRgxhcIMBLdGi3qXRE/TmAf1WMe8w6dfk5KmFiPPD7zxPTnFb
 0fssdxgocjOkXEn6L1VdBMoTt4UQaU+xbnFsOsDA/F0EjR9ZLlhtwZxANv4GicP6
 52FMFaxeXSUnpBelzuyRQpgnt9WW3ZbBGb9iaisTl1pwjC3PcN2noo8uFZk+kO6b
 8q0fh4KVmD0QIupC4cfTsF4SGAQvnhko2ls9bt4FTF+z0COV3Ifs2cAggH+hn3yD
 IziBrUUZrR4G8XhisJRQNZcRh1H/vVchcumqsxzCMhpXLWwdZ5vW85GCR/fAtQQT
 woYgqFHXZjEko66bu2dtayr1dgmPvfbO6rXpUkIdeskY6XuKfZXuB93LkhsZ17LY
 dfAaBLUebjMcpLrltCqyP1tUoqGyVOTJKxtB2MolHo/V/2JbKYmYHAMy+qX5I0Qm
 UUbQDpHnkaQMTK2L/qvdfE4lgwWfFWX7lCK/AGa4ZBFl+Zl6DgE=
 =xmHW
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC driver updates from Arnd Bergmann:
 "The main change this time was the introduction of the drivers/genpd
  subsystem that gets split out from drivers/soc to keep common
  functionality together.

  The SCMI driver subsystem gets an update to version 3.2 of the
  specification. There are also updates to memory, reset and other
  firmware drivers.

  On the soc driver side, the updates are mostly cleanups across a
  number of Arm platforms. On driver for loongarch adds power management
  for DT based systems, another driver is for HiSilicon's Arm server
  chips with their HCCS system health interface.

  The remaining updates for the most part add support for additional
  hardware in existing drivers or contain minor cleanups. Most of these
  are for the Qualcomm Snapdragon platform"

* tag 'soc-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (136 commits)
  bus: fsl-mc: Use common ranges functions
  soc: kunpeng_hccs: fix some sparse warnings about incorrect type
  soc: loongson2_pm: add power management support
  soc: dt-bindings: add loongson-2 pm
  soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
  genpd: rockchip: Add PD_VO entry for rv1126
  bus: ti-sysc: Fix cast to enum warning
  soc: kunpeng_hccs: add MAILBOX dependency
  MAINTAINERS: remove OXNAS entry
  dt-bindings: interrupt-controller: arm,versatile-fpga-irq: mark oxnas compatible as deprecated
  irqchip: irq-versatile-fpga: remove obsolete oxnas compatible
  soc: qcom: aoss: Tidy up qmp_send() callers
  soc: qcom: aoss: Format string in qmp_send()
  soc: qcom: aoss: Move length requirements from caller
  soc: kunpeng_hccs: fix size_t format string
  soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
  dt-bindings: firmware: qcom: scm: Updating VMID list
  firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
  firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
  firmware: imx: scu-irq: add imx_scu_irq_get_status
  ...
2023-08-30 16:42:21 -07:00
Linus Torvalds
c66403f627 This pull-request adds a new subsystem for genpd providers in drivers/genpd
and starts moving some of the corresponding code in there.
 
 We have currently ~60 users of the genpd provider interface, which are
 sprinkled across various subsystems. To release some burden from the soc
 maintainers (Arnd Bergmann, etc) in particular, but also to gain a better
 overall view of what goes on in the area, I will help out with maintenance.
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmTuFOkXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCnm1xAA0V9obhgkkODkRcXYF57e7Pmr
 hBudXI36s5kEIsp9DefveGpsz++z1QlXmllpStr2fyoOZlKafx2wUFF+wkyrAPRM
 jYm4ZYLB4uP6ji0nfGlZU9wRd7wrxGjybJgrEOxcTBVBQIwItpffnbS2w1B53nzc
 /trEyazS70ad0nOA8kWD68S2+30b3o2UjKJBgtj8Sljg5mEjupMoeUNzzDhZJzu0
 R+kcUQMl2Bkagp7PFyPrRvEIsn+NDPQbjHfdK9JnR9ibL+Ms7UPtuPz6IoXohep+
 d5dMNoNuvqentK4BMXNCj9FMeCBxXS1ad+IArI+Rcx8vUCKpjIOazHrNUDMAwjR8
 k6JhPVyie8SRRcwSxqVbQWzEiyvEu+2y3m0D69zCYZta51v5hlvCDRLcX3FJ1hBZ
 d0DzwMeUXlaYNp6dIW+Z9qcI+RUX4rXxjCv2a/xnxKbjtVNBnZc1HxwfAOJZv7Vc
 xwhXIrTSahUnAArUg4x3WUui79Rj47xyrsRVXfUiXKpehX0iwplCD3OaK8LcPq+d
 VtR6jgvEiHXvn425k2GuhCgsLBYCT+RunA4oZ7ejzl9FgIS5I7UySWopDa1EKdiR
 gmVTfnhhd76lCOvYFjqWKInF04SwJJ4Fert8WCSg6SjiLtPHZaiUdCbmFORF/obv
 Jr6oXMxjQRmsD6DMp+Y=
 =Vp8b
 -----END PGP SIGNATURE-----

Merge tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull ARM SoC generic power domain driver updates from Ulf Hansson:
 "This adds a new subsystem for generic power domain providers in
  drivers/genpd and starts moving some of the corresponding code in
  there.

  We have currently ~60 users of the genpd provider interface, which are
  sprinkled across various subsystems. To release some burden from the
  soc maintainers (Arnd Bergmann, etc) in particular, but also to gain a
  better overall view of what goes on in the area, I will help out with
  maintenance"

[ I find the "genpd" name singularly uninformative, so we'll probably
  end up moving this driver subsystem somewhere else, but that's still
  being discussed  - Linus ]

* tag 'genpd-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (30 commits)
  genpd: ti: Use for_each_node_with_property() simplify code logic
  genpd: Explicitly include correct DT includes
  genpd: imx: scu-pd: initialize is_off according to HW state
  genpd: imx: scu-pd: Suppress bind attrs
  genpd: imx: scu-pd: do not power off console if no_console_suspend
  genpd: imx: scu-pd: add more PDs
  genpd: imx: scu-pd: enlarge PD range
  genpd: imx: relocate scu-pd under genpd
  MAINTAINERS: adjust file entry in STARFIVE JH71XX PMU CONTROLLER DRIVER
  genpd: Makefile: build imx
  genpd: move owl-sps-helper.c from drivers/soc
  soc: starfive: remove stale Makefile entry
  ARM: ux500: Move power-domain driver to the genpd dir
  ARM: ux500: Convert power-domain code into a regular platform driver
  soc: xilinx: Move power-domain driver to the genpd dir
  soc: ti: Mover power-domain drivers to the genpd dir
  soc: tegra: Move powergate-bpmp driver to the genpd dir
  soc: sunxi: Move power-domain driver to the genpd dir
  soc: starfive: Move the power-domain driver to the genpd dir
  soc: samsung: Move power-domain driver to the genpd dir
  ...
2023-08-30 16:37:00 -07:00
Linus Torvalds
727dbda16b hardening updates for v6.6-rc1
- Carve out the new CONFIG_LIST_HARDENED as a more focused subset of
   CONFIG_DEBUG_LIST (Marco Elver).
 
 - Fix kallsyms lookup failure under Clang LTO (Yonghong Song).
 
 - Clarify documentation for CONFIG_UBSAN_TRAP (Jann Horn).
 
 - Flexible array member conversion not carried in other tree (Gustavo
   A. R. Silva).
 
 - Various strlcpy() and strncpy() removals not carried in other trees
   (Azeem Shaikh, Justin Stitt).
 
 - Convert nsproxy.count to refcount_t (Elena Reshetova).
 
 - Add handful of __counted_by annotations not carried in other trees,
   as well as an LKDTM test.
 
 - Fix build failure with gcc-plugins on GCC 14+.
 
 - Fix selftests to respect SKIP for signal-delivery tests.
 
 - Fix CFI warning for paravirt callback prototype.
 
 - Clarify documentation for seq_show_option_n() usage.
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEpcP2jyKd1g9yPm4TiXL039xtwCYFAmTs6ZAWHGtlZXNjb29r
 QGNocm9taXVtLm9yZwAKCRCJcvTf3G3AJkpjD/9AeST5Imc2t0t71Qd+wPxW3jT3
 kDZPlHH8wHmuxSpRscX82m21SozvEMvybo6Cp7FSH4qr863FnBWMlo8acr7rKxUf
 0f7Y9qgY/hKADiVx5p0pbnCgcy+l4pwsxIqVCGuhjvNCbWHrdGqLM4UjIfaVz5Ws
 +55a/C3S1KVwB1s1+6to43jtKqQAx6yrqYWOaT3wEfCzHC87f9PUHhIGnFQVwPGP
 WpjQI/BQKpH7+MDCoJOPrZqXaE/4lWALxR6+5BBheGbvLoWifpJEYHX6bDUzkgBz
 liQDkgr4eAw5EXSOS7mX3EApfeMKakznJt9Mcmn0h3pPRlM3ZSVD64Xrou2Brpje
 exS2JRuh6HwIiXY9nTHc6YMGcAWG1syAR/hM2fQdujM0CWtBUk9+kkuYWsqF6nIK
 3tOxYLB/Ph4p+tShd+v5R3mEmp/6snYRKJoUk+9Fk67i54NnK4huyxaCO4zui+ML
 3vHuGp8KgFHUjJaYmYXHs3TRZnKSFUkPGc4MbpiGtmJ9zhfSwlhhF+yfBJCsvmTf
 ZajA+sPupT4OjLxU6vUD/ZNkXAEjWzktyX2v9YBA7FHh7SqPtX9ARRIxh417AjEJ
 tBPHhW/iRw9ftBIAKDmI7gPLynngd/zvjhvk6O5egHYjjgRM1/WAJZ4V26XR6+hf
 TWfQb7VRzdZIqwOEUA==
 =9ZWP
 -----END PGP SIGNATURE-----

Merge tag 'hardening-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull hardening updates from Kees Cook:
 "As has become normal, changes are scattered around the tree (either
  explicitly maintainer Acked or for trivial stuff that went ignored):

   - Carve out the new CONFIG_LIST_HARDENED as a more focused subset of
     CONFIG_DEBUG_LIST (Marco Elver)

   - Fix kallsyms lookup failure under Clang LTO (Yonghong Song)

   - Clarify documentation for CONFIG_UBSAN_TRAP (Jann Horn)

   - Flexible array member conversion not carried in other tree (Gustavo
     A. R. Silva)

   - Various strlcpy() and strncpy() removals not carried in other trees
     (Azeem Shaikh, Justin Stitt)

   - Convert nsproxy.count to refcount_t (Elena Reshetova)

   - Add handful of __counted_by annotations not carried in other trees,
     as well as an LKDTM test

   - Fix build failure with gcc-plugins on GCC 14+

   - Fix selftests to respect SKIP for signal-delivery tests

   - Fix CFI warning for paravirt callback prototype

   - Clarify documentation for seq_show_option_n() usage"

* tag 'hardening-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (23 commits)
  LoadPin: Annotate struct dm_verity_loadpin_trusted_root_digest with __counted_by
  kallsyms: Change func signature for cleanup_symbol_name()
  kallsyms: Fix kallsyms_selftest failure
  nsproxy: Convert nsproxy.count to refcount_t
  integrity: Annotate struct ima_rule_opt_list with __counted_by
  lkdtm: Add FAM_BOUNDS test for __counted_by
  Compiler Attributes: counted_by: Adjust name and identifier expansion
  um: refactor deprecated strncpy to memcpy
  um: vector: refactor deprecated strncpy
  alpha: Replace one-element array with flexible-array member
  hardening: Move BUG_ON_DATA_CORRUPTION to hardening options
  list: Introduce CONFIG_LIST_HARDENED
  list_debug: Introduce inline wrappers for debug checks
  compiler_types: Introduce the Clang __preserve_most function attribute
  gcc-plugins: Rename last_stmt() for GCC 14+
  selftests/harness: Actually report SKIP for signal tests
  x86/paravirt: Fix tlb_remove_table function callback prototype warning
  EISA: Replace all non-returning strlcpy with strscpy
  perf: Replace strlcpy with strscpy
  um: Remove strlcpy declaration
  ...
2023-08-28 12:59:45 -07:00
Arnd Bergmann
9eb33ddedd Qualcomm driver updates for v6.6
Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
 together with a couple stylistic cleanups and transition to mark
 exported symbols GPL only.
 
 An abstraction for the RPM subsystem is introduced, to make align the
 structure of the SMD and GLINK nodes thereof with the structure when a
 remoteproc is involved. This is done to facilitate associating
 additional entities with the RPM subsystem.
 
 The qmp_send() API is modified to not expose hardware requirements onto
 the client drivers, and then further extended to allow command
 formatting directly in the API, to facilitate this typical use case.
 
 In the Qualcomm Command DB driver, NUL characters previously included in
 identifiers are dropped from the debugfs, to facilitate scripting.
 
 The thresholds of the BWMON driver are simplified to avoid hard coded
 starting values.
 
 The OCMEM driver is updated with some cleanups and fixes, and addition
 of MSM8226 support.
 
 PMIC_GLINK gains support for retimer switches, safe mode is selected
 when the cable is disconnected from altmode and the same is enabled for
 SM8550.
 
 An off-by-one string length check is corrected in the QMI encoder
 decoder library.
 
 The RPMh tracepoints are extended to include the state of the request,
 to provide needed context in the traced events.
 
 The series from Ulf creating a genpd framework is integrated, to
 facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
 SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
 extended with the same sync_state logic found in the rpmhpd driver.
 
 The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
 platform is dropped.
 
 Clock handling in the GSBI driver is cleaned up with the use of
 devm_clk_get_enabled().
 
 The list of VMIDs defined for the SCM assign memory interface is
 extended.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmTe2FIVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FPaYP/0j7dGziE/KQaTccT/arpgiU6wH/
 fzu7j76r/JY90Jw61vxWsTfuR94Irr8/NzzvLXMO1cKfzJXxsPKqYuuWBe/hFu3u
 Bva/4XtHspitKQCvBYOhX2dxj3BtYzsrVNmh3sOeEKhXcUaVuCQXkpeE3fqNBwYB
 li70t/dHVPPr2mDY30QhD9nn8XgWG8DlSzyuvIp+zI8kpNX04Cdqg2BEidB8GO4f
 ZgcAtnCIssIojBhRwVO7ei8RnGu6i2+69Vwtrx8nNT85Wcyx7NLxjZfp7+5PrZnv
 Xyu/JO4yYZooEVMAOtXJcxbZRs3FmGovg5RnR5w1CIz87Kmw5Wq0g9wZHMuLxC/G
 u4SzwjCqwEhAVWSzsVmicLOs4y2Ndwju3ojX3kLPh02yw5xo6BpxXdZIptTvVIQn
 DicTCaHU3QxxqkH7elLxNxyRYvmJbDbwKJ/hZjSRWSsJUhI4fvWoyrL6wNZ9+rTW
 1zCkfEH3XikjMGHweeZc+VYu03XyohIYYn+jxpdwOjajF+3BsQSiqN1tKwj71ci/
 Nk6sn+TRsq/jY6x33ULfbQCjeQ3BOGEngHTQ8N1i5D1vM2BUY/jrH6Dt1tIUdRjh
 avR2KvZzzPs7Cp/094aQDX42GcQKeVOit6pF+NhE0c2uVqQCB5c6ynZwcvt0YNS9
 Ty0mqIn99wgbHxVw
 =SEyF
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkC1sACgkQYKtH/8kJ
 UifjiBAAnIlToZQERPaKlX1zQTYVfrMiyNQ8fyUGLnAj0bNFWFzYgS6p5NXerxdT
 /sk2tipNqJyym3h797r2aAjAXpyTnKYIwZqGjvWGBbhaViv6ovuDYkJUBk0ffybB
 a0Ve4M1JnVZATiwqeoZwi6/1/M2JC3+20O+LRL4lWzZAm61NsU4ULAcX4sHeUYYA
 02wMfzkME0Ye7sthv9GBtbm8Szr+GEuDvUTXx0DI74QrZuj6+wl3rjZ2uRrT97ZX
 DuPtmhl2ZVjCigCsfxdj2J8eq8dpkROAzAeGa9d/NctkCV+dHhSEWZ0LraauLCJk
 iXA2ZXOACHWF4tn8TC/eDx0Pv6CS+gRVjyYYLNkWreDSPfk7Vqaua3iNc7AfhIJV
 hfJV1QhDmRt+pXi8pJQSSbTtjfzaURzD78N7JLMRZdZPozRwD/kl1+m/r5OMT4C+
 NI4cLB544Zb34WEUgjZYNUjk18vkZmEQnvWwAGIzOQgHq5m/m6o2QQOnTgiTwaXh
 Neh8k+KKt85IwkjFarwmKsLhajHezHIEqgHrGdfiIFr9+hAMPBIgUP3/eo6PFDNk
 XP+IVMeucEtn7Og6d6rQmJ0kPvL32ucdXWdqOwLijoDablFwX1Giif77LjN5LRYj
 IxReK7C8CwZKqLf2k0pv8dLE4g8On6OThveedXbLNuMx+EgcB2w=
 =RpyB
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.6

Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
together with a couple stylistic cleanups and transition to mark
exported symbols GPL only.

An abstraction for the RPM subsystem is introduced, to make align the
structure of the SMD and GLINK nodes thereof with the structure when a
remoteproc is involved. This is done to facilitate associating
additional entities with the RPM subsystem.

The qmp_send() API is modified to not expose hardware requirements onto
the client drivers, and then further extended to allow command
formatting directly in the API, to facilitate this typical use case.

In the Qualcomm Command DB driver, NUL characters previously included in
identifiers are dropped from the debugfs, to facilitate scripting.

The thresholds of the BWMON driver are simplified to avoid hard coded
starting values.

The OCMEM driver is updated with some cleanups and fixes, and addition
of MSM8226 support.

PMIC_GLINK gains support for retimer switches, safe mode is selected
when the cable is disconnected from altmode and the same is enabled for
SM8550.

An off-by-one string length check is corrected in the QMI encoder
decoder library.

The RPMh tracepoints are extended to include the state of the request,
to provide needed context in the traced events.

The series from Ulf creating a genpd framework is integrated, to
facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
extended with the same sync_state logic found in the rpmhpd driver.

The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
platform is dropped.

Clock handling in the GSBI driver is cleaned up with the use of
devm_clk_get_enabled().

The list of VMIDs defined for the SCM assign memory interface is
extended.

* tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (52 commits)
  soc: qcom: aoss: Tidy up qmp_send() callers
  soc: qcom: aoss: Format string in qmp_send()
  soc: qcom: aoss: Move length requirements from caller
  dt-bindings: firmware: qcom: scm: Updating VMID list
  dt-bindings: qcom: Update RPMHPD entries for some SoCs
  soc: qcom: qmi_encdec: Restrict string length in decode
  soc: qcom: smem: Fix incompatible types in comparison
  soc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()
  soc: qcom: socinfo: Add SoC ID for SM7125
  dt-bindings: arm: qcom,ids: Add SoC ID for SM7125
  dt-bindings: arm: qcom,ids: drop the IPQ5019 SoC ID
  soc: qcom: socinfo: drop the IPQ5019 SoC ID
  soc: qcom: socinfo: add SM4450 ID
  dt-bindings: arm: qcom,ids: add SoC ID for SM4450
  soc: qcom: pmic_glink: enable altmode for SM8550
  soc: qcom: pmic_glink_altmode: add retimer-switch support
  soc: qcom: pmic_glink_altmode: handle safe mode when disconnect
  soc: qcom: rpmhpd: Add SDX75 power domains
  dt-bindings: power: qcom,rpmpd: Add compatible for sdx75
  genpd: Makefile: build imx
  ...

Link: https://lore.kernel.org/r/20230818023338.2484467-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-21 21:11:55 -04:00
Arnd Bergmann
d4692f6c27 PD_VO powerdomain for rv1126 and disabling of the automatic switch between
sdmmc and jtag for rk3588 (makes sdmmc unreliable).
 
 This includes the shared genpd-v6.5-rc1-1 tag from Ulf Hansson, which moves
 the powerdomain drivers into a new genpd subsystem.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmTdQxUQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgaRgB/41U/lA1H0hIfXBKKBXFEDYkQMC1qEEtDnU
 pi8L6Bp44Gb5JbrD4wrNMc9AUJokxC1zGEVmwpySXNOy3ma0DQRPPKNQMNo8gcae
 R8bZPbpdvkBBY6HMeFI0/c0+B3qU0G/RBfaMMe0edPlaeLFz8j8TUotUJo4rGh20
 RoA2Dir7/YWN1S0EIOwJVRzYnr9vG7rGJsceabyYH/liDFs7neEgCDi9LWwNIBbL
 5ANWM7UytIOsZOrPOegLHLgsPyYvccHgKCgctCPt6k04/9ZBTwp6pFyBtUtd91GW
 oAL7SgF5tbkDYysj3nwZGOzCUIUVlxMTs6szTge4WuzGVOhXOZrn
 =5C7a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkCj0ACgkQYKtH/8kJ
 UifB/RAAsf5wuB1Jp+cbaVVTLgMUzMCOGJCJwjSk9FVfR4qJlnIdGwKUJUGaVkP1
 SUvPAVd/abJ+sySLBbLzDb22zmOK2NQ8lfSr8I4wDPTrcfxtNO3OY2eWyx1Zcqv9
 ojHQOW8ri9/YhUlyFJ3ZwWNiF42IwiB+DRgtLGDla/QeUV7YXaQK0zWsrapbNHEz
 W3qlOn7h57EXnZe7MIPc/JsiivRMR3SmMLWOMKi0u+d6K3SDm/N+TD+Pko3SW0vO
 SaRMmE6tfHrU1ClpQIZmNFORvWIZondEiskhCOb+hvQSBYGbWrA60J5obLZ8Rc1K
 xtpMrTDe7JBlesi92leM3GN8T1a+Y12nlh+6nJDli8OFdVCBk1zzNbyS2Uhts90S
 RPjh5UR7RtDNfsx2ROiddUV6DzDA8Wm507ioSAuqbEkex5x8eg6AkEhRQOB7L5WP
 OGYh9acjPOweSzNbNoepcbtOmnGRwJSh5WFzo0dSqKeHB5ayuKMR2Wjm+5qOMa8A
 ww1FBkZaSWYX0y2/kGjTIUfAJsOsa1tDEViUnOw/GafXrJY5tGghQCtqmzpps39A
 BmjhHApylaroPR1hT5HdEumrQe6YD5ROS/+JltKWyV8Mv1dnbbid58RKG6zmuwNz
 1N3Dhpe53N2ZuU500d+xA9WyqUb1q6gZI443PcJOFWc129Y+W7A=
 =Nt2J
 -----END PGP SIGNATURE-----

Merge tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

PD_VO powerdomain for rv1126 and disabling of the automatic switch between
sdmmc and jtag for rk3588 (makes sdmmc unreliable).

This includes the shared genpd-v6.5-rc1-1 tag from Ulf Hansson, which moves
the powerdomain drivers into a new genpd subsystem.

* tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
  genpd: rockchip: Add PD_VO entry for rv1126

Link: https://lore.kernel.org/r/40318909.XM6RcZxFsP@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-21 21:07:09 -04:00
Huisong Li
7d6612834d
soc: kunpeng_hccs: fix some sparse warnings about incorrect type
This patch fixes some sparse warnings about incorrect type.
The address about PCC communication space should use '__iomem' tag.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308151142.dH5Muhva-lkp@intel.com/
Fixes: 886bdf9c88 ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Link: https://lore.kernel.org/r/20230816073706.33297-1-lihuisong@huawei.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-21 21:05:11 -04:00
Yinbo Zhu
67694c076b
soc: loongson2_pm: add power management support
The Loongson-2's power management controller was ACPI, supports ACPI
S2Idle (Suspend To Idle), ACPI S3 (Suspend To RAM), ACPI S4 (Suspend To
Disk), ACPI S5 (Soft Shutdown) and supports multiple wake-up methods
(USB, GMAC, PWRBTN, etc.). This driver was to add power management
controller support that base on dts for Loongson-2 series SoCs.

Co-developed-by: Liu Yun <liuyun@loongson.cn>
Signed-off-by: Liu Yun <liuyun@loongson.cn>
Co-developed-by: Liu Peibao <liupeibao@loongson.cn>
Signed-off-by: Liu Peibao <liupeibao@loongson.cn>
Cc: soc@kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Link: https://lore.kernel.org/r/20230803063703.5659-3-zhuyinbo@loongson.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-21 20:52:46 -04:00
Ondrej Jirman
6f6878ec6f soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
RK3588 has the same issue as other earlier RK SoCs. JTAG
functionality muxed to some SDMMC data pins causes issues with SDMMC
interface. Without this patch, I can only use SDMMC inteface
with bus-width = <1>. (JTAG is muxed to data pins D2 and D3)

Signed-off-by: Ondrej Jirman <megi@xff.cz>
Link: https://lore.kernel.org/r/20230619011002.2249960-1-megi@xff.cz
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2023-08-16 23:26:49 +02:00
Arnd Bergmann
93e0acaec3 TI SoC driver updates for v6.6
- Generic fixups: Explicitly include correct DT include.
 - omap_prm: Cosmetic fixups for using devm_ api for ioremap_resource
 - ti_sci: Documentation fixups, Using system_state to determine if
   polling is needed.
 - k3-ringcc: Documentation fixups, cleanup of log messages, using
   devm_ to handle ioremap_resource.
 - k3-socinfo: Add AM62PX detection.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmTaSAgACgkQ3bWEnRc2
 JJ2bHhAArQBIlE2hSKOhQp2voNiSywrs94YOrrFKX+rb4DZFPUt3PtqMut8N86oS
 Hq8HeztxyCL5Lsi5p4eqi4DICAT6cdLqLQu4o1Nk8G+/1xC9bUSMxxDAvp9WqcKe
 VRjSnDrO5USU/FSQh2OVtBzYYqeNtrXtHIhih/XurH2C0RMev27RIMg2IeMq1ZBg
 OqerwxoV9FdjnUB74RrLhWPehSMGO3P7x2rwS8EndZ7CbQekHyhWDNW7SrIyvfre
 X5GpdRjOT4eCEKpEVvDoHPZZkwvGSYtXEuRKq0W3faCv+uHL3CAvWVuYWwZvYUUK
 SbJfJb/j94U24B75MynOSLYYyzDVwz1vvrfKeA+ZS+v/T1HqOPVHyCR8rff+fvBa
 jbk950oMwqJdRJ0wyrtlhQXCzXJ+8kVG5VOYW8eef0bMUsqVt/r+40V3imyVmn3E
 SqYisWOXUSZBgMdUiQwCw6+ZNeZEeBwT7328y+tpLBbNtp5psDLH9NWii79f0JiL
 Gy8hbYAzVnozLYd0Z0IHueQ7zTHJ/GLR1NphArwlj9nL9ZOlxWibADMdyc0rsp8h
 RSxTmbxY8/wwh+8wqgAoafzxeigL4Aer6KOb3xpbVqxUTx8aq9Bh0Jg6izhZCSrj
 cd2TQuamXE8lIKpmQfsHIlaTpP/YelSOSZgMpIHwnUJzEaGYHvA=
 =vMl/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaVbMACgkQYKtH/8kJ
 Uid/Sw//ar4Qf8XWgGThf08hP2Xv6fQEHwNiCOxP6+Jozfr8cKW3nX/ZXLSoGfC3
 fSThkm8Nny2b45cZax03JSaBOkFZMxBshISVkl9mUSelEGPMIfQejx+P1xQVW+V4
 50NbxE62Ezs6NPpF6yIOE8OYURZyMNUNioiKy6j3mlIPCVHuLixPdh1192SfHg8N
 GyIE6SEPA29j0rr8OwyXTIIct2ol0UStvrK8zx4Qmp14P+XbxMZI6YMNHXDJPy3i
 l/0HqSS0hFWCiLq8pa/Fl03QWfqDTYBSiBn2onYuMSg6msQgIkH6IPEA2NfY5itJ
 AFutvTH4YtUdfyGGac+zchtcVQHUDm2oJQxMHBpluU8695DWNWmqw7/ttP9gCwtk
 x2qtnwgu+k0C+fLWjMhv/hCg1tfB4j4aVZxAL9WKKpV4S4E7oWf8KCOJ8bn1DWUI
 slLKTVPSYSs4D9+66imjBYRF7tNqk+LDVYuRMQPW3bUFMRRIsK0ZVLBdYxC9w9Yj
 jFHeKvDmeMhCHjIB8pDC7626J7lTndHF0uRVLA591IYaRd3z8Oh4MCv0BsIVExPH
 31FPoEKIrhv6sQyShF6fYcO4V4I46rLaXszq+uRPOcucRrNQpQwIEa5DUJtr23ha
 n05PtlaOniNS7O2a2J9/kgyBupQCoO1IMS089IvLB/9wEaqV7j8=
 =wz6q
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.6

- Generic fixups: Explicitly include correct DT include.
- omap_prm: Cosmetic fixups for using devm_ api for ioremap_resource
- ti_sci: Documentation fixups, Using system_state to determine if
  polling is needed.
- k3-ringcc: Documentation fixups, cleanup of log messages, using
  devm_ to handle ioremap_resource.
- k3-socinfo: Add AM62PX detection.

* tag 'ti-driver-soc-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
  soc: ti: Use devm_platform_ioremap_resource_byname simplify logic
  soc: ti: k3-ringacc: remove non-fatal probe deferral log
  soc: ti: Explicitly include correct DT includes
  soc: ti: omap-prm: Use devm_platform_get_and_ioremap_resource()
  soc: ti: k3-ringacc: Fixup documentation errors
  firmware: ti_sci: Fixup documentation errors
  firmware: ti_sci: Use system_state to determine polling

Link: https://lore.kernel.org/r/20230814160633.my3xbk5k2pxkvjyi@degrease
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 18:26:27 +02:00
Arnd Bergmann
a90d34afee soc: kunpeng_hccs: add MAILBOX dependency
When the mailbox subsystem is disabled, the driver fails to link, so add
an explicit dependency. Some other drivers use 'select' here, but the
dependency seems more logical and more common.

Fixes: 886bdf9c88 ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-14 17:00:13 +02:00
Bjorn Andersson
b4f63bbff9 soc: qcom: aoss: Tidy up qmp_send() callers
With qmp_send() handling variable length messages and string formatting
he callers of qmp_send() can be cleaned up to not care about these
things.

Drop the QMP_MSG_LEN sized buffers and use the message formatting, as
appropriate.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-5-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-13 19:27:32 -07:00
Bjorn Andersson
8873d1e2f8 soc: qcom: aoss: Format string in qmp_send()
The majority of callers to qmp_send() composes the message dynamically
using some form of sprintf(), resulting in unnecessary complication and
stack usage.

By changing the interface of qmp_send() to take a format string and
arguments, the duplicated composition of the commands can be moved to a
single location.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-4-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-13 19:27:32 -07:00
Bjorn Andersson
59e0910083 soc: qcom: aoss: Move length requirements from caller
The existing implementation of qmp_send() requires the caller to provide
a buffer which is of word-aligned. The underlying reason for this is
that message ram only supports word accesses, but pushing this
requirement onto the clients results in the same boiler plate code
sprinkled in every call site.

By using a temporary buffer in qmp_send() we can hide the underlying
hardware limitations from the clients and allow them to pass their
NUL-terminates C string directly.

Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230811205839.727373-2-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-13 19:26:48 -07:00
Arnd Bergmann
37696fa746 soc: kunpeng_hccs: fix size_t format string
Printing a size_t using the %lu format string causes a warning on
architectures that define the type as 'unsigned int':

In file included from include/linux/device.h:15,
                 from include/linux/acpi.h:14,
                 from drivers/soc/hisilicon/kunpeng_hccs.c:25:
drivers/soc/hisilicon/kunpeng_hccs.c: In function 'hccs_get_bd_info':
drivers/soc/hisilicon/kunpeng_hccs.c:441:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]

Use the correct %zu format instead.

Fixes: 886bdf9c88 ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 19:20:11 +02:00
Jiasheng Jiang
6e6d847a8c
soc: aspeed: socinfo: Add kfree for kstrdup
Add kfree() in the later error handling in order to avoid memory leak.

Fixes: e0218dca57 ("soc: aspeed: Add soc info driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20230707021625.7727-1-jiasheng@iscas.ac.cn
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20230810123104.231167-1-joel@jms.id.au
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:12:58 +02:00
Zev Weiss
e4ad279ae3
soc: aspeed: uart-routing: Use __sysfs_match_string
The existing use of match_string() caused it to reject 'echo foo' due
to the implicitly appended newline, which was somewhat ergonomically
awkward and inconsistent with typical sysfs behavior.  Using the
__sysfs_* variant instead provides more convenient and consistent
linefeed-agnostic behavior.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Fixes: c6807970c3 ("soc: aspeed: Add UART routing support")
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20230628083735.19946-2-zev@bewilderbeest.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20230810122941.231085-1-joel@jms.id.au
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:12:34 +02:00
Arnd Bergmann
bb2974ffff HiSilicon driver updates for v6.6
- Add HCCS driver for HiSilicon Kunpeng SoC and document the sysfs description
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmTWAnIVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcc3kQAK2YCdYhmgueyufgR3HPfhvgOd1E
 1yLpyHkSQ8oaC8nOdWu6cTYOWz7doEFeqXumyfxgmW7QgaROHb/zLsXxJvkViEmp
 84wwPiXu2acx1bMlCMPOCGQQRZXIf3QN/1FHc5cPz745ej3S3GkOSAKG+SO0c31C
 EbfM7LTSLkmx0svGGyiJlz30KqFxKIV/4Z/s0tCX5WKfXTLv7WaCLqZRNTHLH5RD
 S/zYFapmpKtiJg6tUA8irJcIVOOzpF0vQb0ai5qOSS5YvW+DlLDzVqXotxwWYAng
 6Jjhc3Nb63xI9aK9YiUxDj2LvWQYJmWdoKEpAtQaNU+nKN7imjNxT0k4oZZzW/sn
 UfFjKdx+8U0XD2m6/yyylSSVbu2hdC+68G+IC8L/lcX3lhBqMyuWMxWP1Jo+RX7/
 eQhIRYjrRJKG6Yn0v5t5LQnvVx3LIlOnlyrzSW5HqlFdStdaJsz1UDQFr3+NawBf
 xaO3Lt3ULdIWzRev+KtLyk1w6u6/li3ijo0nfFC16YA8vxLCnW9HBIgplOD6bDHI
 1xgZzxPGhaPO0/Cznt80UM5PN6msmwV0DeX1q8uSiaWFDxmS63JK9sjMsaALVvD9
 RbjwHWbuLc21sqv3GCe1U7pemuP7KBNvMkaX4ki7O1nZu+ZujRjOW4ewqqBjimcY
 4qMotvV6+NYrn4b1
 =h9zn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWqcACgkQYKtH/8kJ
 UidEuhAArmNLbomANfSRvYxhMEdwGTjq/BP117V0hwOGukQJRIBDIytOHfQNpM0r
 NrmUwZOiqShI7GEBJFyK81SSud3OlVpORMK9OwyV5BhptjGU8PnNzYXZiMm3Q4NL
 r+QlYqcSJ++Sct7kteXgNJO5K2Y7mcAPiKzSlYY5O1WcWa57L8qT3ot4RhYRWuok
 1rICh1qKqiqqEW/AqCdqvx9KlKZhzGInvAKY3QgJVec2JVUevAO72Dpp8jmPwogH
 K/pF4y7qNPH96NyUSr1+eYYgwUEH5vikCUl/pa/bkMJ4s1qO5zvNou2UCD+Ku1aw
 5oxjDyS7fxMRgPx38YcJ5oeFVNjmwW1DkChA+RqUCtdEOdegrn2IJbdCTXaAASxO
 B85NfF6ZmTzZuO/Re5RtgEoGnbq1FiGV2gh9iQLA0VRo+HdodSyfBKWGVo0foi78
 XjGstnfU6lR8noaOaUcI/FJAVWcIIgw2mHo4ybZmOo0P3H1k6hD9wNxTPh6w+DAE
 pgBUI1LiHo0CymbNpVVyTgGHqlVIxq3KyhezbShNlnHUa8XqDILDRW/VdFB9Wno7
 XtkkSadw7gorNaFJFh/3PZqbaY/5ongwcAvDMLJXcBmLwRWWIXe2BAJ7MFJzpuXb
 oBsyMxcmfNa/Hcg2L6Ca9HlRCTq1l+Hi6T38F9YPTwdeRmFrv10=
 =Xt7M
 -----END PGP SIGNATURE-----

Merge tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi into soc/drivers

HiSilicon driver updates for v6.6

- Add HCCS driver for HiSilicon Kunpeng SoC and document the sysfs description

* tag 'hisi-drivers-for-6.6' of https://github.com/hisilicon/linux-hisi:
  doc: soc: hisilicon: Add Kunpeng HCCS driver documentation
  soc: hisilicon: add sysfs entry to query information of HCCS
  soc: hisilicon: Support HCCS driver on Kunpeng SoC

Link: https://lore.kernel.org/r/64D605DE.2070303@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:10:46 +02:00
Arnd Bergmann
8bb5c5fa24 Samsung SoC driver changes for v6.6
Minor cleanup of headers and maintainer entries for Samsung SoC drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmTU/LcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1yI4D/9N4T4eGP6uh7rJThBPrF8bMn+361aExlL2
 Z2d/UEsi+5vAq/5QGmTqNfpUTXJcwObSNkJC9SC/u5XZ+7QHUTrpDdxa4HeHru3z
 MB9Mm06wM0NKnTiWuGaqG7gRC5L5gWJhkq3JmizvWdvhHeJJn1UlWMBN1/+fUVRn
 Uw4C9YFWV8EzjmUxUrRiV7doBzSV8A6YF1UsIlJJWnKTVqFGc8LBs10Cjs1bTzDe
 ABiDFuTQYf4n6w6hv4r09T/yof3CYWJlbRLj0xjn/gm12FviCBnlP00HL/e0o6f2
 hOee5i2KsnZl98VsciXxdw0jXOsZCNnmX0hZQ0B4Qzfo5gKqqDrUhlax+Y5eHBLi
 Xs8Eo1IT6fYjoJ9Vw4x7P33m19L1ZUmN6gh4RvF8b99/YgTGGNnQJ+HsHO2HJCt5
 aW4VoCCN4sDrrmwmkUGWvislCUDZ6Kqe9wSPOeo18xsIsEP2pPUkxCV+88kszrUz
 8oPP8JGBfhban0P097fSfX047DFnDMRGHWtUKW9dx7SPdG5QBRdqSYc69E5BO6E9
 VWKVjb8pkjHqG3eEpWQrNAdIGyy2c2r3p8OyB9u2kmWZYGcnJyK3Y2/FdMwbIEq9
 ZQwivhMEG40+pIo8v521GLe4/uzKM9cghvlIKbjw9fn4OMmtSTb0yb7aODkDKHR/
 0agaov9MMg==
 =4/48
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWmcACgkQYKtH/8kJ
 UiePKA/+Pg06omQln1pHwjWM5MQDIMPnoOjdDykq/VbT+chUuJ8UE31Wg+txMII7
 5N4MAgjDwm32TJVQ7CEx2N6KmJ5J9k+TSS9S5VS0Khw4RcbFncyThQGA3RFRsWM1
 atbvugGn4UZCzPIpXJdN0aCqbJvrv4saP7BHDOYuDv6E+ALM6uKpMaPUTngnA3rT
 pQHMnOvdowfcVAir5VS7WWrIXyZN+6C0p0l2+5CVGpM5OENysDf/F3H3Fnz9ndW1
 Q1x6jRSO2SZhbvLcV3PP0jDczDNZJke6S4IACOrPqc4rOvu88f5qWJqngT0IaTBV
 uzfBEdzMA50AeqAm4Sw2zpbbOskloX2qStDXXIbRJUk9ZQqeV7TgjtgC2jKwGxbX
 vfEaaf2pvwnFwvGj3smZ17bNaw5DcQt8WYqupQRrCUcd6H1nW6JTCibcayzSNzCn
 xq2Ju2c1XAydRJPhl+jdnU+qwgdVrLBeIrAjn9Eac7NtFr0R4HDhSqR61f5hMzmo
 MYr2pbM5xOAkKwyhKRtcqnj1ZXtAn3nOp6nv3EPRX1HwPEYBf2r+sd8ezDLn5qLn
 6gmQyGzw50aSUxHa/H6gAL3IJTSgnvjTULMi/bOKoHBH8YWPybL0CDjo4RFYWjk+
 2Gx1sv787cualkdXX5Wh/dipPu14bTGz8ms5Vm5yAVVHhk5zzIM=
 =ntax
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC driver changes for v6.6

Minor cleanup of headers and maintainer entries for Samsung SoC drivers.

* tag 'samsung-drivers-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: mfd: Un-support Maxim and Samsung PMIC drivers
  MAINTAINERS: samsung: Un-support cpuidle and clock drivers
  soc: samsung: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230810151250.220202-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:09:43 +02:00
Arnd Bergmann
347cdfc86b - simplify code in sunxi-rsb
- fix includes in sunxi_sram
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZM/fegAKCRB0Ba7+DO8k
 k0sUAP9AXs6bJxGl01XCSTocVIU0sGj5Jsi7ZuWtRk3gMtJOuwEAnHzAnLGUdPEs
 127hYOlrAtRqfS+Uq1pbfA1PeRgdWAs=
 =7pO9
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWf4ACgkQYKtH/8kJ
 UicyCBAAydXQSklz/awt58USpxv8QLzbS3oiJ1QSqbsvLQgzpVwMu2tVS8Bq8ZB5
 jdgJmMAZ8wU3WwvOqC3PajA4bkc9OkyVkPGmDB+ZOSE7YwWlaqLTMDSrl1adtPgP
 oxTKZ8ypLErrVEHYOwFABgkWZ4W2v9fgJLe0r+LNsEmpkJ6lGdVc80qbsE5W7NeB
 P1zcZt8uxlCoU0t1O0sbU7vcUykHalaxjfTJ5lvGV3fL0TO+Cyz4WnlgPW/yNrYW
 qC6J6FfB+OH4aEcA5+EakERmIStv2nWZOK0eJRXbA8ZngxCuUBm0o0NwzhnXcGPq
 j5GbMtfK8yn9nVy+oIlC2XBcWDBM9vwZHR5HviFHKMtiCtIX32yVfVm25xvsMpZv
 igyUl3YIY3Re9hO2NYh8xEVx0/ArZd2namla5IZDi8B1ft82k5gGkDLGiZKglF2m
 cIciCtjJMwf6+Ky1izvnGrRTIZkwrXWDX7QmUdp24CfyTJfD6ZK/9JIEuKDeRx8T
 RxyFm6xyXNHA3OHMooKMFwo4gaAWaxkTsJtm4PKWozn03R8i4M5c6oxvC5yBo0M+
 v1i+y/a1jY0KGR0vGWVcjSQ4Fz+q85O8h0XzIG/ZtDYwAR4HpIJl404iTA1wX/Cy
 tGwi9Uky8wKwk8siyKh1ees/fN+VJA5nIiu+kjTH78r8zI7G46Q=
 =2Q13
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-drivers-for-6.6-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/drivers

- simplify code in sunxi-rsb
- fix includes in sunxi_sram

* tag 'sunxi-drivers-for-6.6-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: Explicitly include correct DT includes
  bus: sunxi-rsb: Convert to devm_platform_ioremap_resource()

Link: https://lore.kernel.org/r/20230806180650.GA127142@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:07:58 +02:00
Arnd Bergmann
f1c047c2f7 Amlogic drivers changes for v6.6:
- Add C3 Power Domains
 - Explicitly include correct DT includes in Amlogic SoC drivers
 - fix to avoid potential NULL pointer dereference in meson_sm
 - Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmTM+6IACgkQd9zb2sjI
 SdHRHg//YW+Xj0fK9braP1COux5mKmqltYokFL3wWz7nBKYNsQwzUtY9VS187/hM
 FST60rV+X175yOibNgspN76oK6dDQGkiNtNFZlD6N5HeN/UyiziCucN8GR8reVDK
 NDyv8gkO5aiXHAi9TUGuyMhFE38O8GGln7p05czDpKA4teRAUfWnafixupo/e8/r
 grLVSyNnmWECB5jF077LzgHuHBhXbHeFVQVLUaq5NClucSsqbaq4o21tYLkGAo67
 eqQ7Mnlu0/080V2oBeuaWPJMWgLoAEmmarUFI02l7jc5ar717gu4Dqv9wu9F89rc
 jTKv+YtMiTq7vYyUQtaWZlqGDq/sEU19hWmqS7CqLC4eEOEkiWY2Sn5FH8SnkN8F
 NuuB12LJ8tFvczL07Q6Hv1fHe4UfyXe77GlKDgtn/GFqYCUmZop6wUhap0l+S/2S
 lbDpiDRo+kq02vsGrEUE9vimiL3FBCjr6r45tutnG0icTF0kE73WRuhYB3mkiJ0R
 Hz+4TrcjciTVLaBBKgJsGqomUb6qb7XEsUw11WehYW1IJAoEKCLhTK7S6ij88gaD
 UHphUkPFxGDIbjE79PrGw91pG3NStwXDBntH9vu8RwTEKLgBATdCK893rzH0hRJY
 RreFHYHWEicaBj3kpxXtXhXy0RSgN5b4VBB3/gfqqqUxTW4aIn4=
 =eBDR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWaIACgkQYKtH/8kJ
 Uic6aw//S4F9FArxHq8iGNFgfEpvXITdniqIxSsGBFXuKA/Vkl2QlffjmEbmkRvv
 t/AIJTNAy/PGr8FhYoW00O+9MiDbCVcMZDdl5aT252kGYCm2DfqF5C2/28ZorBtk
 LAJs9UyyHIlDZvCZL7aRDvoLojKVGuId33uRKzUI9DTRA6SIRGiHvhqLJYRf9AGo
 6dR6lqcwCD4FiJNJ07loAsUbMY5p3lnDV/hwS5uu3q4Z1kMpfwcgP61GszlSU0Z8
 20yOUnDjZhOdz5Oprm6jAn0gNY0up5Ndd3wHSlScu9fUrN/BHY+Lbp4qa2hSFOMa
 tyGJPHE2EJG+zFdQpoWTDFuUwqbXyAQ4qyQyZwYqUbz1dW4oCwbtwINVtdQfVrQP
 IGuiRx9ZweahUYp6CdiG7EyH2FUir08hjUQuNwFOQZV2RVya73cF+AGrqyvA/zbn
 mUrMk8XD8rb+4WBbKFwMsRGFQ3CosDt5fsKdHGXljBBAMbSHP3PIsQKu+ejHQmVJ
 txMDN/s30iOJ7lU3W9LpqYhhxjh72OLL4iG+hI2faz+mp0qsKhV/k9iOrpvWY4it
 InNvKXiV/mxIDe0/qudde9vXBV8R5WEt1yyF7aTZDdnm1QzRncXy6kBBA1GSy12S
 gdDN/YwiFDsVOZIgXYp/qW7dKmhpt9KIoGLWSLyK/hbfZ+WBbLk=
 =jJE/
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers

Amlogic drivers changes for v6.6:
- Add C3 Power Domains
- Explicitly include correct DT includes in Amlogic SoC drivers
- fix to avoid potential NULL pointer dereference in meson_sm
- Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers

* tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  firmware: meson_sm: fix to avoid potential NULL pointer dereference
  soc: amlogic: Explicitly include correct DT includes
  soc: c3: Add support for power domains controller
  dt-bindings: power: add Amlogic C3 power domains
  soc: amlogic: use name instead of index as criterion

Link: https://lore.kernel.org/r/77e328b5-0d47-36e8-f62d-c745df06fb87@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:06:26 +02:00
Arnd Bergmann
bf08f3233b arm64: ZynqMP SoC changes for 6.6
- Cleanup remove callback in event driver
 - Explicitly include correct DT header in power driver
 - Fix logic around irq = 0 in power driver
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZMzgwgAKCRDKSWXLKUoM
 IRRjAJ4kS4jzkdR/UN4xha2v9fhLQIEtOwCgheqMzg553ap53DXFOsHobL7WGvY=
 =rkA5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWM0ACgkQYKtH/8kJ
 UidLUA//WVgeFb05d9UogRyouiKpHpsaCdcMN5PMfWgdgmbkfnDoYxeywpoT6J2j
 U7wSpcBa4Uf7y3S/6VEShsSYDHJSQSAzIDLbK2Mb+7Sf+DCYm+2HXc9bUQaItt7b
 +6iNOLVPOifAM+U2p8kmJTcPB/suTuA7P2w6KrA9R/Lk359/w9XI142zPhGCE3aj
 jBmK2om68lwGK61G2x7fHsHPDTyDFhIHAuM7QpPInOMhPl9e71k63hwa3bDy79V5
 emTb4aMLIueU7MqSUwjiwYHAH9k/eYltOlYUyo1x1HP3hnGi58v/wkLNaP4Guwnb
 RvYvCuUD1ZkMfP8fxqFPEsXcshEQSK/D+9yMoD02VGnrZjeRl+jc4B4COQ2a4BFC
 1ZzeAL13SX8f19Z/HoiHwRzCpoPNnpHf3npEPelqX/j2duGX/dA+XbmOsGVVwSC2
 Fw2Jj9NId0qqd5wQosnB3neLhLMyQqAKx7sA4iD/maKC2fluvvDCz+nBYxQcdDZP
 4QXjEfU+5n3in8S4uUBjZV2rxK/3YfOhQWB0Mrrr+IF1Wp/HTWdfVyX5w8wZ7ezz
 EBzTBrSxB84aQRFNHCbSAL+GopJhAa6Zp1krT0XCvxS0EfzIAeY8x890EzmEuQMo
 DxUoxTcY4kTO9Jkd5WWvgfmUYXmwLUHuoCD4yzvP8CfXjMXKrpM=
 =yxvn
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx into soc/drivers

arm64: ZynqMP SoC changes for 6.6

- Cleanup remove callback in event driver
- Explicitly include correct DT header in power driver
- Fix logic around irq = 0 in power driver

* tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx:
  soc: xilinx: Do not check for 0 return after calling platform_get_irq()
  soc: xilinx: Explicitly include correct DT includes
  driver: soc: xilinx: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/399efa45-df0a-4ec7-e25c-774bb8bf6fb4@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:02:53 +02:00
Arnd Bergmann
eb865fd2fd soc/tegra: Changes for v6.6-rc1
This contains a selection of minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmTDhmsTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoVUiD/9FRZ1Izpk02X831LM/ySo7hnRzHZre
 9U97FggBLultHQ1MUBNscx3fUruLKCXKLB0qL0IMwzOiIaEFhgteQiiPewpZSYbu
 l+sln07g5QmBHEtTUQYxtYAmUmWAQbaK1nNxFNUN6VSI4u6Ls41hAK+doy3zGpTc
 IaSwJr7QNHFOcwzZ37oiFbM2or/q5TXcgSvlcS7q86W4UFJ3DAB5Xg0GuZ/ElM3j
 Zh/OiSOvOtT/DGkB3LgS02V0HVMQyilwnIJvCLrfInMjNo8Z4equOXj8vQDwjd8m
 VGYKk0JJ66J7O27XDOVjqNSi05ElxIuQU6qPcKPRfbGwG5NhaxKlGs64UpDsutXs
 UJ1stIBfQfP8n1jRcKett8G2g0FkezBIXSX/u2d+tPOXBANuYhjGIzGypEA1mzBt
 HrJhtATJR8DLnYsmjEzDgjYF1dS+7YqtMi81nTerMhHBvPb94E48sSd/vcUs1Hyq
 yamkT2FfRGRmwxKNSTXxwf06Bi6/nn6oJXZGpWu88wnbUUcvrTG7lZNun5y0Ggi0
 Ju6Q1AMK7/Km/ZE7ulbgNyOkyqc2Di14W9pIv8P3V0QqDUCal9AUIJBwJNZNZVwb
 R0r0ddwkON05JQyj0kqylLqgsHZSfwPEZYgsdXikfaFG6AXPGs8EKmWyZJL3dUuP
 6Zlv0fPCQBYCZg==
 =+oTD
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWI8ACgkQYKtH/8kJ
 UiddlRAAsFU3c5WrrlM9opjFznw9C4J6RkX+NtVsHHDfEVi+HDj4bl4gU2zvs4A3
 QAV3IH/YBJQa/0T5ORnn9Qs7GYXGoXrSKAk+rwc0AkMjc1NfN0fG/24zRE4LHqnv
 AlJlOUoWnLlQ05iT0g30UWgI7PQMDUYdkA2ASBXMpIrETdqibEhv7KUIcF+ud7DO
 i1VpfYPozu6mc1w0yl6Kte01L5bgvwfEN18COCsXnvFMLEX4n1NzLBAeFbQnrJT7
 Fkz9PP8OONu0zGrNKmEie7+LcDWPZJGdh/llthnlOLYzymeHbZXdiibkCL2Y/D3S
 q1Yz1pHSfW03ij2YMpCbbijmxS3J+Xee9EL8iV81LlUmeKcnD4tOYgQ7f4QAIHHl
 /d9HgucS7oXAUZJPT8Ly6gGJClisVFGR73e9zI1JX2VH1FOMsNS8VEYbqIMtWk+p
 /qwCFwlHF0PFV7z1byoVyredmKLykkxWXLe3LjqPEtzwZc40A9ugEE1+ldo/YaG9
 io6Hn4SL3ZjdOYLgOYgHxGxlbalDYndZjexTklNlnQXEYZFVUvDqHf6Slr3q0Jw8
 JFdJQHUucRb329MPtpGBR7skFaG3zgX952lxLTgh3O///TCN2W7zBp9NpRaknFvn
 k2F/WvqVUn6F7wGhINK35ZFBvR/lSlWh47MNetTLAOwhyW+qUUs=
 =toF6
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.6-rc1

This contains a selection of minor cleanups.

* tag 'tegra-for-6.6-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: cbb: Remove unnecessary print function dev_err()
  soc/tegra: fuse: Sort includes alphabetically
  bus: tegra-gmi: Convert to devm_platform_ioremap_resource()
  soc/tegra: fuse: Use devm_platform_get_and_ioremap_resource()
  soc/tegra: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230728094129.3587109-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 12:01:51 +02:00
Arnd Bergmann
61029e2b37 AT91 SoC updates for 6.6:
It contains:
 - explicitly include correct DT includes from Rob
 - one cleanup which removes unused extern declaration on atmel_tcb.h
 -----BEGIN PGP SIGNATURE-----
 
 iI8EABYIADcWIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZMx+PxkcY2xhdWRpdS5i
 ZXpuZWFAZ21haWwuY29tAAoJEJ6OuD83Zfv9RHAA/jMPJ6uQKDDP9iYzJD4moCC2
 H614pQHGJx8PLnxt7kPaAP4xrN1l9+Yo0+31r8bDSjGBksmOK0g262shKXgsY79G
 AA==
 =ab+a
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXQ7MACgkQYKtH/8kJ
 Uidn1BAAuEEA+N3YAf6gRBQ7xJ1y+UuZr945SjKWZtU4gvKB04a8N1VdIGMUCP5Z
 QlmaXbMwrALPfs4oqu4NmjI5MsB9IZNLKb35C5LUAltHTfaG36FLmbrs0kIbQ6I9
 ES3Sr5rHM+ec7RewbuVqx3DK4VzJJQN++CECTkRH9j6cGkGIGRyCtD3jHp+LROv0
 73UJ0Iv7FBkDNprhhCjhSQwUiTb0kHiRORhOnvle6JcnIYHaN41/qL1M0VRVBmsb
 HQAT2KH7c2Br9hSTNYBJG77RXNt50CNIM5fviGFTQw+d6OugDjNwsrRzKFrM4uR+
 XDHAAL9GK/QEZ2UClCuYY8q1oezoVeUjUZw70PzU8I6lXDi9373pY1E/K3HIG7WZ
 y7NrWLGCzxpc2/OBBNl57hiMbqdnV+a+53VMpKLtjobt3xHVMzpoluf1KRKcqf9Z
 SmOYV8wZs+pCAtTYBj5+RfQuLfTmJHRbSB42DHMWncHt5hRbGmAvTLMEPFy7Gyyw
 ogKN2VsqViQS0C5pI0EO4119Pv4OPJzJP1qvmtZgZbwMj7WVLaOq3tri6fNuIIsy
 Uy+uuEFyppAsegJ7VQmpsk8ql+R0XAc0fk8hw+iob+S0hPPBoSEtemL8mkYurTuN
 WeKTk1AHPtl5Ty7Fvo32G38SDxwuuBbc67IbiPzN44UZ6gATa+g=
 =8ksf
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/arm

AT91 SoC updates for 6.6:

It contains:
- explicitly include correct DT includes from Rob
- one cleanup which removes unused extern declaration on atmel_tcb.h

* tag 'at91-soc-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: Remove unused extern declarations
  ARM: at91: Explicitly include correct DT includes
  soc: microchip: Explicitly include correct DT includes

Link: https://lore.kernel.org/r/20230804044118.231478-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:32:51 +02:00
Rob Herring
5df5b2e047
soc: fsl: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-23-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:02 +02:00
Rob Herring
1c37c34e2d
soc: xilinx: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-22-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:01 +02:00
Rob Herring
adedd5d129
soc: sunxi: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-21-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:01 +02:00
Rob Herring
0e7ed4dda9
soc: rockchip: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-20-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:01 +02:00
Rob Herring
d01e0aec6d
soc: mediatek: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-19-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:01 +02:00
Rob Herring
96b75c9d4b
soc: aspeed: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-18-d8de2cc88bff@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-08-12 10:31:01 +02:00
Vignesh Raghavendra
443012dd31 soc: ti: k3-socinfo.c: Add JTAG ID for AM62PX
This adds JTAG ID info for the AM62PX so as to enable SoC detection in
kernel.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Link: https://lore.kernel.org/r/20230811170127.250733-1-vigneshr@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-08-11 16:01:09 -05:00
Zhang Zekun
f9dbb99748 soc: ti: Use devm_platform_ioremap_resource_byname simplify logic
platform_get_resource_byname() and devm_ioremap_resource() can be
replaced by devm_platform_ioremap_resource_byname(), which can
simplify the code logic a bit, No functional change here.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20230809081523.26196-1-zhangzekun11@huawei.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-08-09 22:39:13 -05:00
Huisong Li
47f7a25533 soc: hisilicon: add sysfs entry to query information of HCCS
This patch creates chip, die and port directory based on the actual
hardware implementation of platform. Some sysfs entries under these
directories are created to query the health status and port information
of HCCS.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2023-08-08 12:36:30 +00:00
Huisong Li
886bdf9c88 soc: hisilicon: Support HCCS driver on Kunpeng SoC
The Huawei Cache Coherence System (HCCS) is a multi-chip interconnection
bus protocol. This driver is aimed to support some features about HCCS on
Kunpeng SoC, like, querying the health status of HCCS.

This patch adds the probing of HCCS driver, and obtains all HCCS port
information by the dimension of chip and die on platform.

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2023-08-08 12:36:29 +00:00
Rob Herring
23e9bf8e78 soc: sunxi: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-21-d8de2cc88bff@kernel.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
2023-08-06 13:41:08 +02:00
Rob Herring
584ed6d4af soc: amlogic: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230714175124.4066972-1-robh@kernel.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-08-04 15:18:42 +02:00
Ruan Jinjie
746db5d0b6 soc: xilinx: Do not check for 0 return after calling platform_get_irq()
There is no possible for platform_get_irq() to
return 0. Use the return value from platform_get_irq().

Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Link: https://lore.kernel.org/r/20230803104807.814005-3-ruanjinjie@huawei.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-08-04 08:53:21 +02:00
Rob Herring
c6cb31b9f6 soc: xilinx: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230803-dt-header-cleanups-for-soc-v2-22-d8de2cc88bff@kernel.org
Signed-off-by: Michal Simek <michal.simek@amd.com>
2023-08-04 08:50:05 +02:00
Bjorn Andersson
f2326eacfc Merge branch 'genpd_create_dir' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm into drivers-for-6.6
Merge the topic branch that introduces the genpd subsystem into the
Qualcomm soc driver tree, in order to deal with patches landed in the
Qualcomm rpmhpd driver already in this cycle.
2023-08-03 09:27:23 -07:00
Chris Lew
8d207400fd soc: qcom: qmi_encdec: Restrict string length in decode
The QMI TLV value for strings in a lot of qmi element info structures
account for null terminated strings with MAX_LEN + 1. If a string is
actually MAX_LEN + 1 length, this will cause an out of bounds access
when the NULL character is appended in decoding.

Fixes: 9b8a11e826 ("soc: qcom: Introduce QMI encoder/decoder")
Cc: stable@vger.kernel.org
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
Signed-off-by: Praveenkumar I <quic_ipkumar@quicinc.com>
Link: https://lore.kernel.org/r/20230801064712.3590128-1-quic_ipkumar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-03 08:08:07 -07:00
Chen Jiahao
5f908786cf soc: qcom: smem: Fix incompatible types in comparison
This patch fixes the following sparse error:

drivers/soc/qcom/smem.c:738:30: error: incompatible types in comparison expression (different add        ress spaces):
drivers/soc/qcom/smem.c:738:30:    void *
drivers/soc/qcom/smem.c:738:30:    void [noderef] __iomem *

In addr_in_range(), "base" is of type void __iomem *, converting
void *addr to the same type to fix above sparse error.

Fixes: 20bb6c9de1 ("soc: qcom: smem: map only partitions used by local HOST")
Signed-off-by: Chen Jiahao <chenjiahao16@huawei.com>
Link: https://lore.kernel.org/r/20230801094807.4146779-1-chenjiahao16@huawei.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-03 08:07:20 -07:00
Yang Yingliang
4d6e0a1bf8 soc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()
Add clk_disable_unprepare(core_clk) when enable iface_clk failed.

Fixes: a7e12e7bda ("soc: qcom: ocmem: make iface clock optional")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20230802024855.2521895-1-yangyingliang@huawei.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-08-03 08:04:30 -07:00
Jayesh Choudhary
e50a76355c soc: ti: k3-ringacc: remove non-fatal probe deferral log
Drop the non-fatal probe deferral log for getting MSI domain.
This makes the kernel log clean and we do not get recurring logs
stating: "Failed to get MSI domain".

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20230728053356.31044-1-j-choudhary@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-08-01 23:56:40 -05:00
David Wronek
23b45f8aab soc: qcom: socinfo: Add SoC ID for SM7125
Add the SoC ID entry for Qualcomm SM7125.

Signed-off-by: David Wronek <davidwronek@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230723190725.1619193-5-davidwronek@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 16:28:43 -07:00
Kathiravan T
90158bc118 soc: qcom: socinfo: drop the IPQ5019 SoC ID
IPQ5019 SoC is never productized. So lets drop it.

Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Link: https://lore.kernel.org/r/20230724083745.1015321-2-quic_kathirav@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 16:28:07 -07:00
Tengfei Fan
42618de085 soc: qcom: socinfo: add SM4450 ID
Add the ID for the Qualcomm SM4450 SoC.

Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230731080043.38552-7-quic_tengfan@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 16:25:23 -07:00
Neil Armstrong
7daada8630 soc: qcom: pmic_glink: enable altmode for SM8550
Altmode is also supported for SM8550, allow it.

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-3-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 14:19:25 -07:00
Neil Armstrong
0549bc385f soc: qcom: pmic_glink_altmode: add retimer-switch support
Some boards have a retimer/redriver between the SuperSpeed
PHY and the USB-C connector to compensates signal integrity
losses mainly due to PCB & transmission cables.

Add support for an optional retimer-switch in the USB-C
connector graph.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-2-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 14:19:18 -07:00
Neil Armstrong
1beecfe68f soc: qcom: pmic_glink_altmode: handle safe mode when disconnect
On some Qcom SoCs, the Altmode event mode is set to 0xff when
the Type-C port is disconnected.

Handle this specific mode and translate it as the SAFE mode.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-type-c-v5-1-9221cd300903@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 14:19:06 -07:00
Rohit Agarwal
668e08c2e7 soc: qcom: rpmhpd: Add SDX75 power domains
Add the power domains exposed by RPMH in the Qualcomm SDX75 platform.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Link: https://lore.kernel.org/r/1690803007-8640-3-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-31 14:16:38 -07:00
Rob Herring
11795e02c1 soc: microchip: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230714175139.4067685-1-robh@kernel.org
[claudiu.beznea: added link]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2023-07-29 16:54:29 +03:00
Jiapeng Chong
10f975f8b0 soc/tegra: cbb: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq()
already prints an error.

./drivers/soc/tegra/cbb/tegra-cbb.c:130:3-10: line 130 is redundant because platform_get_irq() already prints an error.
./drivers/soc/tegra/cbb/tegra-cbb.c:140:2-9: line 140 is redundant because platform_get_irq() already prints an error.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4879
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-27 18:46:37 +02:00
Thierry Reding
ac60f06215 soc/tegra: fuse: Sort includes alphabetically
The includes were slightly out of order, so sort them correctly.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-27 18:44:41 +02:00
Arnd Bergmann
7ed363cd8d genpd: move owl-sps-helper.c from drivers/soc
Moving only one of the two files in drivers/soc/actions to drivers/genpd
caused a link failure in allmodconfig, as drivers/genpd is entered
for compile testing, but drivers/soc/actions accidentally got skipped:

x86_64-linux-gnu-ld: vmlinux.o: in function `owl_sps_set_power':
owl-sps.c:(.text+0x16e259d): undefined reference to `owl_sps_set_pg'

Move the other one as well to allow build testing to work correctly.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-07-26 14:41:01 +02:00
Arnd Bergmann
00eb53b08c soc: starfive: remove stale Makefile entry
After the only starfive driver was moved out to the genpd subsystem, we get
a build failure:

scripts/Makefile.build:41: drivers/soc/starfive/Makefile: No such file or directory

Fixes: f3fb16291f ("soc: starfive: Move the power-domain driver to the genpd dir")
Reported=by: kernel test robot <lkp@intel.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-07-26 14:40:53 +02:00
Rob Herring
cdbab28c37 soc: ti: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230714175156.4068520-1-robh@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-25 06:26:34 -05:00
Yangtao Li
5542c7cfc1 soc: ti: omap-prm: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Link: https://lore.kernel.org/r/20230705122644.32236-1-frank.li@vivo.com
Signed-off-by: Nishanth Menon <nm@ti.com>
2023-07-25 06:26:12 -05:00
Yuanjun Gong
489d7a8cc2 soc: qcom: use devm_clk_get_enabled() in gsbi_probe()
in gsbi_probe(), the return value of function clk_prepare_enable()
should be checked, since it may fail. using devm_clk_get_enabled()
instead of devm_clk_get() and clk_prepare_enable() can avoid this
problem.

Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com>
Link: https://lore.kernel.org/r/20230720140834.33557-1-ruc_gongyuanjun@163.com
[bjorn: Dropped unnecessary "ret" variable]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-21 20:06:34 -07:00
Rohit Agarwal
de3acb7af9 soc: qcom: rpmhpd: Use the newly created generic RPMHPD bindings
Update the SoC SM8[2345]50 entries to use the new
generic RPMHPD bindings.

Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1689744162-9421-3-git-send-email-quic_rohiagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-21 19:58:48 -07:00
Yangtao Li
6674c98080 soc/tegra: fuse: Use devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-21 17:26:03 +02:00
Rob Herring
8297603c79 soc/tegra: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-21 17:12:19 +02:00
Rob Herring
4c4458375c soc: samsung: Explicitly include correct DT includes
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Alim Akhtar <alim.akhtar@samsung.com>
Link: https://lore.kernel.org/r/20230714175147.4068046-1-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-07-20 11:30:09 +02:00
Lucas Stach
53cab4d871 soc: imx: imx8mp-blk-ctrl: register HSIO PLL clock as bus_power_dev child
The blk-ctrl device is deliberately placed outside of the GPC power
domain as it needs to control the power sequencing of the blk-ctrl
domains together with the GPC domains.

Clock runtime PM works by operating on the clock parent device, which
doesn't translate into the neccessary GPC power domain action if the
clk parent is not part of the GPC power domain. Use the bus_power_device
as the parent for the clock to trigger the proper GPC domain actions on
clock runtime power management.

Fixes: 2cbee26e5d ("soc: imx: imx8mp-blk-ctrl: expose high performance PLL clock")
Reported-by: Yannic Moog <Y.Moog@phytec.de>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Tested-by: Yannic Moog <y.moog@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2023-07-19 15:44:02 +08:00
Azeem Shaikh
8453e7924a soc: fsl: qe: Replace all non-returning strlcpy with strscpy
strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().
No return values were used, so direct replacement is safe.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230523021425.2406309-1-azeemshaikh38@gmail.com
Signed-off-by: Kees Cook <keescook@chromium.org>
2023-07-17 16:05:20 -07:00
Stephan Gerhold
410da7e344 soc: qcom: smd-rpm: Move icc_smd_rpm registration to clk-smd-rpm
icc_smd_rpm will do bus clock votes itself rather than taking the
unnecessary detour through the clock subsystem. However, it can only
do that after the clocks have been handed off and scaling has been
enabled in the RPM in clk-smd-rpm.

Move the icc_smd_rpm registration from smd-rpm.c to clk-smd-rpm.c
to avoid any possible races. icc_smd_rpm gets the driver data from
the smd-rpm device, so still register the platform device on the
smd-rpm parent device.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
[Konrad: remove unrelated cleanups]
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Acked-by: Georgi Djakov <djakov@kernel.org>
Link: https://lore.kernel.org/r/20230526-topic-smd_icc-v7-5-09c78c175546@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2023-07-15 09:54:44 -07:00