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

Nishanth Menon nm at ti.com
Tue Sep 29 22:38:33 PDT 2026


On 01:47-20260930, Beleswar Padhi wrote:
> 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.

Thank you for the cleanups, but lets ensure keystone_defconfig,
multi_v7_defconfig + LPAE also build and boot on keystone2 platforms.
Currently, I get:

drivers/firmware/ti/ti_sci_rm.c: In function ‘ti_sci_set_irq’:
drivers/firmware/ti/ti_sci_rm.c:225:15: error: implicit declaration of function ‘kzalloc_obj’ [-Wimplicit-function-declaration]
  225 |         irq = kzalloc_obj(*irq);
      |               ^~~~~~~~~~~
drivers/firmware/ti/ti_sci_rm.c:225:13: error: assignment to ‘struct ti_sci_irq *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  225 |         irq = kzalloc_obj(*irq);
      |             ^
drivers/firmware/ti/ti_sci_rm.c: In function ‘ti_sci_free_irq’:
drivers/firmware/ti/ti_sci_rm.c:313:25: error: implicit declaration of function ‘kfree’ [-Wimplicit-function-declaration]
  313 |                         kfree(this_irq);
      |                         ^~~~~
drivers/firmware/ti/ti_sci_rm.c: In function ‘devm_ti_sci_get_of_resource’:
drivers/firmware/ti/ti_sci_rm.c:825:21: error: implicit declaration of function ‘kcalloc’ [-Wimplicit-function-declaration]
  825 |         sub_types = kcalloc(sets, sizeof(*sub_types), GFP_KERNEL);
      |                     ^~~~~~~
drivers/firmware/ti/ti_sci_rm.c:825:19: error: assignment to ‘u32 *’ {aka ‘unsigned int *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
  825 |         sub_types = kcalloc(sets, sizeof(*sub_types), GFP_KERNEL);

with keystone_defconfig build with next-20260929.

For the next rev, it will be good to get boot logs in gist or equivalent
for all k3 and k2 platforms.

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource



More information about the linux-arm-kernel mailing list