On Tue, Oct 01, 2019 at 07:47:52PM +0200, Romain Perier wrote: > => So, one commit per driver for preparing the data structure to > own a sub "struct tasklet_struct" + tasklet_init() -> > tasklet_setup() with use of "from_tasklet" in the same commit. > Right ? > > For example: > the commit "[PRE-REVIEW PATCH 03/16] mmc: > renesas_sdhi: Prepare to use the new tasklet API" > > would contain changes for preparing the driver to use a > "struct tasklet_struct" correctly + convert the driver to > the new API (tasklet_init() -> tasklet_setup()) > > Same for commit "[PRE-REVIEW PATCH 04/16] net: liquidio: Prepare > to use the new tasklet API". > > This is what you had in mind ? Right -- the commit would be complete from a "touch-once" perspective. The one commit completely swaps to the new API and nothing will ever have to poke this file again. (The exception being any explicit casts that might be rarely needed for weird direct initialization, etc: most patches should be entirely self-contained, though they depend on the new API from patch #1.) > > 3) Convert DECLARE_TASKLET() users to the same > > Yeah, this is what you explain in reply to "[PRE-REVIEW PATCH 12/16] > tasklet: Pass tasklet_struct pointer as .data in DECLARE_TASKLET", right > ? Right -- after all the other stuff, do the the DECLARE_TASKLET changes, with a final mechanical patch that drops the unused .data argument from all the users. This is all a normally thankless set of patches, so I'll go out of my way to say again: thank you for working on this! I know how tedious it can be from when I did timer_struct. :) -- Kees Cook