All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Rosin <peda@axentia.se>
To: Jonathan Cameron <jic23@kernel.org>
Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] iio: dpot-dac: mark expected switch fall-through
Date: Sat, 13 Oct 2018 15:14:34 +0000	[thread overview]
Message-ID: <43e89449-d693-3e1b-711c-7c9c139d288d@axentia.se> (raw)
In-Reply-To: <20181013133831.7dbd31e8@archlinux>

On 2018-10-13 14:38, Jonathan Cameron wrote:
> On Mon, 8 Oct 2018 20:42:41 +0000
> Peter Rosin <peda@axentia.se> wrote:
> 
>> On 2018-10-08 19:35, Gustavo A. R. Silva wrote:
>>> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
>>> where we are expecting to fall through.  
>>
>> The way I see it, it is pretty well marked up as is. So, this paragraph
>> is not describing the change.
>>
>>>
>>> Notice that in this particular case, I replaced "...and fall through."
>>> with a proper "fall through", which is what GCC is expecting to find.  
>>
>> What is not "proper" about the existing comment? Yes yes, I *know* that
>> GCC is not very intelligent about it and requires hand-holding, but
>> blaming the existing comment for not *properly* marking an intentional
>> fall through is ... rich.
>>
>>>
>>> Addresses-Coverity-ID: 1462408 ("Missing break in switch")
>>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>>> ---
>>>  drivers/iio/dac/dpot-dac.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iio/dac/dpot-dac.c b/drivers/iio/dac/dpot-dac.c
>>> index a791d0a..e353946 100644
>>> --- a/drivers/iio/dac/dpot-dac.c
>>> +++ b/drivers/iio/dac/dpot-dac.c
>>> @@ -78,7 +78,7 @@ static int dpot_dac_read_raw(struct iio_dev *indio_dev,  
>>
>> Adding some more context here.
>>
>> 		case IIO_VAL_INT:
>> 			/*
>> 			 * Convert integer scale to fractional scale by
>> 			 * setting the denominator (val2) to one...
>>>  			 */
>>>  			*val2 = 1;
>>>  			ret = IIO_VAL_FRACTIONAL;
>>> -			/* ...and fall through. */
>>> +			/* fall through */
>>>  		case IIO_VAL_FRACTIONAL:
>>>  			*val *= regulator_get_voltage(dac->vref) / 1000;
>>>  			*val2 *= dac->max_ohms;
>>>   
>>
>> Considering the above added context, I have to say that this mindless
>> change is not an improvement, as you have just destroyed the continued
>> sentence from the previous comment. You must have noticed that this
>> was the end of a continued sentence, as you even quoted it in the commit
>> message. The big question is why you did not stop to think and consider
>> the context?
>>
>> Yes, I'm annoyed by mindless changes. Especially mindless changes aimed
>> at improving readability while in fact making things less readable.
>>
>> TL;DR, if you are desperate to fix "the problem" with this fall through
>> comment, please do so in a way that preserves overall readability. And
>> it would be nice to not blame the existing code for brain damage in GCC
>> and various other static analyzers.
>>
>> Cheers,
>> Peter
> I agree with you in principle Peter and have tweaked the patch description
> to make it clearer that we are doing this to make GCC static analysis more
> helpful (suppressing a false warning is a worthwhile if you are dealing with
> lots of them).
> 
> However, nice though it is to have elegant comment structure I think we
> should still have this patch in place.  This effort to 'fix' these
> warnings has already identified a few places where it was wrong so
> I'm keen to see it applied by default even if it isn't perfect.

I still object. It would have been so damn easy and it does not take a whole
lot of imagination to quiet down GCC while keeping the comments readable. Just
move the "and" to the previous comment, like this.

		case IIO_VAL_INT:
			/*
			 * Convert integer scale to fractional scale by
			 * setting the denominator (val2) to one, and...
			 */
			*val2 = 1;
			ret = IIO_VAL_FRACTIONAL;
			/* fall through */
		case IIO_VAL_FRACTIONAL:

Or add a sentence, like this (which is a bit more fun IMO)

		case IIO_VAL_INT:
			/*
			 * Convert integer scale to fractional scale by
			 * setting the denominator (val2) to one...
			 */
			*val2 = 1;
			ret = IIO_VAL_FRACTIONAL;
			/* ...and fall through. Say it again for GCC. */
			/* fall through */
		case IIO_VAL_FRACTIONAL:

Cheers,
Peter

WARNING: multiple messages have this Message-ID (diff)
From: Peter Rosin <peda@axentia.se>
To: Jonathan Cameron <jic23@kernel.org>
Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] iio: dpot-dac: mark expected switch fall-through
Date: Sat, 13 Oct 2018 15:14:34 +0000	[thread overview]
Message-ID: <43e89449-d693-3e1b-711c-7c9c139d288d@axentia.se> (raw)
In-Reply-To: <20181013133831.7dbd31e8@archlinux>

T24gMjAxOC0xMC0xMyAxNDozOCwgSm9uYXRoYW4gQ2FtZXJvbiB3cm90ZToNCj4gT24gTW9uLCA4
IE9jdCAyMDE4IDIwOjQyOjQxICswMDAwDQo+IFBldGVyIFJvc2luIDxwZWRhQGF4ZW50aWEuc2U+
IHdyb3RlOg0KPiANCj4+IE9uIDIwMTgtMTAtMDggMTk6MzUsIEd1c3Rhdm8gQS4gUi4gU2lsdmEg
d3JvdGU6DQo+Pj4gSW4gcHJlcGFyYXRpb24gdG8gZW5hYmxpbmcgLVdpbXBsaWNpdC1mYWxsdGhy
b3VnaCwgbWFyayBzd2l0Y2ggY2FzZXMNCj4+PiB3aGVyZSB3ZSBhcmUgZXhwZWN0aW5nIHRvIGZh
bGwgdGhyb3VnaC4gIA0KPj4NCj4+IFRoZSB3YXkgSSBzZWUgaXQsIGl0IGlzIHByZXR0eSB3ZWxs
IG1hcmtlZCB1cCBhcyBpcy4gU28sIHRoaXMgcGFyYWdyYXBoDQo+PiBpcyBub3QgZGVzY3JpYmlu
ZyB0aGUgY2hhbmdlLg0KPj4NCj4+Pg0KPj4+IE5vdGljZSB0aGF0IGluIHRoaXMgcGFydGljdWxh
ciBjYXNlLCBJIHJlcGxhY2VkICIuLi5hbmQgZmFsbCB0aHJvdWdoLiINCj4+PiB3aXRoIGEgcHJv
cGVyICJmYWxsIHRocm91Z2giLCB3aGljaCBpcyB3aGF0IEdDQyBpcyBleHBlY3RpbmcgdG8gZmlu
ZC4gIA0KPj4NCj4+IFdoYXQgaXMgbm90ICJwcm9wZXIiIGFib3V0IHRoZSBleGlzdGluZyBjb21t
ZW50PyBZZXMgeWVzLCBJICprbm93KiB0aGF0DQo+PiBHQ0MgaXMgbm90IHZlcnkgaW50ZWxsaWdl
bnQgYWJvdXQgaXQgYW5kIHJlcXVpcmVzIGhhbmQtaG9sZGluZywgYnV0DQo+PiBibGFtaW5nIHRo
ZSBleGlzdGluZyBjb21tZW50IGZvciBub3QgKnByb3Blcmx5KiBtYXJraW5nIGFuIGludGVudGlv
bmFsDQo+PiBmYWxsIHRocm91Z2ggaXMgLi4uIHJpY2guDQo+Pg0KPj4+DQo+Pj4gQWRkcmVzc2Vz
LUNvdmVyaXR5LUlEOiAxNDYyNDA4ICgiTWlzc2luZyBicmVhayBpbiBzd2l0Y2giKQ0KPj4+IFNp
Z25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEgPGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+
DQo+Pj4gLS0tDQo+Pj4gIGRyaXZlcnMvaWlvL2RhYy9kcG90LWRhYy5jIHwgMiArLQ0KPj4+ICAx
IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCj4+Pg0KPj4+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL2lpby9kYWMvZHBvdC1kYWMuYyBiL2RyaXZlcnMvaWlvL2RhYy9k
cG90LWRhYy5jDQo+Pj4gaW5kZXggYTc5MWQwYS4uZTM1Mzk0NiAxMDA2NDQNCj4+PiAtLS0gYS9k
cml2ZXJzL2lpby9kYWMvZHBvdC1kYWMuYw0KPj4+ICsrKyBiL2RyaXZlcnMvaWlvL2RhYy9kcG90
LWRhYy5jDQo+Pj4gQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIGludCBkcG90X2RhY19yZWFkX3Jh
dyhzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2LCAgDQo+Pg0KPj4gQWRkaW5nIHNvbWUgbW9yZSBj
b250ZXh0IGhlcmUuDQo+Pg0KPj4gCQljYXNlIElJT19WQUxfSU5UOg0KPj4gCQkJLyoNCj4+IAkJ
CSAqIENvbnZlcnQgaW50ZWdlciBzY2FsZSB0byBmcmFjdGlvbmFsIHNjYWxlIGJ5DQo+PiAJCQkg
KiBzZXR0aW5nIHRoZSBkZW5vbWluYXRvciAodmFsMikgdG8gb25lLi4uDQo+Pj4gIAkJCSAqLw0K
Pj4+ICAJCQkqdmFsMiA9IDE7DQo+Pj4gIAkJCXJldCA9IElJT19WQUxfRlJBQ1RJT05BTDsNCj4+
PiAtCQkJLyogLi4uYW5kIGZhbGwgdGhyb3VnaC4gKi8NCj4+PiArCQkJLyogZmFsbCB0aHJvdWdo
ICovDQo+Pj4gIAkJY2FzZSBJSU9fVkFMX0ZSQUNUSU9OQUw6DQo+Pj4gIAkJCSp2YWwgKj0gcmVn
dWxhdG9yX2dldF92b2x0YWdlKGRhYy0+dnJlZikgLyAxMDAwOw0KPj4+ICAJCQkqdmFsMiAqPSBk
YWMtPm1heF9vaG1zOw0KPj4+ICAgDQo+Pg0KPj4gQ29uc2lkZXJpbmcgdGhlIGFib3ZlIGFkZGVk
IGNvbnRleHQsIEkgaGF2ZSB0byBzYXkgdGhhdCB0aGlzIG1pbmRsZXNzDQo+PiBjaGFuZ2UgaXMg
bm90IGFuIGltcHJvdmVtZW50LCBhcyB5b3UgaGF2ZSBqdXN0IGRlc3Ryb3llZCB0aGUgY29udGlu
dWVkDQo+PiBzZW50ZW5jZSBmcm9tIHRoZSBwcmV2aW91cyBjb21tZW50LiBZb3UgbXVzdCBoYXZl
IG5vdGljZWQgdGhhdCB0aGlzDQo+PiB3YXMgdGhlIGVuZCBvZiBhIGNvbnRpbnVlZCBzZW50ZW5j
ZSwgYXMgeW91IGV2ZW4gcXVvdGVkIGl0IGluIHRoZSBjb21taXQNCj4+IG1lc3NhZ2UuIFRoZSBi
aWcgcXVlc3Rpb24gaXMgd2h5IHlvdSBkaWQgbm90IHN0b3AgdG8gdGhpbmsgYW5kIGNvbnNpZGVy
DQo+PiB0aGUgY29udGV4dD8NCj4+DQo+PiBZZXMsIEknbSBhbm5veWVkIGJ5IG1pbmRsZXNzIGNo
YW5nZXMuIEVzcGVjaWFsbHkgbWluZGxlc3MgY2hhbmdlcyBhaW1lZA0KPj4gYXQgaW1wcm92aW5n
IHJlYWRhYmlsaXR5IHdoaWxlIGluIGZhY3QgbWFraW5nIHRoaW5ncyBsZXNzIHJlYWRhYmxlLg0K
Pj4NCj4+IFRMO0RSLCBpZiB5b3UgYXJlIGRlc3BlcmF0ZSB0byBmaXggInRoZSBwcm9ibGVtIiB3
aXRoIHRoaXMgZmFsbCB0aHJvdWdoDQo+PiBjb21tZW50LCBwbGVhc2UgZG8gc28gaW4gYSB3YXkg
dGhhdCBwcmVzZXJ2ZXMgb3ZlcmFsbCByZWFkYWJpbGl0eS4gQW5kDQo+PiBpdCB3b3VsZCBiZSBu
aWNlIHRvIG5vdCBibGFtZSB0aGUgZXhpc3RpbmcgY29kZSBmb3IgYnJhaW4gZGFtYWdlIGluIEdD
Qw0KPj4gYW5kIHZhcmlvdXMgb3RoZXIgc3RhdGljIGFuYWx5emVycy4NCj4+DQo+PiBDaGVlcnMs
DQo+PiBQZXRlcg0KPiBJIGFncmVlIHdpdGggeW91IGluIHByaW5jaXBsZSBQZXRlciBhbmQgaGF2
ZSB0d2Vha2VkIHRoZSBwYXRjaCBkZXNjcmlwdGlvbg0KPiB0byBtYWtlIGl0IGNsZWFyZXIgdGhh
dCB3ZSBhcmUgZG9pbmcgdGhpcyB0byBtYWtlIEdDQyBzdGF0aWMgYW5hbHlzaXMgbW9yZQ0KPiBo
ZWxwZnVsIChzdXBwcmVzc2luZyBhIGZhbHNlIHdhcm5pbmcgaXMgYSB3b3J0aHdoaWxlIGlmIHlv
dSBhcmUgZGVhbGluZyB3aXRoDQo+IGxvdHMgb2YgdGhlbSkuDQo+IA0KPiBIb3dldmVyLCBuaWNl
IHRob3VnaCBpdCBpcyB0byBoYXZlIGVsZWdhbnQgY29tbWVudCBzdHJ1Y3R1cmUgSSB0aGluayB3
ZQ0KPiBzaG91bGQgc3RpbGwgaGF2ZSB0aGlzIHBhdGNoIGluIHBsYWNlLiAgVGhpcyBlZmZvcnQg
dG8gJ2ZpeCcgdGhlc2UNCj4gd2FybmluZ3MgaGFzIGFscmVhZHkgaWRlbnRpZmllZCBhIGZldyBw
bGFjZXMgd2hlcmUgaXQgd2FzIHdyb25nIHNvDQo+IEknbSBrZWVuIHRvIHNlZSBpdCBhcHBsaWVk
IGJ5IGRlZmF1bHQgZXZlbiBpZiBpdCBpc24ndCBwZXJmZWN0Lg0KDQpJIHN0aWxsIG9iamVjdC4g
SXQgd291bGQgaGF2ZSBiZWVuIHNvIGRhbW4gZWFzeSBhbmQgaXQgZG9lcyBub3QgdGFrZSBhIHdo
b2xlDQpsb3Qgb2YgaW1hZ2luYXRpb24gdG8gcXVpZXQgZG93biBHQ0Mgd2hpbGUga2VlcGluZyB0
aGUgY29tbWVudHMgcmVhZGFibGUuIEp1c3QNCm1vdmUgdGhlICJhbmQiIHRvIHRoZSBwcmV2aW91
cyBjb21tZW50LCBsaWtlIHRoaXMuDQoNCgkJY2FzZSBJSU9fVkFMX0lOVDoNCgkJCS8qDQoJCQkg
KiBDb252ZXJ0IGludGVnZXIgc2NhbGUgdG8gZnJhY3Rpb25hbCBzY2FsZSBieQ0KCQkJICogc2V0
dGluZyB0aGUgZGVub21pbmF0b3IgKHZhbDIpIHRvIG9uZSwgYW5kLi4uDQoJCQkgKi8NCgkJCSp2
YWwyID0gMTsNCgkJCXJldCA9IElJT19WQUxfRlJBQ1RJT05BTDsNCgkJCS8qIGZhbGwgdGhyb3Vn
aCAqLw0KCQljYXNlIElJT19WQUxfRlJBQ1RJT05BTDoNCg0KT3IgYWRkIGEgc2VudGVuY2UsIGxp
a2UgdGhpcyAod2hpY2ggaXMgYSBiaXQgbW9yZSBmdW4gSU1PKQ0KDQoJCWNhc2UgSUlPX1ZBTF9J
TlQ6DQoJCQkvKg0KCQkJICogQ29udmVydCBpbnRlZ2VyIHNjYWxlIHRvIGZyYWN0aW9uYWwgc2Nh
bGUgYnkNCgkJCSAqIHNldHRpbmcgdGhlIGRlbm9taW5hdG9yICh2YWwyKSB0byBvbmUuLi4NCgkJ
CSAqLw0KCQkJKnZhbDIgPSAxOw0KCQkJcmV0ID0gSUlPX1ZBTF9GUkFDVElPTkFMOw0KCQkJLyog
Li4uYW5kIGZhbGwgdGhyb3VnaC4gU2F5IGl0IGFnYWluIGZvciBHQ0MuICovDQoJCQkvKiBmYWxs
IHRocm91Z2ggKi8NCgkJY2FzZSBJSU9fVkFMX0ZSQUNUSU9OQUw6DQoNCkNoZWVycywNClBldGVy
DQo=

  parent reply	other threads:[~2018-10-13 15:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 17:35 [PATCH] iio: dpot-dac: mark expected switch fall-through Gustavo A. R. Silva
2018-10-08 20:42 ` Peter Rosin
2018-10-08 20:42   ` Peter Rosin
2018-10-13 12:38   ` Jonathan Cameron
2018-10-13 13:08     ` Gustavo A. R. Silva
2018-10-13 15:14     ` Peter Rosin [this message]
2018-10-13 15:14       ` Peter Rosin
2018-10-14 17:01       ` Jonathan Cameron
2018-10-16 11:01         ` Gustavo A. R. Silva
2018-10-17  6:55           ` Peter Rosin
2018-10-17  6:55             ` Peter Rosin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43e89449-d693-3e1b-711c-7c9c139d288d@axentia.se \
    --to=peda@axentia.se \
    --cc=gustavo@embeddedor.com \
    --cc=jic23@kernel.org \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.