Arm SCMI updates for v7.0

A set of cleanups, refactoring, and fixes to the Arm SCMI stack:
 
 1. Rework protocol version negotiation by moving version discovery and
    downgrade handling into the SCMI core and performing negotiation early,
    before protocol initialization. Remove legacy per-protocol versioning
    logic now made redundant by centralized SCMI handling.
 
 2. Increase the internal MAX_OPPS limit in the SCMI performance protocol
    to 64, allowing platforms with larger OPP tables to be fully supported.
 
 3. Reduce duplicated boilerplate in pinctrl and related protocols by
    consolidating validation and lookup logic in protocol get info helpers.
 
 4. Refactor reset protocol domain handling by introducing a shared lookup
    helper, ensuring consistent validation and error reporting.
 
 5. Fix potential undefined behaviour by properly initializing pointers
    annotated with the __free attribute.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmlk3lYACgkQAEG6vDF+
 4pj2WhAAr3tJz05oUqHs75yJ92jr+wp7i1hymgsHOy46DHv+M3BjKg6cQ36S3ZaS
 QBNZB4wDYB5mkxRjFtQtJbtGkDI7guCj4Oje7oFFQnf25VEqlwNGHUqNUdE4CHGp
 g4HqbAzdtCQrOp4u9DFAdP63Sl0Dbo9qaa0i/RdxVAXN2Pylpe2NnlX5006cEgiZ
 d8wBjLoGOn3bhtn0ETaPzfAvBZWPOLqAFf16wNJPR5uPS/PFGflCRdwTtdLBjA5v
 5vEc0nZ993PDnCOMTom0BnccHdKyw8CZXnP5UMeXfjLxm9mrUeVCJKrsZeJkfKhH
 5MgEhRlmisxbtlLLPbS0sEOPklYrFlMvsJT+NjfnFQL3E4xuBDyJztHlLxqdUXrr
 KIuYYaTsUSGnDOE3MV7lD+y+4AzH/7pjk501h69ZbCwXRKzTNnVKwBcIe5gSoH8O
 KE9Qp1KANxGUF8Px3xHTHwKe8oXiVPsPECZCA0Ldaal6Zs5P+ncHITPNS6BZ0I3f
 PNZIUr7BBJs4828jXSOnaXBTannGVZKWy8BUVtm6hcWFiAoz6n588jsQL1Vi8ku4
 7l/vn2QH4QWrHSp9yZ4UwuizNLkiQu4ES5oCxmH9hH8EHeNIjiGGJ1oRVVOe6Wos
 FGfvRDwrE0++4jz1ErvF3p4jUVSauD9R3fjewO7/IWeA1dIzWoc=
 =ueRY
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmlw7zcACgkQmmx57+YA
 GNnTTBAAm1uDSAwVQoat9Hz7fzaB47ll2h/5voIOP0O9m+MLDExZUuDP9O+PUt2K
 IDXVkp1T3jiSY9HUV3bxzYGrrndaseT+pQvd5ujRHI2kRIjo3qJY2RJjKhpjLhfj
 vhehpr6S9+E0fylSVSECAu4HtaOW4IXRS2yim5YJQCDuxADQouc1KGToWyYoJP0V
 X6XU3shZKY+UBaw6pr73e3eph8Qi0Y0QsrYrqi3X9Mg2cP5hT/ClQUqBTMNjZp/O
 fiGo7Bh1hGRzBdfpu8h473SihIosYYALGx0fVqueOzO9iYb7dkZJ6EQQf+S0yA0E
 Co1BEKJcdXLRy2TBXV0akcFWo3Qs+ZJUeB59OPnAy6kT/jIpx0BPnj/uQSTRm0mV
 XdO0M1r3j/GvRtbyZhCfdRppTpTaQLRhzR6CBxhfW1rxxPtyZKu/vQ+es0/eh7bu
 db466zZIK/CIfKksoo2i8ruqyFmEAoC5QTKWunfq9R6ulFaQLMj8rIjcC2B7CAb4
 l3+csKgMW+ZQG0acuqSybEuIp9TBsm6caWuSXwEZZFFcvXk5BDdSkD5Mv0Bbynqv
 aZf3JCN0ePLBUgP6VpiSpNkHCpomxzB1qcoRhqMjXb1zPolixg9GZuNRpYYeiOOZ
 r4O6zcc2/cjP97XiZ9rpIBmL72VzKyd8QZsexKuvrhkF29KbIRg=
 =rTFA
 -----END PGP SIGNATURE-----

Merge tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v7.0

A set of cleanups, refactoring, and fixes to the Arm SCMI stack:

1. Rework protocol version negotiation by moving version discovery and
   downgrade handling into the SCMI core and performing negotiation early,
   before protocol initialization. Remove legacy per-protocol versioning
   logic now made redundant by centralized SCMI handling.

2. Increase the internal MAX_OPPS limit in the SCMI performance protocol
   to 64, allowing platforms with larger OPP tables to be fully supported.

3. Reduce duplicated boilerplate in pinctrl and related protocols by
   consolidating validation and lookup logic in protocol get info helpers.

4. Refactor reset protocol domain handling by introducing a shared lookup
   helper, ensuring consistent validation and error reporting.

5. Fix potential undefined behaviour by properly initializing pointers
   annotated with the __free attribute.

* tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Remove legacy protocol versioning logic
  firmware: arm_scmi: Rework protocol version negotiation logic
  firmware: arm_scmi: Increase performance MAX_OPPS limit to 64
  firmware: arm_scmi: Move boiler plate code into the get info functions
  firmware: arm_scmi: Refactor reset domain handling
  firmware: arm_scmi: Fix uninitialized pointers with __free attr

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2026-01-21 16:22:21 +01:00
commit 34f60ff256
17 changed files with 238 additions and 282 deletions