在2024年5月27日五月 下午5:32,Jiaxun Yang写道: > 在2024年5月27日五月 下午4:51,Thomas Gleixner写道: >> Jiaxun! >> > Hi Thomas, > [...] >> >> What's this indirection for? Why dont you update > [...] >> >>> +static struct clocksource nodecnt_clocksource = { >>> + .name = "nodecnt", >>> + .read = nodecnt_clocksource_read, >> >> the read function pointer here and spare the indirection? > Smart! sched_clock takes slightly different function pointer argument type > but as we don't use the argument anyway, it should be safe to relax this > indirection. Sadly, I'm unable to remove it with force type catsing :-/ drivers/clocksource/loongson-nodecnt.c: In function ‘nodecnt_clocksource_init’: drivers/clocksource/loongson-nodecnt.c:89:36: warning: cast between incompatible function types from ‘u64 (*)(void)’ {aka ‘long long unsigned int (*)(void)’} to ‘u64 (*)(struct clocksource *)’ {aka ‘long long unsigned int (*)(struct clocksource *)’} [-Wcast-function-type] 89 | nodecnt_clocksource.read = (u64 (*)(struct clocksource *))nodecnt_read_fn; I'll leave it here. Thanks > > Will fix in v3. > > Thanks >> >> Thanks >> >> tglx > > -- > - Jiaxun -- - Jiaxun