Re: [PATCH] scripts: Add device_attr_<rw|ro|wr>.pl scripts to convert DEVICE_ATTR uses

From: Greg Kroah-Hartman
Date: Sat Dec 23 2017 - 09:19:36 EST


On Fri, Dec 22, 2017 at 12:02:47PM -0800, Joe Perches wrote:
> There are many uses of the DEVICE_ATTR(var, perms, show, store)
> declaration macro that could use one of the convenience macros
> DEVICE_ATTR_RW, DEVICE_ATTR_RO, or DEVICE_ATTR_WO.
>
> These scripts automate those conversions.
>
> Many declarations of functions used to show or store the values
> do not use the <var>_show and <var>_store form. These scripts
> also check to see if the normal form is unused in the file, that
> the currently named functions are static and only used as the
> function definition and the macro declaration and convert the
> unusual function name to the more normal style.
>
> Use these scripts with a list of files to be converted.
>
> e.g.: git ls-files -- "*.c" | xargs perl -i scripts/device_attr_rw.pl
>
> Here are the current uses of DEVICE_ATTR macros in next-20171222
>
> $ git grep -w -P "DEVICE_ATTR(_RW|_RO|_WO|)" -- "*.c" | wc -l
> 3393
> $ git grep -w -P "DEVICE_ATTR" -- "*.c" | wc -l
> 2052
> $ git grep -w -P "DEVICE_ATTR_RW" -- "*.c" | wc -l
> 456
> $ git grep -w -P "DEVICE_ATTR_RO" -- "*.c" | wc -l
> 821
> $ git grep -w -P "DEVICE_ATTR_WO" -- "*.c" | wc -l
> 64
>
> If these scripts on run on that tag, there are 1490 conversions done
>
> $ git grep -w --name-only DEVICE_ATTR -- "*.c" | \
> xargs perl -i scripts/device_attr_rw.pl
> $ git grep -w --name-only DEVICE_ATTR -- "*.c" | \
> xargs perl -i scripts/device_attr_ro.pl
> $ git grep -w --name-only DEVICE_ATTR -- "*.c" | \
> xargs perl -i scripts/device_attr_wo.pl
>
> $ git grep -w -P "DEVICE_ATTR(_RW|_RO|_WO|)" -- "*.c" | wc -l
> 3393
> $ git grep -w -P "DEVICE_ATTR" -- "*.c" | wc -l
> 562
> $ git grep -w -P "DEVICE_ATTR_RW" -- "*.c" | wc -l
> 924
> $ git grep -w -P "DEVICE_ATTR_RO" -- "*.c" | wc -l
> 1727
> $ git grep -w -P "DEVICE_ATTR_WO" -- "*.c" | wc -l
> 180
>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
>
> 1727
> ith '#' will be ignored, and an empty message aborts the commit.
> ---
> scripts/device_attr_ro.pl | 57 ++++++++++++++++++++++++++++++++++++++++
> scripts/device_attr_rw.pl | 66 +++++++++++++++++++++++++++++++++++++++++++++++
> scripts/device_attr_wo.pl | 57 ++++++++++++++++++++++++++++++++++++++++

We should just fix up all in-kernel users, no need to put the scripts in
the kernel source tree, right?

thanks,

greg k-h