On Fri, 2015-09-18 at 08:00 -0500, Pierre-Louis Bossart wrote: > > This was a first-order ugly backport to revert to what existed > before. Fair enough. > I have no idea what an spatch is, A semantic patch (coccinelle) > if there is an example of such a > 'suitable data structure manipulation' I am all ears. I don't have an example, but imagine you have this: old code: my_read_data(struct my *my, void *out_buf, int len) new code: my_read_data_sg(struct my *my, struct scatterlist *sg) Then on old kernels you could do backport_my_read_data(struct my *my, void *out_buf, int len) { struct scatterlist sg; struct sg_ent ent; sg.nents = 1; sg.ents = &ent; ent.data = out_buf; ent.len = len; my_read_data_sg(&my, &sg); } (this absolutely won't compile, just to illustrate the idea) That basically reduces the old function pointer to the new one with static code inbetween, and then that can be embedded in an spatch that automatically adds the wrapper where needed. johannes -- To unsubscribe from this list: send the line "unsubscribe backports" in