From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: Re: [-next PATCH 2/4] treewide: Use DEVICE_ATTR_RW Date: Wed, 20 Dec 2017 10:59:26 +0100 Message-ID: <20171220095926.GA24285@kroah.com> References: <20171220083403.GA27231@bitmer.com> <1513761884.1234.83.camel@perches.com> <20171220093211.GA16177@kroah.com> <1513763681.1234.101.camel@perches.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1513763681.1234.101.camel@perches.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joe Perches Cc: linux-fbdev@vger.kernel.org, David Airlie , Heiko Carstens , alsa-devel@alsa-project.org, dri-devel@lists.freedesktop.org, Jaroslav Kysela , Peter Ujfalusi , linux-s390@vger.kernel.org, linux-omap@vger.kernel.org, "James E.J. Bottomley" , linux-scsi@vger.kernel.org, Takashi Iwai , Sebastian Ott , James Smart , Cezary Jackiewicz , linux-serial@vger.kernel.org, Jiri Slaby , Darren Hart , Zhang Rui , Dick Kennedy , Mathias Nyman , Bartlomiej Zolnierkiewicz , Peter Oberparleiter , intel-gfx@lists.freedesktop List-Id: alsa-devel@alsa-project.org T24gV2VkLCBEZWMgMjAsIDIwMTcgYXQgMDE6NTQ6NDFBTSAtMDgwMCwgSm9lIFBlcmNoZXMgd3Jv dGU6Cj4gT24gV2VkLCAyMDE3LTEyLTIwIGF0IDEwOjMyICswMTAwLCBHcmVnIEtyb2FoLUhhcnRt YW4gd3JvdGU6Cj4gPiBPbiBXZWQsIERlYyAyMCwgMjAxNyBhdCAwMToyNDo0NEFNIC0wODAwLCBK b2UgUGVyY2hlcyB3cm90ZToKPiA+ID4gT24gV2VkLCAyMDE3LTEyLTIwIGF0IDEwOjM0ICswMjAw LCBKYXJra28gTmlrdWxhIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgRGVjIDE5LCAyMDE3IGF0IDEw OjE1OjA3QU0gLTA4MDAsIEpvZSBQZXJjaGVzIHdyb3RlOgo+ID4gPiA+ID4gQ29udmVydCBERVZJ Q0VfQVRUUiB1c2VzIHRvIERFVklDRV9BVFRSX1JXIHdoZXJlIHBvc3NpYmxlLgo+ID4gPiAKPiA+ ID4gW10gCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvbWNic3AuYyBiL3Nv dW5kL3NvYy9vbWFwL21jYnNwLmMKPiA+ID4gCj4gPiA+IFtdCj4gPiA+ID4gPiBAQCAtODU0LDcg Kzg1NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGRtYV9vcF9tb2RlX3N0b3JlKHN0cnVjdCBkZXZpY2Ug KmRldiwKPiA+ID4gPiA+ICAJcmV0dXJuIHNpemU7Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ ID4gPiA+ID4gLXN0YXRpYyBERVZJQ0VfQVRUUihkbWFfb3BfbW9kZSwgMDY0NCwgZG1hX29wX21v ZGVfc2hvdywgZG1hX29wX21vZGVfc3RvcmUpOwo+ID4gPiA+ID4gK3N0YXRpYyBERVZJQ0VfQVRU Ul9SVyhkbWFfb3BfbW9kZSk7Cj4gPiA+ID4gPiAgCj4gPiA+ID4gCj4gPiA+ID4gV2hpbGUgSSBj YW4gYWNrIHRoaXMgcGFydCBoZXJlIGlmIGl0IGhlbHBzIGdlbmVyaWMgY2xlYW51cCBlZmZvcnQg SQo+ID4gPiA+IGRvbid0IHVuZGVyc3RhcnQgd291bGQgaXQgaW1wcm92ZSBjb2RlIHJlYWRhYmls aXR5IGluIGdlbmVyYWw/IE1vZGUgNjQ0Cj4gPiA+ID4gaXMgY2xlYXIgYW5kIGRvbid0IG5lZWQg YW55IGdyZXBwaW5nIGJ1dCBmb3IgREVWSUNFX0FUVFJfUlcoKSBJIGhhZCB0byBnbwo+ID4gPiA+ IHRocm91Z2ggYWxsIG9mIHRoZXNlIGZpbGVzIGluIG9yZGVyIHRvIHNlZSB3aGF0IGRvZXMgaXQg bWVhbjoKPiA+IAo+ID4gWWVhaCwgNjQ0IGlzICJjbGVhciIsIGJ1dCBfUlcoKSBpcyBldmVuIG1v cmUgY2xlYXIuICBJZGVhbGx5IEkgd2FudCB0bwo+ID4gZ2V0IHJpZCBvZiBhbGwgb2YgdGhlICJu b24tc3RhbmRhcmQiIHVzZXJzIHRoYXQgc2V0IHJhbmRvbSBtb2RlcyBvZgo+ID4gc3lzZnMgZmls ZXMsIGFzIHdlIGdldCBpdCB3cm9uZyB0b28gbWFueSB0aW1lcy4gIFVzaW5nIHRoZSAiZGVmYXVs dHMiIGlzCj4gPiBtdWNoIGJldHRlci4KPiA+IAo+ID4gPiBBcmUgeW91IHN1Z2dlc3RpbmcgdGhh dCBkZXZpY2UuaCAoYXMgdGhhdCBpcyB3aGVyZQo+ID4gPiBERVZJQ0VfQVRUUiBhbmQgdGhlIG90 aGVyIERFVklDRV9BVFRSXzxGT08+IHZhcmlhbnRzCj4gPiA+IGFyZSAjZGVmaW5lZCkgc2hvdWxk IGhhdmUgYmV0dGVyIGNvbW1lbnRzIGZvciB0aGUKPiA+ID4gXzxGT08+IHZhcmlhbnRzPwo+ID4g PiAKPiA+ID4gPiBERVZJQ0VfQVRUUl9SVzogaW5jbHVkZS9saW51eC9kZXZpY2UuaAo+ID4gPiA+ IF9fQVRUUl9SVzogaW5jbHVkZS9saW51eC9zeXNmcy5oCj4gPiA+ID4gU19JV1VTUjogaW5jbHVk ZS91YXBpL2xpbnV4L3N0YXQuaAo+ID4gPiA+IFNfSVJVR086IGluY2x1ZGUvbGludXgvc3RhdC5o Cj4gPiA+IAo+ID4gPiBidHc6IHBhdGNoIDEvNCBvZiB0aGUgc2VyaWVzIGRvZXMgcmVtb3ZlIHRo ZSB1c2VzIG9mCj4gPiA+IFNfPFBFUk1TPiBmcm9tIHRoZXNlIG1hY3JvcyBpbiBzeXNmcy5oIGFu ZCBjb252ZXJ0cwo+ID4gPiB0aGVtIHRvIHNpbXBsZSBvY3RhbCBpbnN0ZWFkLgo+ID4gCj4gPiBX aHkgeW91IGRpZG4ndCBzZW5kIHRoYXQgcGF0Y2ggdG8gdGhlIHN5c2ZzIG1haW50YWluZXIgaXMg YSBiaXQgb2RkLi4uICA6KQo+IAo+IFNvIGhlcmUncyBhbiBvcHBvcnR1bml0eSBmb3IgeW91Ogo+ IAo+IFRoZSBzeXNmcyBtYWludGFpbmVyIGhhc24ndCBhZGRlZCBpbmNsdWRlL2xpbnV4L3N5c2Zz LmggdG8KPiB0aGUgbGlzdCBvZiBtYWludGFpbmVkIGZpbGVzLi4uCj4gCj4gRFJJVkVSIENPUkUs IEtPQkpFQ1RTLCBERUJVR0ZTIEFORCBTWVNGUwo+IE06CUdyZWcgS3JvYWgtSGFydG1hbiA8Z3Jl Z2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Cj4gVDoJZ2l0IGdpdDovL2dpdC5rZXJuZWwub3JnL3B1 Yi9zY20vbGludXgva2VybmVsL2dpdC9ncmVna2gvZHJpdmVyLWNvcmUuZ2l0Cj4gUzoJU3VwcG9y dGVkCj4gRjoJRG9jdW1lbnRhdGlvbi9rb2JqZWN0LnR4dAo+IEY6CWRyaXZlcnMvYmFzZS8KPiBG Oglmcy9kZWJ1Z2ZzLwo+IEY6CWZzL3N5c2ZzLwo+IEY6CWluY2x1ZGUvbGludXgvZGVidWdmcy5o Cj4gRjoJaW5jbHVkZS9saW51eC9rb2JqKgo+IEY6CWxpYi9rb2JqKgoKSGVoLCBnb29kIHBvaW50 LCBidXQgdXNpbmcgZ2V0X21haW50YWluZXIucGwgZG9lcyBwdXQgbWUgYXQgdGhlIHRvcCBvZgp0 aGUgbGlzdCB0aGF0IHlvdSBzaG91bGQgYmUgY2M6aW5nOgoKJCAuL3NjcmlwdHMvZ2V0X21haW50 YWluZXIucGwgLS1maWxlIGluY2x1ZGUvbGludXgvc3lzZnMuaApHcmVnIEtyb2FoLUhhcnRtYW4g PGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPiAoY29tbWl0X3NpZ25lcjozLzM9MTAwJSxhdXRo b3JlZDoyLzM9NjclLGFkZGVkX2xpbmVzOjcvOD04OCUpCkthdGUgU3Rld2FydCA8a3N0ZXdhcnRA bGludXhmb3VuZGF0aW9uLm9yZz4gKGNvbW1pdF9zaWduZXI6MS8zPTMzJSkKVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+IChjb21taXRfc2lnbmVyOjEvMz0zMyUpClBoaWxpcHBl IE9tYnJlZGFubmUgPHBvbWJyZWRhbm5lQG5leGIuY29tPiAoY29tbWl0X3NpZ25lcjoxLzM9MzMl KQpOaWNrIERlc2F1bG5pZXJzIDxuaWNrLmRlc2F1bG5pZXJzQGdtYWlsLmNvbT4gKGNvbW1pdF9z aWduZXI6MS8zPTMzJSxhdXRob3JlZDoxLzM9MzMlLGFkZGVkX2xpbmVzOjEvOD0xMiUscmVtb3Zl ZF9saW5lczoxLzE9MTAwJSkKbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZyAob3BlbiBsaXN0 KQoKQW55d2F5LCBJJ2xsIGdvIGFkZCBzeXNmcy5oIHRvIHRoZSBsaXN0LCB0aGFua3MgZm9yIHBv aW50aW5nIGl0IG91dC4KCj4gPiBJIHNob3VsZCBiZSB0YWtpbmcgdGhpcyB3aG9sZSBzZXJpZXMg dGhyb3VnaCBteSB0cmVlLiAgSm9lLCB0aGFua3MgZm9yCj4gPiBkb2luZyB0aGlzIGluIGFuIGF1 dG9tYXRlZCB3YXksIEkndmUgYmVlbiB3YW50aW5nIHRvIHNlZSB0aGlzIGRvbmUgZm9yIGEKPiA+ IGxvbmcgdGltZS4KPiAKPiBidHc6IHRoZXJlIGFyZSBtYW55IHVzZXMgb2YgYSByZXZlcnNlZCBk ZWNsYXJhdGlvbiBzdHlsZSBvZiBERVZJQ0VfQVRUUgo+IAo+IEhlcmUncyBhbm90aGVyIHRoaW5n IHRoYXQgY291bGQgYmUgZG9uZSBmb3IgbW9yZSBERVZJQ0VfQVRUUl88Rk9PPiB1c2VzLgo+IAo+ ID09PQo+IAo+IFNvbWUgREVWSUNFX0FUVFIgZGVmaW5pdGlvbnMgdXNlIGEgcmV2ZXJzZWQgc3Rh dGljIGZ1bmN0aW9uIGZvcm0gZnJvbQo+IHRoZSB0eXBpY2FsLiAgQ29udmVydCB0aGVtIHRvIHVz ZSB0aGUgbW9yZSBjb21tb24gbWFjcm8gZm9ybSBzbyBpdCBpcwo+IGVhc2llciB0byBncmVwIGZv ciB0aGUgc3R5bGUuCj4gCj4gaS5lLjoKPiAgICAgICAgIHN0YXRpYyBzc2l6ZV90IHNob3dfPGZv bz4oLi4uKQo+IGFuZAo+ICAgICAgICAgc3RhdGljIHNzaXplX3Qgc3RvcmVfPGZvbz4oLi4uKQo+ IAo+IHdoZXJlIHRoZSBzdGF0aWMgZnVuY3Rpb24gbmFtZXMgaW4gdGhlIERFVklDRV9BVFRSX1JX IG1hY3JvIGFyZSByZXZlcnNlZAo+IAo+ICAgICAgICAgc3RhdGljIHNzaXplX3QgPGZvbz5fc2hv dyguLi4pCj4gYW5kCj4gICAgICAgICBzdGF0aWMgc3NpemVfdCA8Zm9vPl9zdG9yZSguLi4pCj4g Cj4gRG9uZSB3aXRoIHBlcmwgc2NyaXB0Cj4gCj4gJCBjYXQgZGV2X2F0dHJfcndfYmFja3dhcmRz LnBlcmwKPiBsb2NhbCAkLzsKPiB3aGlsZSAoPD4pIHsKPiAgICAgbXkgJGZpbGUgPSAkXzsKPiAg ICAgd2hpbGUgKCRmaWxlID1+IG0vXGJERVZJQ0VfQVRUUlxzKlwoXHMqKFx3KylccyosL2cpIHsK PiAgICAgICAgIG15ICR2YXIgPSAkMTsKPiAgICAgICAgIGlmICgkZmlsZSA9fiBzL1xiREVWSUNF X0FUVFJccypcKFxzKiR7dmFyfVxzKixccypcKD8oXHMqU19JUlVHT1xzKlx8XHMqUwo+ICAgICAg ICAgICAgICRmaWxlID1+IHMvXGJzaG93XyR7dmFyfVxiLyR7dmFyfV9zaG93L2c7Cj4gICAgICAg ICAgICAgJGZpbGUgPX4gcy9cYnN0b3JlXyR7dmFyfVxiLyR7dmFyfV9zdG9yZS9nOwo+ICAgICAg ICAgfQo+ICAgICB9Cj4gICAgIHByaW50ICRmaWxlOwo+IH0KPiAKPiAkIGdpdCBncmVwIC0tbmFt ZS1vbmx5IC13IERFVklDRV9BVFRSIHwgXAo+ICAgeGFyZ3MgcGVybCAtaSBkZXZfYXR0cl9yd19i YWNrd2FyZHMucGVybAo+IAoKQWgsIG5pY2UsIEkgbG92ZSBwZXJsIDopCgpncmVnIGstaApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Date: Wed, 20 Dec 2017 09:59:26 +0000 Subject: Re: [-next PATCH 2/4] treewide: Use DEVICE_ATTR_RW Message-Id: <20171220095926.GA24285@kroah.com> List-Id: References: <20171220083403.GA27231@bitmer.com> <1513761884.1234.83.camel@perches.com> <20171220093211.GA16177@kroah.com> <1513763681.1234.101.camel@perches.com> In-Reply-To: <1513763681.1234.101.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable To: Joe Perches Cc: linux-fbdev@vger.kernel.org, David Airlie , Heiko Carstens , alsa-devel@alsa-project.org, dri-devel@lists.freedesktop.org, Jaroslav Kysela , Peter Ujfalusi , linux-s390@vger.kernel.org, linux-omap@vger.kernel.org, "James E.J. Bottomley" , linux-scsi@vger.kernel.org, Takashi Iwai , Sebastian Ott , James Smart , Cezary Jackiewicz , linux-serial@vger.kernel.org, Jiri Slaby , Darren Hart , Zhang Rui , Dick Kennedy , Mathias Nyman , Bartlomiej Zolnierkiewicz , Peter Oberparleiter , intel-gfx@lists.freedesktop On Wed, Dec 20, 2017 at 01:54:41AM -0800, Joe Perches wrote: > On Wed, 2017-12-20 at 10:32 +0100, Greg Kroah-Hartman wrote: > > On Wed, Dec 20, 2017 at 01:24:44AM -0800, Joe Perches wrote: > > > On Wed, 2017-12-20 at 10:34 +0200, Jarkko Nikula wrote: > > > > On Tue, Dec 19, 2017 at 10:15:07AM -0800, Joe Perches wrote: > > > > > Convert DEVICE_ATTR uses to DEVICE_ATTR_RW where possible. > > >=20 > > > []=20 > > > > > diff --git a/sound/soc/omap/mcbsp.c b/sound/soc/omap/mcbsp.c > > >=20 > > > [] > > > > > @@ -854,7 +854,7 @@ static ssize_t dma_op_mode_store(struct devic= e *dev, > > > > > return size; > > > > > } > > > > > =20 > > > > > -static DEVICE_ATTR(dma_op_mode, 0644, dma_op_mode_show, dma_op_m= ode_store); > > > > > +static DEVICE_ATTR_RW(dma_op_mode); > > > > > =20 > > > >=20 > > > > While I can ack this part here if it helps generic cleanup effort I > > > > don't understart would it improve code readability in general? Mode= 644 > > > > is clear and don't need any grepping but for DEVICE_ATTR_RW() I had= to go > > > > through all of these files in order to see what does it mean: > >=20 > > Yeah, 644 is "clear", but _RW() is even more clear. Ideally I want to > > get rid of all of the "non-standard" users that set random modes of > > sysfs files, as we get it wrong too many times. Using the "defaults" is > > much better. > >=20 > > > Are you suggesting that device.h (as that is where > > > DEVICE_ATTR and the other DEVICE_ATTR_ variants > > > are #defined) should have better comments for the > > > _ variants? > > >=20 > > > > DEVICE_ATTR_RW: include/linux/device.h > > > > __ATTR_RW: include/linux/sysfs.h > > > > S_IWUSR: include/uapi/linux/stat.h > > > > S_IRUGO: include/linux/stat.h > > >=20 > > > btw: patch 1/4 of the series does remove the uses of > > > S_ from these macros in sysfs.h and converts > > > them to simple octal instead. > >=20 > > Why you didn't send that patch to the sysfs maintainer is a bit odd... = :) >=20 > So here's an opportunity for you: >=20 > The sysfs maintainer hasn't added include/linux/sysfs.h to > the list of maintained files... >=20 > DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS > M: Greg Kroah-Hartman > T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.g= it > 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 (commit_signer:3/3=100%,aut= hored:2/3g%,added_lines:7/8=88%) Kate Stewart (commit_signer:1/33%) Thomas Gleixner (commit_signer:1/33%) Philippe Ombredanne (commit_signer:1/33%) Nick Desaulniers (commit_signer:1/33%,authored= :1/33%,added_lines:1/8=12%,removed_lines:1/1=100%) linux-kernel@vger.kernel.org (open list) Anyway, I'll go add sysfs.h to the list, thanks for pointing it out. > > I should be taking this whole series through my tree. Joe, thanks for > > doing this in an automated way, I've been wanting to see this done for a > > long time. >=20 > btw: there are many uses of a reversed declaration style of DEVICE_ATTR >=20 > Here's another thing that could be done for more DEVICE_ATTR_ uses. >=20 > =3D>=20 > 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. >=20 > i.e.: > static ssize_t show_(...) > and > static ssize_t store_(...) >=20 > where the static function names in the DEVICE_ATTR_RW macro are reversed >=20 > static ssize_t _show(...) > and > static ssize_t _store(...) >=20 > Done with perl script >=20 > $ cat dev_attr_rw_backwards.perl > local $/; > while (<>) { > my $file =3D $_; > while ($file =3D~ m/\bDEVICE_ATTR\s*\(\s*(\w+)\s*,/g) { > my $var =3D $1; > if ($file =3D~ s/\bDEVICE_ATTR\s*\(\s*${var}\s*,\s*\(?(\s*S_IRUGO= \s*\|\s*S > $file =3D~ s/\bshow_${var}\b/${var}_show/g; > $file =3D~ s/\bstore_${var}\b/${var}_store/g; > } > } > print $file; > } >=20 > $ git grep --name-only -w DEVICE_ATTR | \ > xargs perl -i dev_attr_rw_backwards.perl >=20 Ah, nice, I love perl :) greg k-h From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [-next,2/4] treewide: Use DEVICE_ATTR_RW From: Greg Kroah-Hartman Message-Id: <20171220095926.GA24285@kroah.com> Date: Wed, 20 Dec 2017 10:59:26 +0100 To: Joe Perches Cc: Jarkko Nikula , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Cezary Jackiewicz , Darren Hart , Andy Shevchenko , Sebastian Ott , Peter Oberparleiter , James Smart , Dick Kennedy , Zhang Rui , Eduardo Valentin , Mathias Nyman , Felipe Balbi , "Luis R. Rodriguez" , Peter Ujfalusi , Martin Schwidefsky , Heiko Carstens , David Airlie , "James E.J. Bottomley" , "Martin K. Petersen" , Jiri Slaby , Bartlomiej Zolnierkiewicz , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, platform-driver-x86@vger.kernel.org, linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org, linux-serial@vger.kernel.org, linux-usb@vger.kernel.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org, linux-omap@vger.kernel.org List-ID: T24gV2VkLCBEZWMgMjAsIDIwMTcgYXQgMDE6NTQ6NDFBTSAtMDgwMCwgSm9lIFBlcmNoZXMgd3Jv dGU6Cj4gT24gV2VkLCAyMDE3LTEyLTIwIGF0IDEwOjMyICswMTAwLCBHcmVnIEtyb2FoLUhhcnRt YW4gd3JvdGU6Cj4gPiBPbiBXZWQsIERlYyAyMCwgMjAxNyBhdCAwMToyNDo0NEFNIC0wODAwLCBK b2UgUGVyY2hlcyB3cm90ZToKPiA+ID4gT24gV2VkLCAyMDE3LTEyLTIwIGF0IDEwOjM0ICswMjAw LCBKYXJra28gTmlrdWxhIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgRGVjIDE5LCAyMDE3IGF0IDEw OjE1OjA3QU0gLTA4MDAsIEpvZSBQZXJjaGVzIHdyb3RlOgo+ID4gPiA+ID4gQ29udmVydCBERVZJ Q0VfQVRUUiB1c2VzIHRvIERFVklDRV9BVFRSX1JXIHdoZXJlIHBvc3NpYmxlLgo+ID4gPiAKPiA+ ID4gW10gCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvbWNic3AuYyBiL3Nv dW5kL3NvYy9vbWFwL21jYnNwLmMKPiA+ID4gCj4gPiA+IFtdCj4gPiA+ID4gPiBAQCAtODU0LDcg Kzg1NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGRtYV9vcF9tb2RlX3N0b3JlKHN0cnVjdCBkZXZpY2Ug KmRldiwKPiA+ID4gPiA+ICAJcmV0dXJuIHNpemU7Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ ID4gPiA+ID4gLXN0YXRpYyBERVZJQ0VfQVRUUihkbWFfb3BfbW9kZSwgMDY0NCwgZG1hX29wX21v ZGVfc2hvdywgZG1hX29wX21vZGVfc3RvcmUpOwo+ID4gPiA+ID4gK3N0YXRpYyBERVZJQ0VfQVRU Ul9SVyhkbWFfb3BfbW9kZSk7Cj4gPiA+ID4gPiAgCj4gPiA+ID4gCj4gPiA+ID4gV2hpbGUgSSBj YW4gYWNrIHRoaXMgcGFydCBoZXJlIGlmIGl0IGhlbHBzIGdlbmVyaWMgY2xlYW51cCBlZmZvcnQg SQo+ID4gPiA+IGRvbid0IHVuZGVyc3RhcnQgd291bGQgaXQgaW1wcm92ZSBjb2RlIHJlYWRhYmls aXR5IGluIGdlbmVyYWw/IE1vZGUgNjQ0Cj4gPiA+ID4gaXMgY2xlYXIgYW5kIGRvbid0IG5lZWQg YW55IGdyZXBwaW5nIGJ1dCBmb3IgREVWSUNFX0FUVFJfUlcoKSBJIGhhZCB0byBnbwo+ID4gPiA+ IHRocm91Z2ggYWxsIG9mIHRoZXNlIGZpbGVzIGluIG9yZGVyIHRvIHNlZSB3aGF0IGRvZXMgaXQg bWVhbjoKPiA+IAo+ID4gWWVhaCwgNjQ0IGlzICJjbGVhciIsIGJ1dCBfUlcoKSBpcyBldmVuIG1v cmUgY2xlYXIuICBJZGVhbGx5IEkgd2FudCB0bwo+ID4gZ2V0IHJpZCBvZiBhbGwgb2YgdGhlICJu b24tc3RhbmRhcmQiIHVzZXJzIHRoYXQgc2V0IHJhbmRvbSBtb2RlcyBvZgo+ID4gc3lzZnMgZmls ZXMsIGFzIHdlIGdldCBpdCB3cm9uZyB0b28gbWFueSB0aW1lcy4gIFVzaW5nIHRoZSAiZGVmYXVs dHMiIGlzCj4gPiBtdWNoIGJldHRlci4KPiA+IAo+ID4gPiBBcmUgeW91IHN1Z2dlc3RpbmcgdGhh dCBkZXZpY2UuaCAoYXMgdGhhdCBpcyB3aGVyZQo+ID4gPiBERVZJQ0VfQVRUUiBhbmQgdGhlIG90 aGVyIERFVklDRV9BVFRSXzxGT08+IHZhcmlhbnRzCj4gPiA+IGFyZSAjZGVmaW5lZCkgc2hvdWxk IGhhdmUgYmV0dGVyIGNvbW1lbnRzIGZvciB0aGUKPiA+ID4gXzxGT08+IHZhcmlhbnRzPwo+ID4g PiAKPiA+ID4gPiBERVZJQ0VfQVRUUl9SVzogaW5jbHVkZS9saW51eC9kZXZpY2UuaAo+ID4gPiA+ IF9fQVRUUl9SVzogaW5jbHVkZS9saW51eC9zeXNmcy5oCj4gPiA+ID4gU19JV1VTUjogaW5jbHVk ZS91YXBpL2xpbnV4L3N0YXQuaAo+ID4gPiA+IFNfSVJVR086IGluY2x1ZGUvbGludXgvc3RhdC5o Cj4gPiA+IAo+ID4gPiBidHc6IHBhdGNoIDEvNCBvZiB0aGUgc2VyaWVzIGRvZXMgcmVtb3ZlIHRo ZSB1c2VzIG9mCj4gPiA+IFNfPFBFUk1TPiBmcm9tIHRoZXNlIG1hY3JvcyBpbiBzeXNmcy5oIGFu ZCBjb252ZXJ0cwo+ID4gPiB0aGVtIHRvIHNpbXBsZSBvY3RhbCBpbnN0ZWFkLgo+ID4gCj4gPiBX aHkgeW91IGRpZG4ndCBzZW5kIHRoYXQgcGF0Y2ggdG8gdGhlIHN5c2ZzIG1haW50YWluZXIgaXMg YSBiaXQgb2RkLi4uICA6KQo+IAo+IFNvIGhlcmUncyBhbiBvcHBvcnR1bml0eSBmb3IgeW91Ogo+ IAo+IFRoZSBzeXNmcyBtYWludGFpbmVyIGhhc24ndCBhZGRlZCBpbmNsdWRlL2xpbnV4L3N5c2Zz LmggdG8KPiB0aGUgbGlzdCBvZiBtYWludGFpbmVkIGZpbGVzLi4uCj4gCj4gRFJJVkVSIENPUkUs IEtPQkpFQ1RTLCBERUJVR0ZTIEFORCBTWVNGUwo+IE06CUdyZWcgS3JvYWgtSGFydG1hbiA8Z3Jl Z2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Cj4gVDoJZ2l0IGdpdDovL2dpdC5rZXJuZWwub3JnL3B1 Yi9zY20vbGludXgva2VybmVsL2dpdC9ncmVna2gvZHJpdmVyLWNvcmUuZ2l0Cj4gUzoJU3VwcG9y dGVkCj4gRjoJRG9jdW1lbnRhdGlvbi9rb2JqZWN0LnR4dAo+IEY6CWRyaXZlcnMvYmFzZS8KPiBG Oglmcy9kZWJ1Z2ZzLwo+IEY6CWZzL3N5c2ZzLwo+IEY6CWluY2x1ZGUvbGludXgvZGVidWdmcy5o Cj4gRjoJaW5jbHVkZS9saW51eC9rb2JqKgo+IEY6CWxpYi9rb2JqKgoKSGVoLCBnb29kIHBvaW50 LCBidXQgdXNpbmcgZ2V0X21haW50YWluZXIucGwgZG9lcyBwdXQgbWUgYXQgdGhlIHRvcCBvZgp0 aGUgbGlzdCB0aGF0IHlvdSBzaG91bGQgYmUgY2M6aW5nOgoKJCAuL3NjcmlwdHMvZ2V0X21haW50 YWluZXIucGwgLS1maWxlIGluY2x1ZGUvbGludXgvc3lzZnMuaApHcmVnIEtyb2FoLUhhcnRtYW4g PGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPiAoY29tbWl0X3NpZ25lcjozLzM9MTAwJSxhdXRo b3JlZDoyLzM9NjclLGFkZGVkX2xpbmVzOjcvOD04OCUpCkthdGUgU3Rld2FydCA8a3N0ZXdhcnRA bGludXhmb3VuZGF0aW9uLm9yZz4gKGNvbW1pdF9zaWduZXI6MS8zPTMzJSkKVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+IChjb21taXRfc2lnbmVyOjEvMz0zMyUpClBoaWxpcHBl IE9tYnJlZGFubmUgPHBvbWJyZWRhbm5lQG5leGIuY29tPiAoY29tbWl0X3NpZ25lcjoxLzM9MzMl KQpOaWNrIERlc2F1bG5pZXJzIDxuaWNrLmRlc2F1bG5pZXJzQGdtYWlsLmNvbT4gKGNvbW1pdF9z aWduZXI6MS8zPTMzJSxhdXRob3JlZDoxLzM9MzMlLGFkZGVkX2xpbmVzOjEvOD0xMiUscmVtb3Zl ZF9saW5lczoxLzE9MTAwJSkKbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZyAob3BlbiBsaXN0 KQoKQW55d2F5LCBJJ2xsIGdvIGFkZCBzeXNmcy5oIHRvIHRoZSBsaXN0LCB0aGFua3MgZm9yIHBv aW50aW5nIGl0IG91dC4KCj4gPiBJIHNob3VsZCBiZSB0YWtpbmcgdGhpcyB3aG9sZSBzZXJpZXMg dGhyb3VnaCBteSB0cmVlLiAgSm9lLCB0aGFua3MgZm9yCj4gPiBkb2luZyB0aGlzIGluIGFuIGF1 dG9tYXRlZCB3YXksIEkndmUgYmVlbiB3YW50aW5nIHRvIHNlZSB0aGlzIGRvbmUgZm9yIGEKPiA+ IGxvbmcgdGltZS4KPiAKPiBidHc6IHRoZXJlIGFyZSBtYW55IHVzZXMgb2YgYSByZXZlcnNlZCBk ZWNsYXJhdGlvbiBzdHlsZSBvZiBERVZJQ0VfQVRUUgo+IAo+IEhlcmUncyBhbm90aGVyIHRoaW5n IHRoYXQgY291bGQgYmUgZG9uZSBmb3IgbW9yZSBERVZJQ0VfQVRUUl88Rk9PPiB1c2VzLgo+IAo+ ID09PQo+IAo+IFNvbWUgREVWSUNFX0FUVFIgZGVmaW5pdGlvbnMgdXNlIGEgcmV2ZXJzZWQgc3Rh dGljIGZ1bmN0aW9uIGZvcm0gZnJvbQo+IHRoZSB0eXBpY2FsLiAgQ29udmVydCB0aGVtIHRvIHVz ZSB0aGUgbW9yZSBjb21tb24gbWFjcm8gZm9ybSBzbyBpdCBpcwo+IGVhc2llciB0byBncmVwIGZv ciB0aGUgc3R5bGUuCj4gCj4gaS5lLjoKPiAgICAgICAgIHN0YXRpYyBzc2l6ZV90IHNob3dfPGZv bz4oLi4uKQo+IGFuZAo+ICAgICAgICAgc3RhdGljIHNzaXplX3Qgc3RvcmVfPGZvbz4oLi4uKQo+ IAo+IHdoZXJlIHRoZSBzdGF0aWMgZnVuY3Rpb24gbmFtZXMgaW4gdGhlIERFVklDRV9BVFRSX1JX IG1hY3JvIGFyZSByZXZlcnNlZAo+IAo+ICAgICAgICAgc3RhdGljIHNzaXplX3QgPGZvbz5fc2hv dyguLi4pCj4gYW5kCj4gICAgICAgICBzdGF0aWMgc3NpemVfdCA8Zm9vPl9zdG9yZSguLi4pCj4g Cj4gRG9uZSB3aXRoIHBlcmwgc2NyaXB0Cj4gCj4gJCBjYXQgZGV2X2F0dHJfcndfYmFja3dhcmRz LnBlcmwKPiBsb2NhbCAkLzsKPiB3aGlsZSAoPD4pIHsKPiAgICAgbXkgJGZpbGUgPSAkXzsKPiAg ICAgd2hpbGUgKCRmaWxlID1+IG0vXGJERVZJQ0VfQVRUUlxzKlwoXHMqKFx3KylccyosL2cpIHsK PiAgICAgICAgIG15ICR2YXIgPSAkMTsKPiAgICAgICAgIGlmICgkZmlsZSA9fiBzL1xiREVWSUNF X0FUVFJccypcKFxzKiR7dmFyfVxzKixccypcKD8oXHMqU19JUlVHT1xzKlx8XHMqUwo+ICAgICAg ICAgICAgICRmaWxlID1+IHMvXGJzaG93XyR7dmFyfVxiLyR7dmFyfV9zaG93L2c7Cj4gICAgICAg ICAgICAgJGZpbGUgPX4gcy9cYnN0b3JlXyR7dmFyfVxiLyR7dmFyfV9zdG9yZS9nOwo+ICAgICAg ICAgfQo+ICAgICB9Cj4gICAgIHByaW50ICRmaWxlOwo+IH0KPiAKPiAkIGdpdCBncmVwIC0tbmFt ZS1vbmx5IC13IERFVklDRV9BVFRSIHwgXAo+ICAgeGFyZ3MgcGVybCAtaSBkZXZfYXR0cl9yd19i YWNrd2FyZHMucGVybAo+IAoKQWgsIG5pY2UsIEkgbG92ZSBwZXJsIDopCgpncmVnIGstaAotLS0K VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJl IGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtl cm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9t YWpvcmRvbW8taW5mby5odG1sCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754815AbdLTJ7b (ORCPT ); Wed, 20 Dec 2017 04:59:31 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:40816 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754191AbdLTJ7Z (ORCPT ); Wed, 20 Dec 2017 04:59:25 -0500 Date: Wed, 20 Dec 2017 10:59:26 +0100 From: Greg Kroah-Hartman To: Joe Perches Cc: Jarkko Nikula , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Cezary Jackiewicz , Darren Hart , Andy Shevchenko , Sebastian Ott , Peter Oberparleiter , James Smart , Dick Kennedy , Zhang Rui , Eduardo Valentin , Mathias Nyman , Felipe Balbi , "Luis R. Rodriguez" , Peter Ujfalusi , Martin Schwidefsky , Heiko Carstens , David Airlie , "James E.J. Bottomley" , "Martin K. Petersen" , Jiri Slaby , Bartlomiej Zolnierkiewicz , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, platform-driver-x86@vger.kernel.org, linux-scsi@vger.kernel.org, linux-pm@vger.kernel.org, linux-serial@vger.kernel.org, linux-usb@vger.kernel.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org, linux-omap@vger.kernel.org Subject: Re: [-next PATCH 2/4] treewide: Use DEVICE_ATTR_RW Message-ID: <20171220095926.GA24285@kroah.com> References: <20171220083403.GA27231@bitmer.com> <1513761884.1234.83.camel@perches.com> <20171220093211.GA16177@kroah.com> <1513763681.1234.101.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1513763681.1234.101.camel@perches.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 20, 2017 at 01:54:41AM -0800, Joe Perches wrote: > On Wed, 2017-12-20 at 10:32 +0100, Greg Kroah-Hartman wrote: > > On Wed, Dec 20, 2017 at 01:24:44AM -0800, Joe Perches wrote: > > > On Wed, 2017-12-20 at 10:34 +0200, Jarkko Nikula wrote: > > > > On Tue, Dec 19, 2017 at 10:15:07AM -0800, Joe Perches wrote: > > > > > Convert DEVICE_ATTR uses to DEVICE_ATTR_RW where possible. > > > > > > [] > > > > > diff --git a/sound/soc/omap/mcbsp.c b/sound/soc/omap/mcbsp.c > > > > > > [] > > > > > @@ -854,7 +854,7 @@ static ssize_t dma_op_mode_store(struct device *dev, > > > > > return size; > > > > > } > > > > > > > > > > -static DEVICE_ATTR(dma_op_mode, 0644, dma_op_mode_show, dma_op_mode_store); > > > > > +static DEVICE_ATTR_RW(dma_op_mode); > > > > > > > > > > > > > While I can ack this part here if it helps generic cleanup effort I > > > > don't understart would it improve code readability in general? Mode 644 > > > > is clear and don't need any grepping but for DEVICE_ATTR_RW() I had to go > > > > through all of these files in order to see what does it mean: > > > > Yeah, 644 is "clear", but _RW() is even more clear. Ideally I want to > > get rid of all of the "non-standard" users that set random modes of > > sysfs files, as we get it wrong too many times. Using the "defaults" is > > much better. > > > > > Are you suggesting that device.h (as that is where > > > DEVICE_ATTR and the other DEVICE_ATTR_ variants > > > are #defined) should have better comments for the > > > _ variants? > > > > > > > DEVICE_ATTR_RW: include/linux/device.h > > > > __ATTR_RW: include/linux/sysfs.h > > > > S_IWUSR: include/uapi/linux/stat.h > > > > S_IRUGO: include/linux/stat.h > > > > > > btw: patch 1/4 of the series does remove the uses of > > > S_ from these macros in sysfs.h and converts > > > them to simple octal instead. > > > > 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 > 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 (commit_signer:3/3=100%,authored:2/3=67%,added_lines:7/8=88%) Kate Stewart (commit_signer:1/3=33%) Thomas Gleixner (commit_signer:1/3=33%) Philippe Ombredanne (commit_signer:1/3=33%) Nick Desaulniers (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) Anyway, I'll go add sysfs.h to the list, thanks for pointing it out. > > I should be taking this whole series through my tree. Joe, thanks for > > doing this in an automated way, I've been wanting to see this done for a > > long time. > > 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_ 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. > > i.e.: > static ssize_t show_(...) > and > static ssize_t store_(...) > > where the static function names in the DEVICE_ATTR_RW macro are reversed > > static ssize_t _show(...) > and > static ssize_t _store(...) > > Done with perl script > > $ 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 > $file =~ s/\bshow_${var}\b/${var}_show/g; > $file =~ s/\bstore_${var}\b/${var}_store/g; > } > } > print $file; > } > > $ git grep --name-only -w DEVICE_ATTR | \ > xargs perl -i dev_attr_rw_backwards.perl > Ah, nice, I love perl :) greg k-h