On Thu, 2022-05-12 at 12:55 -0700, Guenter Roeck wrote: > The HWMON_CHANNEL_INFO macro simplifies the code, reduces the likelihood > of errors, and makes the code easier to read. > > The conversion was done automatically with coccinelle. The semantic patch > used to make this change is as follows. > > @s@ > identifier i,j,ty; > @@ > > -struct hwmon_channel_info j = { > - .type = ty, > - .config = i, > -}; > > @r@ > initializer list elements; > identifier s.i; > @@ > > -u32 i[] = { > - elements, > - 0 > -}; > > @script:ocaml t@ > ty << s.ty; > elements << r.elements; > shorter; > elems; > @@ > > shorter := > make_ident (List.hd(List.rev (Str.split (Str.regexp "_") ty))); > elems := > make_ident > (String.concat "," > (List.map (fun x -> Printf.sprintf "\n\t\t\t %s" x) > (Str.split (Str.regexp " , ") elements))) > > @@ > identifier s.j,t.shorter; > identifier t.elems; > @@ > > - &j > + HWMON_CHANNEL_INFO(shorter,elems) > > This patch does not introduce functional changes. Many thanks to > Julia Lawall for providing the coccinelle script. > > Cc: Iwona Winiarska <iwona.winiarska@xxxxxxxxx> > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Iwona Winiarska <iwona.winiarska@xxxxxxxxx> Thanks -Iwona > --- > drivers/hwmon/peci/cputemp.c | 38 +++++++++++++++--------------------- > 1 file changed, 16 insertions(+), 22 deletions(-) >