diff mbox series

[-next] hwmon: (smpro-hwmon) Add missing break in smpro_is_visible()

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

Commit Message

Nathan Chancellor Oct. 27, 2022, 7:52 p.m. UTC
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

Comments

Guenter Roeck Oct. 27, 2022, 9 p.m. UTC | #1
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
>
Nathan Chancellor Oct. 27, 2022, 9:03 p.m. UTC | #2
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
> >
Guenter Roeck Oct. 27, 2022, 10:25 p.m. UTC | #3
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 mbox series

Patch

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;
 	}