On Tue, Oct 28, 2025 at 11:49:43PM +0800, Yang Xiwen wrote: > On 10/15/2025 6:03 AM, Tom Rini wrote: > > On Sat, Jun 21, 2025 at 06:54:17PM +0800, Yang Xiwen wrote: > > > > > Currently U-Boot clk framework mandates the sequence of registering clks > > > to begin from root, and then its children. This is an addtional > > > requirement that doesn't exist in Linux kernel, which makes clk driver > > > porting more difficult. > > > > > > Let's handle this entirely in clk framework and give driver the freedom > > > to register clocks in any order. > > > > > > This is done by assigning the parent "lazily". It will cache the parent > > > name in the core clk struct and try to refresh it when clk consumers > > > call clk_get_parent(). It's transparent to clk consumers as long as they > > > only use APIs provided by clk framework. > > > > > > I've ran `ut dm clk*` and verified these commits does not break any > > > existing testcases. Though no new testcase is added because I think > > > existing testcases already test the logic very well. > > Sorry for the very late review. When I build this on say > > rock-4c-plus-rk3399 this is the size growth I see: > > rock-4c-plus-rk3399: all +228 spl/u-boot-spl:all +500 > > spl/u-boot-spl:text +500 text +228 tpl/u-boot-tpl:all +552 > > tpl/u-boot-tpl:text +552 > > u-boot: add: 1/0, grow: 1/0 bytes: 228/0 (228) > > function old new > > delta > > device_reparent - 120 > > +120 > > clk_get_parent 56 164 > > +108 > > spl-u-boot-spl: add: 4/0, grow: 1/0 bytes: 500/0 (500) > > function old new > > delta > > uclass_find_device_by_namelen - 172 > > +172 > > device_reparent - 120 > > +120 > > clk_get_parent 56 144 > > +88 > > uclass_find_device_by_name - 68 > > +68 > > uclass_get_device_by_name - 52 > > +52 > > tpl-u-boot-tpl: add: 5/0, grow: 1/0 bytes: 552/0 (552) > > function old new > > delta > > uclass_find_device_by_namelen - 172 > > +172 > > device_reparent - 120 > > +120 > > clk_get_parent 56 144 > > +88 > > uclass_find_device_by_name - 68 > > +68 > > uclass_get_device_by_name - 52 > > +52 > > strncmp - 52 > > +52 > > > > (using buildman's 'bloat' features to report size change). I'm fine with > > the growth in U-Boot itself, but that's just too much in SPL and TPL and > > we need to figure out if we can avoid that somehow. > > > I'll make this feature optional forĀ SPL/TPL, but would still like it to be > always enabled for U-Boot itself.
Sounds reasonable, thanks! -- Tom
signature.asc
Description: PGP signature

