Message ID | 20221027195238.1789586-1-nathan@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [-next] hwmon: (smpro-hwmon) Add missing break in smpro_is_visible() | expand |
On Thu, Oct 27, 2022 at 12:52:38PM -0700, Nathan Chancellor wrote: > Clang warns: > > drivers/hwmon/smpro-hwmon.c:378:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] > default: > ^ > drivers/hwmon/smpro-hwmon.c:378:2: note: insert 'break;' to avoid fall-through > default: > ^ > break; > 1 error generated. > > Clang is a little more pedantic than GCC, which does not warn when > falling through to a case that is just break or return. Clang's version > is more in line with the kernel's own stance in deprecated.rst, which > states that all switch/case blocks must end in either break, > fallthrough, continue, goto, or return. Add the missing break to silence > the warning. > > Fixes: a87456864cbb ("hwmon: Add Ampere's Altra smpro-hwmon driver") > Link: https://github.com/ClangBuiltLinux/linux/issues/1751 > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > --- > drivers/hwmon/smpro-hwmon.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hwmon/smpro-hwmon.c b/drivers/hwmon/smpro-hwmon.c > index ee54e21c2c12..667e88b6bae5 100644 > --- a/drivers/hwmon/smpro-hwmon.c > +++ b/drivers/hwmon/smpro-hwmon.c > @@ -375,6 +375,7 @@ static umode_t smpro_is_visible(const void *data, enum hwmon_sensor_types type, > return 0; > break; > } > + break; The alignment of the break; statement above is also bad, and a default: for switch (attr) is missing. Guenter > default: > break; > } > > base-commit: 0ffb687b6508c36a17b99bdaf014b38532404182 > -- > 2.38.1 >
On Thu, Oct 27, 2022 at 02:00:16PM -0700, Guenter Roeck wrote: > On Thu, Oct 27, 2022 at 12:52:38PM -0700, Nathan Chancellor wrote: > > Clang warns: > > > > drivers/hwmon/smpro-hwmon.c:378:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] > > default: > > ^ > > drivers/hwmon/smpro-hwmon.c:378:2: note: insert 'break;' to avoid fall-through > > default: > > ^ > > break; > > 1 error generated. > > > > Clang is a little more pedantic than GCC, which does not warn when > > falling through to a case that is just break or return. Clang's version > > is more in line with the kernel's own stance in deprecated.rst, which > > states that all switch/case blocks must end in either break, > > fallthrough, continue, goto, or return. Add the missing break to silence > > the warning. > > > > Fixes: a87456864cbb ("hwmon: Add Ampere's Altra smpro-hwmon driver") > > Link: https://github.com/ClangBuiltLinux/linux/issues/1751 > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > --- > > drivers/hwmon/smpro-hwmon.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/hwmon/smpro-hwmon.c b/drivers/hwmon/smpro-hwmon.c > > index ee54e21c2c12..667e88b6bae5 100644 > > --- a/drivers/hwmon/smpro-hwmon.c > > +++ b/drivers/hwmon/smpro-hwmon.c > > @@ -375,6 +375,7 @@ static umode_t smpro_is_visible(const void *data, enum hwmon_sensor_types type, > > return 0; > > break; > > } > > + break; > > The alignment of the break; statement above is also bad, and a default: > for switch (attr) is missing. Would you prefer those fixed in the same patch or a separate one? > > default: > > break; > > } > > > > base-commit: 0ffb687b6508c36a17b99bdaf014b38532404182 > > -- > > 2.38.1 > >
On Thu, Oct 27, 2022 at 02:03:56PM -0700, Nathan Chancellor wrote: > On Thu, Oct 27, 2022 at 02:00:16PM -0700, Guenter Roeck wrote: > > On Thu, Oct 27, 2022 at 12:52:38PM -0700, Nathan Chancellor wrote: > > > Clang warns: > > > > > > drivers/hwmon/smpro-hwmon.c:378:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] > > > default: > > > ^ > > > drivers/hwmon/smpro-hwmon.c:378:2: note: insert 'break;' to avoid fall-through > > > default: > > > ^ > > > break; > > > 1 error generated. > > > > > > Clang is a little more pedantic than GCC, which does not warn when > > > falling through to a case that is just break or return. Clang's version > > > is more in line with the kernel's own stance in deprecated.rst, which > > > states that all switch/case blocks must end in either break, > > > fallthrough, continue, goto, or return. Add the missing break to silence > > > the warning. > > > > > > Fixes: a87456864cbb ("hwmon: Add Ampere's Altra smpro-hwmon driver") > > > Link: https://github.com/ClangBuiltLinux/linux/issues/1751 > > > Signed-off-by: Nathan Chancellor <nathan@kernel.org> > > > --- > > > drivers/hwmon/smpro-hwmon.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/hwmon/smpro-hwmon.c b/drivers/hwmon/smpro-hwmon.c > > > index ee54e21c2c12..667e88b6bae5 100644 > > > --- a/drivers/hwmon/smpro-hwmon.c > > > +++ b/drivers/hwmon/smpro-hwmon.c > > > @@ -375,6 +375,7 @@ static umode_t smpro_is_visible(const void *data, enum hwmon_sensor_types type, > > > return 0; > > > break; > > > } > > > + break; > > > > The alignment of the break; statement above is also bad, and a default: > > for switch (attr) is missing. > > Would you prefer those fixed in the same patch or a separate one? > Same patch, please. The resulting code is ultimately the same. Thanks, Guenter > > > default: > > > break; > > > } > > > > > > base-commit: 0ffb687b6508c36a17b99bdaf014b38532404182 > > > -- > > > 2.38.1 > > >
diff --git a/drivers/hwmon/smpro-hwmon.c b/drivers/hwmon/smpro-hwmon.c index ee54e21c2c12..667e88b6bae5 100644 --- a/drivers/hwmon/smpro-hwmon.c +++ b/drivers/hwmon/smpro-hwmon.c @@ -375,6 +375,7 @@ static umode_t smpro_is_visible(const void *data, enum hwmon_sensor_types type, return 0; break; } + break; default: break; }
Clang warns: drivers/hwmon/smpro-hwmon.c:378:2: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] default: ^ drivers/hwmon/smpro-hwmon.c:378:2: note: insert 'break;' to avoid fall-through default: ^ break; 1 error generated. Clang is a little more pedantic than GCC, which does not warn when falling through to a case that is just break or return. Clang's version is more in line with the kernel's own stance in deprecated.rst, which states that all switch/case blocks must end in either break, fallthrough, continue, goto, or return. Add the missing break to silence the warning. Fixes: a87456864cbb ("hwmon: Add Ampere's Altra smpro-hwmon driver") Link: https://github.com/ClangBuiltLinux/linux/issues/1751 Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- drivers/hwmon/smpro-hwmon.c | 1 + 1 file changed, 1 insertion(+) base-commit: 0ffb687b6508c36a17b99bdaf014b38532404182