timer API change from kernel 4.9 to 5.0
Hello, In timer.h of 4.9, struct timer_list contains a field data which is unsigned long. In timer.c, call_timer_fn calls the triggered function with data as parameter. As of 5.0, the field data disappears from struct timer_list and call_timer_fn is used with a struct timer_list * as parameter. Is there some info about this change somewhere ? -- Fabien
On Wed, Sep 30, 2020 at 06:34:07PM +0200, Fabien R wrote:
Hello, In timer.h of 4.9, struct timer_list contains a field data which is unsigned long. In timer.c, call_timer_fn calls the triggered function with data as parameter. As of 5.0, the field data disappears from struct timer_list and call_timer_fn is used with a struct timer_list * as parameter. Is there some info about this change somewhere ?
Yes, in the kernel changelog itself, have you looked? Try just looking at the log and changes for a specific file instead of the whole thing: git log -p path/to/a/single/file.c 4.9 -> 5.0 is a HUGE jump, many years there, you might want to go in smaller steps :) thanks, greg k-h
On Wed, 30 Sep 2020 18:34:07 +0200, Fabien R said:
Hello, In timer.h of 4.9, struct timer_list contains a field data which is unsigned long. In timer.c, call_timer_fn calls the triggered function with data as parameter. As of 5.0, the field data disappears from struct timer_list and call_timer_fn is used with a struct timer_list * as parameter. Is there some info about this change somewhere ?
[/usr/src/linux-next] git log v4.9..v5.0 -- kernel/time/timer.c and reading through finds this: commit 354b46b1a0adda1dd5b7f0bc2a5604cca091be5f Author: Kees Cook <keescook@chromium.org> Date: Sun Oct 22 19:15:40 2017 -0700 timer: Switch callback prototype to take struct timer_list * argument Since all callbacks have been converted, we can switch the core prototype to "struct timer_list *" now too. (and several other commits from Kees following that)
participants (3)
-
Fabien R -
Greg KH -
Valdis Klētnieks