timer_setup() conversion[1] status update: As of this -next tree, there are (at least) 243 "non trivial" conversions staged (with a matching subject of ": Convert timers to use timer_setup"), producing: 723 files changed, 3390 insertions(+), 3927 deletions(-) There are 24 outstanding non-trivial conversions (some are in-flight in various trees and haven't appeared in -next yet, others have multi-tree dependencies and will likely land in late -rc1). Combined with the trivial treewide conversions it produces: 404 files changed, 1446 insertions(+), 1914 deletions(-) After that, all 1118 timer_setup() callsites will be finished. My tree, based on next-20171106, is here: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=kspp/timer/next/20171106/conversions Notes and break-down of patch statuses: # in-flight (tip/timers/core) ARM: footbridge: Fix typo in timer conversion crypto: Convert timers to use timer_setup() block/aoe: discover_timer: Convert timers to use timer_setup() ide: Convert timers to use timer_setup() drbd: Convert timers to use timer_setup() mailbox: Convert timers to use timer_setup() # in-flight (s390) s390: qdio: Convert timers to use timer_setup() s390/sclp: Convert timers to use timer_setup() s390/cio: Convert timers to use timer_setup() s390/scsi: Convert timers to use timer_setup() s390/ap_bus: Convert timers to use timer_setup() # in-flight (greg) staging: greybus: Convert timers to use timer_setup() # in-flight (other trees) netfilter: ipvs: Convert timers to use timer_setup() drivers/wireless: iwlwifi/mvm: Convert timers to use timer_setup() # waiting for commit to tree (intel?) intel_ips: Convert timers to use timer_setup() # collected for tip/timers/core (part 5) scsi: qla2xxx: Convert timers to use timer_setup() # late rc1 (through tip/timers/core, depends on other trees) drm/vc4: Convert timers to use timer_setup() video: fbdev: Convert timers to use timer_setup() block/laptop_mode: Convert timers to use timer_setup() usb: usbatm: Convert timers to use timer_setup() drm/i915/selftests: Convert timers to use timer_setup() lightnvm: Convert timers to use timer_setup() drivers/firmware: psci: Convert timers to use timer_setup() timer: Prepare to change all DEFINE_TIMER() callbacks treewide: Switch DEFINE_TIMER callbacks to struct timer_list * net/atm/mpc: Avoid open-coded assignment of timer callback function s390: cmm: Convert timers to use timer_setup() drivers/net: cris: Convert timers to use timer_setup() # late rc1 (through tip/timers/core or scripted by linus, tree-wide changes) treewide: init_timer() -> setup_timer() treewide: setup_timer() -> timer_setup() treewide: setup_timer() -> timer_setup() (2 field) # late rc1 (through tip/timers/core, API removal and clean up) timer: Remove init_timer() interface timer: Remove setup_*timer() interface Coccinelle: Remove setup_timer.cocci timer: Pass timer_list pointer to callbacks unconditionally timer: Switch callback prototype to take struct timer_list * argument timer: Remove unused data arguments from macros timer: Pass function down to initialization routines timer: Remove redundant __setup_timer*() macros treewide: Remove TIMER_FUNC_TYPE cast Thanks to everyone who has suffered through this with me. So close. :) -Kees [1] https://git.kernel.org/linus/686fef928bba6be13cabe639f154af7d72b63120 -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html