[PATCH 00/22] Cleanup and Refactor TI-SCI driver

Beleswar Padhi b-padhi at ti.com
Tue Sep 29 13:17:24 PDT 2026


This series does a lot of cleanups and refactoring of the TI-SCI driver.

Patches 01-11:
The first part of the series refactors a lot of common code from each of
the TI-SCI message functions into a single place (get_one_xfer() and
do_xfer()). Result is removal of net ~740 lines (~20% of the whole driver
size) without changing functionality.

Patches 12-15:
The second part of the series does some preparatory work for being able
to break down the single large TI-SCI file into smaller files.

Patches 16-22:
The third and final part of the series breaks down the single large
ti_sci.c file into smaller logical files: ti_sci core, device, clock,
pm, rm, and proc. This allows for better readability and maintenance.

Note:
Since the [PATCH 10/22] (first part of the cleanup) now passes local
stack values as part of request, the following[0] patch series
in the underlying mbox layer is ideally needed. It is better for those
patches to be picked to avoid any KASAN warnings and possible duplicate
message resends.
[0]: https://lore.kernel.org/all/20260929200159.4033010-1-b-padhi@ti.com

Testing Done:
 - Boot tested on TI K3 J784S4 EVM.
 - Tested some of the Core, Device, Clock, and Proc ops with remoteproc
 - Tested each patch for no new warnings or errors.

Thanks,
Beleswar

Andrew Davis (18):
  firmware: ti_sci: Move error message handling into
    ti_sci_get_one_xfer()
  firmware: ti_sci: Move error message handling into ti_sci_do_xfer()
  firmware: ti_sci: Move check for ACK into ti_sci_do_xfer()
  firmware: ti_sci: Remove out of place RM debug messages
  firmware: ti_sci: Name response variable resp for consistency
  firmware: ti_sci: Handle xfer cleanup inside ti_sci_do_xfer()
  firmware: ti_sci: Pass request struct into ti_sci_do_xfer()
  firmware: ti_sci: Combine xfer allocation and transfer functions
  firmware: ti_sci: Fetch info struct from handle inside
    ti_sci_do_xfer()
  firmware: ti_sci: Use tx_message as message buffer directly
  firmware: ti_sci: Use rx_message as message receive buffer
  firmware: ti_sci: Do not export reboot control
  firmware: ti_sci: Move the huge ti_sci file into its own directory
  firmware: ti: ti_sci: Add missing includes for self-contained headers
  firmware: ti: ti_sci_device: Move device ops into its own file
  firmware: ti: ti_sci_clock: Move clock ops into its own file
  firmware: ti: ti_sci_pm: Move pm ops into its own file
  firmware: ti: ti_sci_rm: Move rm ops into its own file

Beleswar Padhi (4):
  firmware: ti_sci: Fix some kernel-doc references in structs
  soc: ti: ti_sci_protocol.h: Add missing documentation for structs
  firmware: ti_sci: Use pmops fxn pointers in suspend/resume hooks
  firmware: ti: ti_sci_proc: Move processor ops into its own file

 MAINTAINERS                            |    2 +-
 drivers/firmware/Kconfig               |   17 +-
 drivers/firmware/Makefile              |    2 +-
 drivers/firmware/ti/Kconfig            |   17 +
 drivers/firmware/ti/Makefile           |    9 +
 drivers/firmware/{ => ti}/ti_sci.h     |  258 +-
 drivers/firmware/ti/ti_sci_clock.c     |  553 +++
 drivers/firmware/ti/ti_sci_core.c      | 1320 ++++++++
 drivers/firmware/ti/ti_sci_device.c    |  388 +++
 drivers/firmware/ti/ti_sci_pm.c        |  145 +
 drivers/firmware/ti/ti_sci_proc.c      |  214 ++
 drivers/firmware/ti/ti_sci_rm.c        |  907 +++++
 drivers/firmware/ti_sci.c              | 4259 ------------------------
 include/linux/soc/ti/ti_sci_protocol.h |  389 ++-
 14 files changed, 4118 insertions(+), 4362 deletions(-)
 create mode 100644 drivers/firmware/ti/Kconfig
 create mode 100644 drivers/firmware/ti/Makefile
 rename drivers/firmware/{ => ti}/ti_sci.h (89%)
 create mode 100644 drivers/firmware/ti/ti_sci_clock.c
 create mode 100644 drivers/firmware/ti/ti_sci_core.c
 create mode 100644 drivers/firmware/ti/ti_sci_device.c
 create mode 100644 drivers/firmware/ti/ti_sci_pm.c
 create mode 100644 drivers/firmware/ti/ti_sci_proc.c
 create mode 100644 drivers/firmware/ti/ti_sci_rm.c
 delete mode 100644 drivers/firmware/ti_sci.c

-- 
2.34.1




More information about the linux-arm-kernel mailing list