On Wed, 2017-12-20 at 10:59 +0100, Greg Kroah-Hartman wrote:
Why you didn't send that patch to the sysfs maintainer is a bit odd... :)
So here's an opportunity for you:
The sysfs maintainer hasn't added include/linux/sysfs.h to the list of maintained files...
DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS M: Greg Kroah-Hartman gregkh@linuxfoundation.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git S: Supported F: Documentation/kobject.txt F: drivers/base/ F: fs/debugfs/ F: fs/sysfs/ F: include/linux/debugfs.h F: include/linux/kobj* F: lib/kobj*
Heh, good point, but using get_maintainer.pl does put me at the top of the list that you should be cc:ing:
$ ./scripts/get_maintainer.pl --file include/linux/sysfs.h Greg Kroah-Hartman gregkh@linuxfoundation.org (commit_signer:3/3=100%,authored:2/3=67%,added_lines:7/8=88%) Kate Stewart kstewart@linuxfoundation.org (commit_signer:1/3=33%) Thomas Gleixner tglx@linutronix.de (commit_signer:1/3=33%) Philippe Ombredanne pombredanne@nexb.com (commit_signer:1/3=33%) Nick Desaulniers nick.desaulniers@gmail.com (commit_signer:1/3=33%,authored:1/3=33%,added_lines:1/8=12%,removed_lines:1/1=100%) linux-kernel@vger.kernel.org (open list)
The script I use to send patches adds --nogit --nogit-fallback to copy only listed maintainers because people that send cleanup patches don't generally like to get random patches.
btw: there are many uses of a reversed declaration style of DEVICE_ATTR
Here's another thing that could be done for more DEVICE_ATTR_<FOO> uses.
===
Some DEVICE_ATTR definitions use a reversed static function form from the typical. Convert them to use the more common macro form so it is easier to grep for the style.
[]
$ git grep --name-only -w DEVICE_ATTR | \ xargs perl -i dev_attr_rw_backwards.perl
Ah, nice, I love perl :
That was a bad copy/paste of the script.
The actual script for RW is:
$ cat dev_attr_rw_backwards.perl local $/; while (<>) { my $file = $_; while ($file =~ m/\bDEVICE_ATTR\s*(\s*(\w+)\s*,/g) { my $var = $1; if ($file =~ s/\bDEVICE_ATTR\s*(\s*${var}\s*,\s*(?(\s*S_IRUGO\s*|\s*S_IWUSR|\s*S_IWUSR\s*|\s*S_IRUGO\s*|\s*0644\s*))?\s*,\s*show_${var}\s*,\s*store_${var}\s*)/DEVICE_ATTR_RW(${var})/g) { $file =~ s/\bshow_${var}\b/${var}_show/g; $file =~ s/\bstore_${var}\b/${var}_store/g; } } print $file; }
There are 3 different perl scripts for rw, ro, and wo. and these scripts, because of function renaming and possible reuse of the original function names by other string concatenated macros, create some bad conversions so they need some manual cleanups too.
Perhaps coccinelle could do a better job of it, but likely string concatenation macro uses are going to be hard to deal with in any case.