From: Jakub Kicinski Date: Tue, 2 Feb 2021 23:51:21 +0000 (-0800) Subject: Merge branch 'drivers-net-update-tasklet_init-callers' X-Git-Tag: v5.12-rc1~200^2~186 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c96b0a39705177eeef60246d084874936bf0b0e0;p=thirdparty%2Fkernel%2Flinux.git Merge branch 'drivers-net-update-tasklet_init-callers' Emil Renner Berthing says: ==================== drivers: net: update tasklet_init callers This updates the remaining callers of tasklet_init() in drivers/net to the new API introduced in commit 12cc923f1ccc ("tasklet: Introduce new initialization API") All changes are done by coccinelle using the following semantic patch. Coccinelle needs a little help parsing drivers/net/arcnet/arcnet.c @ match @ type T; T *container; identifier tasklet; identifier callback; @@ tasklet_init(&container->tasklet, callback, (unsigned long)container); @ patch1 depends on match @ type match.T; identifier match.tasklet; identifier match.callback; identifier data; identifier container; @@ -void callback(unsigned long data) +void callback(struct tasklet_struct *t) { ... - T *container = (T *)data; + T *container = from_tasklet(container, t, tasklet); ... } @ patch2 depends on match @ type match.T; identifier match.tasklet; identifier match.callback; identifier data; identifier container; @@ -void callback(unsigned long data) +void callback(struct tasklet_struct *t) { ... - T *container; + T *container = from_tasklet(container, t, tasklet); ... - container = (T *)data; ... } @ depends on (patch1 || patch2) @ match.T *container; identifier match.tasklet; identifier match.callback; @@ - tasklet_init(&container->tasklet, callback, (unsigned long)container); + tasklet_setup(&container->tasklet, callback); ==================== Link: https://lore.kernel.org/r/20210130234730.26565-1-kernel@esmil.dk Signed-off-by: Jakub Kicinski --- c96b0a39705177eeef60246d084874936bf0b0e0