On 09/20/2018 01:28 PM, Luca Coelho wrote: > From: Luca Coelho > > In kernel v4.19-rc1, the activate op in struct led_trigger, changed > from void to int. To solve this, add a semantic patch to insert a > wrapper function that returns void and calls the function that returns > int. > > Signed-off-by: Luca Coelho > --- > patches/led_activate.cocci | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > create mode 100644 patches/led_activate.cocci > > diff --git a/patches/led_activate.cocci b/patches/led_activate.cocci > new file mode 100644 > index 000000000000..df8211d29462 > --- /dev/null > +++ b/patches/led_activate.cocci > @@ -0,0 +1,24 @@ > +@act@ > +identifier activate_fn, p; > +identifier m =~ "rx_led|tx_led|assoc_led|radio_led|tpt_led"; > +fresh identifier activate_fn_wrap = "bp_" ## activate_fn; > +@@ > +<... > ++#if LINUX_VERSION_IS_GEQ(4,19,0) > +p->m.activate = activate_fn; > ++#else > ++p->m.activate = activate_fn_wrap; > ++#endif > +...> Please use <+--- ---+> here it improves the speed by some magnitudes. > + > +@@ > +identifier act.activate_fn; > +identifier act.activate_fn_wrap; > +@@ > +int activate_fn(...) {...} > ++#if LINUX_VERSION_IS_LESS(4,19,0) > ++static void activate_fn_wrap(struct led_classdev *led_cdev) > ++{ > ++ activate_fn(led_cdev); > ++} > ++#endif >