Re: [PATCH v2] hwmon: bt1-pvt: Define Temp- and Volt-to-N poly as maybe-unused

From: Guenter Roeck
Date: Thu Jun 04 2020 - 11:30:50 EST


On Wed, Jun 03, 2020 at 03:07:53AM +0300, Serge Semin wrote:
> Clang-based kernel building with W=1 warns that some static const
> variables are unused:
>
> drivers/hwmon/bt1-pvt.c:67:30: warning: unused variable 'poly_temp_to_N' [-Wunused-const-variable]
> static const struct pvt_poly poly_temp_to_N = {
> ^
> drivers/hwmon/bt1-pvt.c:99:30: warning: unused variable 'poly_volt_to_N' [-Wunused-const-variable]
> static const struct pvt_poly poly_volt_to_N = {
> ^
>
> Indeed these polynomials are utilized only when the PVT sensor alarms are
> enabled. In that case they are used to convert the temperature and
> voltage alarm limits from normal quantities (Volts and degree Celsius) to
> the sensor data representation N = [0, 1023]. Otherwise when alarms are
> disabled the driver only does the detected data conversion to the human
> readable form and doesn't need that polynomials defined. So let's mark the
> Temp-to-N and Volt-to-N polynomials with __maybe_unused attribute.
>
> Note gcc with W=1 doesn't notice the problem.
>
> Fixes: 87976ce2825d ("hwmon: Add Baikal-T1 PVT sensor driver")
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
> Cc: Maxim Kaurkin <Maxim.Kaurkin@xxxxxxxxxxxxxxxxxxxx>
> Cc: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx>

Applied.

Thanks,
Guenter

> ---
>
> Link: https://lore.kernel.org/linux-hwmon/20200602091219.24404-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
> Changelog v2:
> - Repalce if-defs with __maybe_unused attribute.
> ---
> drivers/hwmon/bt1-pvt.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/bt1-pvt.c b/drivers/hwmon/bt1-pvt.c
> index 1a9772fb1f73..8709b3f54086 100644
> --- a/drivers/hwmon/bt1-pvt.c
> +++ b/drivers/hwmon/bt1-pvt.c
> @@ -64,7 +64,7 @@ static const struct pvt_sensor_info pvt_info[] = {
> * 48380,
> * where T = [-48380, 147438] mC and N = [0, 1023].
> */
> -static const struct pvt_poly poly_temp_to_N = {
> +static const struct pvt_poly __maybe_unused poly_temp_to_N = {
> .total_divider = 10000,
> .terms = {
> {4, 18322, 10000, 10000},
> @@ -96,7 +96,7 @@ static const struct pvt_poly poly_N_to_temp = {
> * N = (18658e-3*V - 11572) / 10,
> * V = N * 10^5 / 18658 + 11572 * 10^4 / 18658.
> */
> -static const struct pvt_poly poly_volt_to_N = {
> +static const struct pvt_poly __maybe_unused poly_volt_to_N = {
> .total_divider = 10,
> .terms = {
> {1, 18658, 1000, 1},