Re: [PATCH 00/22] Cleanup and Refactor TI-SCI driver
From: Nishanth Menon
Date: Wed Sep 30 2026 - 01:39:28 EST
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@xxxxxx
>
> 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