Re: [PATCH 55/57] staging: comedi: drivers: ni_mio_common: Move 'range_ni_E_ao_ext' to where it is used

From: Uwe Kleine-König
Date: Thu Apr 15 2021 - 02:55:53 EST


Hello Lee,

nitpick: You move range_ni_E_ao_ext to the header. However that header
doesn't use range_ni_E_ao_ext, so the subject is technically wrong.

On Wed, Apr 14, 2021 at 07:11:27PM +0100, Lee Jones wrote:
> ... and mark it as __maybe_unused since not all users of the
> header file reference it.
>
> Fixes the following W=1 kernel build warning(s):
>
> drivers/staging/comedi/drivers/ni_mio_common.c:163:35: warning: ‘range_ni_E_ao_ext’ defined but not used [-Wunused-const-variable=]
>
> Cc: Ian Abbott <abbotti@xxxxxxxxx>
> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
> Cc: "Uwe Kleine-König" <u.kleine-koenig@xxxxxxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Cc: "David A. Schleef" <ds@xxxxxxxxxxx>
> Cc: Mori Hess <fmhess@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Truxton Fulton <trux@xxxxxxxxxxx>
> Cc: linux-staging@xxxxxxxxxxxxxxx
> Cc: linux-pwm@xxxxxxxxxxxxxxx
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> ---
> drivers/staging/comedi/drivers/ni_mio_common.c | 9 ---------
> drivers/staging/comedi/drivers/ni_stc.h | 9 ++++++++-
> 2 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c
> index 4f80a4991f953..37615b4e2c10d 100644
> --- a/drivers/staging/comedi/drivers/ni_mio_common.c
> +++ b/drivers/staging/comedi/drivers/ni_mio_common.c
> @@ -160,15 +160,6 @@ static const struct comedi_lrange range_ni_M_ai_628x = {
> }
> };
>
> -static const struct comedi_lrange range_ni_E_ao_ext = {
> - 4, {
> - BIP_RANGE(10),
> - UNI_RANGE(10),
> - RANGE_ext(-1, 1),
> - RANGE_ext(0, 1)
> - }
> -};
> -
> static const struct comedi_lrange *const ni_range_lkup[] = {
> [ai_gain_16] = &range_ni_E_ai,
> [ai_gain_8] = &range_ni_E_ai_limited,
> diff --git a/drivers/staging/comedi/drivers/ni_stc.h b/drivers/staging/comedi/drivers/ni_stc.h
> index fbc0b753a0f59..0822e65f709dd 100644
> --- a/drivers/staging/comedi/drivers/ni_stc.h
> +++ b/drivers/staging/comedi/drivers/ni_stc.h
> @@ -1137,6 +1137,13 @@ struct ni_private {
> u8 rgout0_usage;
> };
>
> -static const struct comedi_lrange range_ni_E_ao_ext;
> +static const struct comedi_lrange __maybe_unused range_ni_E_ao_ext = {
> + 4, {
> + BIP_RANGE(10),
> + UNI_RANGE(10),
> + RANGE_ext(-1, 1),
> + RANGE_ext(0, 1)
> + }
> +};

I think a downside of this solution is that range_ni_E_ao_ext might be
duplicated in the object files. (Ditto for the status quo BTW.)

I think the right approach to fix the compiler warning and the
duplication is to declare range_ni_E_ao_ext external in the header and
keep the definition in ni_mio_common.c.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature