Message ID | 20210520122538.3470259-6-lee.jones@linaro.org |
---|---|
State | Changes Requested |
Headers | show |
Series | Rid W=1 warnings from Comedi | expand |
Hello Lee, On Thu, May 20, 2021 at 01:25:37PM +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@mev.co.uk> > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > Cc: Lee Jones <lee.jones@linaro.org> > Cc: "David A. Schleef" <ds@schleef.org> > Cc: Mori Hess <fmhess@users.sourceforge.net> > Cc: Truxton Fulton <trux@truxton.com> > Cc: linux-staging@lists.linux.dev > Cc: linux-pwm@vger.kernel.org > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > 2 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > index 4f80a4991f953..37615b4e2c10d 100644 > --- a/drivers/comedi/drivers/ni_mio_common.c > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > index fbc0b753a0f59..0822e65f709dd 100644 > --- a/drivers/comedi/drivers/ni_stc.h > +++ b/drivers/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) > + } > +}; When you send this patch some time ago I wrote: | 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. You didn't reply to that, so maybe you missed it? Best regards Uwe
On 20/05/2021 13:25, 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@mev.co.uk> > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > Cc: Lee Jones <lee.jones@linaro.org> > Cc: "David A. Schleef" <ds@schleef.org> > Cc: Mori Hess <fmhess@users.sourceforge.net> > Cc: Truxton Fulton <trux@truxton.com> > Cc: linux-staging@lists.linux.dev > Cc: linux-pwm@vger.kernel.org > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > 2 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > index 4f80a4991f953..37615b4e2c10d 100644 > --- a/drivers/comedi/drivers/ni_mio_common.c > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > index fbc0b753a0f59..0822e65f709dd 100644 > --- a/drivers/comedi/drivers/ni_stc.h > +++ b/drivers/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) > + } > +}; > > #endif /* _COMEDI_NI_STC_H */ > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" definition of the variable). Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think we can live with the small amount of duplication), and to remove the tentative definition from "ni_stc.h".
On Thu, 20 May 2021, Ian Abbott wrote: > On 20/05/2021 13:25, 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@mev.co.uk> > > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Cc: Thierry Reding <thierry.reding@gmail.com> > > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > > Cc: Lee Jones <lee.jones@linaro.org> > > Cc: "David A. Schleef" <ds@schleef.org> > > Cc: Mori Hess <fmhess@users.sourceforge.net> > > Cc: Truxton Fulton <trux@truxton.com> > > Cc: linux-staging@lists.linux.dev > > Cc: linux-pwm@vger.kernel.org > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > --- > > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > > 2 files changed, 8 insertions(+), 10 deletions(-) > > > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > > index 4f80a4991f953..37615b4e2c10d 100644 > > --- a/drivers/comedi/drivers/ni_mio_common.c > > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > > index fbc0b753a0f59..0822e65f709dd 100644 > > --- a/drivers/comedi/drivers/ni_stc.h > > +++ b/drivers/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) > > + } > > +}; > > #endif /* _COMEDI_NI_STC_H */ > > > > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need > `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" > definition of the variable). > > Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` > from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think > we can live with the small amount of duplication), and to remove the > tentative definition from "ni_stc.h". Happy to rework. Am I taking this or Uwe's suggestion?
On Fri, May 21, 2021 at 08:26:35AM +0100, Lee Jones wrote: > On Thu, 20 May 2021, Ian Abbott wrote: > > > On 20/05/2021 13:25, 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@mev.co.uk> > > > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > > Cc: Thierry Reding <thierry.reding@gmail.com> > > > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > > > Cc: Lee Jones <lee.jones@linaro.org> > > > Cc: "David A. Schleef" <ds@schleef.org> > > > Cc: Mori Hess <fmhess@users.sourceforge.net> > > > Cc: Truxton Fulton <trux@truxton.com> > > > Cc: linux-staging@lists.linux.dev > > > Cc: linux-pwm@vger.kernel.org > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > --- > > > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > > > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > > > 2 files changed, 8 insertions(+), 10 deletions(-) > > > > > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > > > index 4f80a4991f953..37615b4e2c10d 100644 > > > --- a/drivers/comedi/drivers/ni_mio_common.c > > > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > > > index fbc0b753a0f59..0822e65f709dd 100644 > > > --- a/drivers/comedi/drivers/ni_stc.h > > > +++ b/drivers/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) > > > + } > > > +}; > > > #endif /* _COMEDI_NI_STC_H */ > > > > > > > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need > > `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" > > definition of the variable). > > > > Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` > > from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think > > we can live with the small amount of duplication), and to remove the > > tentative definition from "ni_stc.h". > > Happy to rework. > > Am I taking this or Uwe's suggestion? uah, maybe the first step is to not include ni_mio_common.c from other c files. That should save some more duplicated bytes than only range_ni_E_ao_ext ... Best regards Uwe
On Fri, May 21, 2021 at 08:26:35AM +0100, Lee Jones wrote: > On Thu, 20 May 2021, Ian Abbott wrote: > > > On 20/05/2021 13:25, 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@mev.co.uk> > > > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > > Cc: Thierry Reding <thierry.reding@gmail.com> > > > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > > > Cc: Lee Jones <lee.jones@linaro.org> > > > Cc: "David A. Schleef" <ds@schleef.org> > > > Cc: Mori Hess <fmhess@users.sourceforge.net> > > > Cc: Truxton Fulton <trux@truxton.com> > > > Cc: linux-staging@lists.linux.dev > > > Cc: linux-pwm@vger.kernel.org > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > --- > > > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > > > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > > > 2 files changed, 8 insertions(+), 10 deletions(-) > > > > > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > > > index 4f80a4991f953..37615b4e2c10d 100644 > > > --- a/drivers/comedi/drivers/ni_mio_common.c > > > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > > > index fbc0b753a0f59..0822e65f709dd 100644 > > > --- a/drivers/comedi/drivers/ni_stc.h > > > +++ b/drivers/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) > > > + } > > > +}; > > > #endif /* _COMEDI_NI_STC_H */ > > > > > > > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need > > `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" > > definition of the variable). > > > > Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` > > from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think > > we can live with the small amount of duplication), and to remove the > > tentative definition from "ni_stc.h". > > Happy to rework. > > Am I taking this or Uwe's suggestion? You should probably take Ian's suggestion because he is the maintainer and I really doubt Uwe's will build. :P But Uwe is right that including .c files is ugly. regards, dan carpenter
On Fri, 21 May 2021, Dan Carpenter wrote: > On Fri, May 21, 2021 at 08:26:35AM +0100, Lee Jones wrote: > > On Thu, 20 May 2021, Ian Abbott wrote: > > > > > On 20/05/2021 13:25, 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@mev.co.uk> > > > > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > > > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > > > Cc: Thierry Reding <thierry.reding@gmail.com> > > > > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > > > > Cc: Lee Jones <lee.jones@linaro.org> > > > > Cc: "David A. Schleef" <ds@schleef.org> > > > > Cc: Mori Hess <fmhess@users.sourceforge.net> > > > > Cc: Truxton Fulton <trux@truxton.com> > > > > Cc: linux-staging@lists.linux.dev > > > > Cc: linux-pwm@vger.kernel.org > > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > > --- > > > > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > > > > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > > > > 2 files changed, 8 insertions(+), 10 deletions(-) > > > > > > > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > > > > index 4f80a4991f953..37615b4e2c10d 100644 > > > > --- a/drivers/comedi/drivers/ni_mio_common.c > > > > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > > > > index fbc0b753a0f59..0822e65f709dd 100644 > > > > --- a/drivers/comedi/drivers/ni_stc.h > > > > +++ b/drivers/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) > > > > + } > > > > +}; > > > > #endif /* _COMEDI_NI_STC_H */ > > > > > > > > > > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need > > > `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" > > > definition of the variable). > > > > > > Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` > > > from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think > > > we can live with the small amount of duplication), and to remove the > > > tentative definition from "ni_stc.h". > > > > Happy to rework. > > > > Am I taking this or Uwe's suggestion? > > You should probably take Ian's suggestion because he is the maintainer I think you missed my point. Now there are 2 options; I'd like Ian to tell me which one to implement. > and I really doubt Uwe's will build. :P But Uwe is right that > including .c files is ugly. No one is disputing that. :)
On Fri, May 21, 2021 at 02:54:31PM +0300, Dan Carpenter wrote: > On Fri, May 21, 2021 at 08:26:35AM +0100, Lee Jones wrote: > > On Thu, 20 May 2021, Ian Abbott wrote: > > > > > On 20/05/2021 13:25, 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@mev.co.uk> > > > > Cc: H Hartley Sweeten <hsweeten@visionengravers.com> > > > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > > > Cc: Thierry Reding <thierry.reding@gmail.com> > > > > Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> > > > > Cc: Lee Jones <lee.jones@linaro.org> > > > > Cc: "David A. Schleef" <ds@schleef.org> > > > > Cc: Mori Hess <fmhess@users.sourceforge.net> > > > > Cc: Truxton Fulton <trux@truxton.com> > > > > Cc: linux-staging@lists.linux.dev > > > > Cc: linux-pwm@vger.kernel.org > > > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > > > > --- > > > > drivers/comedi/drivers/ni_mio_common.c | 9 --------- > > > > drivers/comedi/drivers/ni_stc.h | 9 ++++++++- > > > > 2 files changed, 8 insertions(+), 10 deletions(-) > > > > > > > > diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c > > > > index 4f80a4991f953..37615b4e2c10d 100644 > > > > --- a/drivers/comedi/drivers/ni_mio_common.c > > > > +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h > > > > index fbc0b753a0f59..0822e65f709dd 100644 > > > > --- a/drivers/comedi/drivers/ni_stc.h > > > > +++ b/drivers/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) > > > > + } > > > > +}; > > > > #endif /* _COMEDI_NI_STC_H */ > > > > > > > > > > The "ni_stc.h" header is also included by "ni_mio_cs.c" which doesn't need > > > `range_ni_E_ao_ext` (admittedly, it was already pulling in a "tentative" > > > definition of the variable). > > > > > > Thinking about it, I think it's probably better to move `range_ni_E_ao_ext` > > > from "ni_mio_common.c" into *both* "ni_atmio.c" and "ni_pcimio.c" (I think > > > we can live with the small amount of duplication), and to remove the > > > tentative definition from "ni_stc.h". > > > > Happy to rework. > > > > Am I taking this or Uwe's suggestion? > > You should probably take Ian's suggestion because he is the maintainer > and I really doubt Uwe's will build. :P But Uwe is right that > including .c files is ugly. I just tried diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c index 4f80a4991f95..3b37c8b00ecd 100644 --- a/drivers/comedi/drivers/ni_mio_common.c +++ b/drivers/comedi/drivers/ni_mio_common.c @@ -160,7 +160,7 @@ static const struct comedi_lrange range_ni_M_ai_628x = { } }; -static const struct comedi_lrange range_ni_E_ao_ext = { +const struct comedi_lrange range_ni_E_ao_ext = { 4, { BIP_RANGE(10), UNI_RANGE(10), diff --git a/drivers/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h index fbc0b753a0f5..026d215f2ef2 100644 --- a/drivers/comedi/drivers/ni_stc.h +++ b/drivers/comedi/drivers/ni_stc.h @@ -1137,6 +1137,6 @@ struct ni_private { u8 rgout0_usage; }; -static const struct comedi_lrange range_ni_E_ao_ext; +extern const struct comedi_lrange range_ni_E_ao_ext; #endif /* _COMEDI_NI_STC_H */ and it built for me. Best regards Uwe
On Fri, May 21, 2021 at 04:39:25PM +0200, Uwe Kleine-König wrote: > > and it built for me. You're right. I appologize. I thought the linker would fail if we had the same variable in two files but I was wrong. regards, dan carpenter
diff --git a/drivers/comedi/drivers/ni_mio_common.c b/drivers/comedi/drivers/ni_mio_common.c index 4f80a4991f953..37615b4e2c10d 100644 --- a/drivers/comedi/drivers/ni_mio_common.c +++ b/drivers/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/comedi/drivers/ni_stc.h b/drivers/comedi/drivers/ni_stc.h index fbc0b753a0f59..0822e65f709dd 100644 --- a/drivers/comedi/drivers/ni_stc.h +++ b/drivers/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) + } +}; #endif /* _COMEDI_NI_STC_H */
... 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@mev.co.uk> Cc: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> Cc: Lee Jones <lee.jones@linaro.org> Cc: "David A. Schleef" <ds@schleef.org> Cc: Mori Hess <fmhess@users.sourceforge.net> Cc: Truxton Fulton <trux@truxton.com> Cc: linux-staging@lists.linux.dev Cc: linux-pwm@vger.kernel.org Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/comedi/drivers/ni_mio_common.c | 9 --------- drivers/comedi/drivers/ni_stc.h | 9 ++++++++- 2 files changed, 8 insertions(+), 10 deletions(-)