On Mon, 16 Dec 2019 20:19:23 +0200 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Since we put static variable to a header file it's copied to each module > that includes the header. But not all of them are actually used it. > > Mark predefined constants with __maybe_unused to calm a compiler down: > > In file included from drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c:17: > .../st_lsm6dsx/st_lsm6dsx.h:399:28: warning: ‘st_lsm6dsx_available_scan_masks’ defined but not used [-Wunused-const-variable=] > 399 | static const unsigned long st_lsm6dsx_available_scan_masks[] = {0x7, 0x0}; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > .../st_lsm6dsx/st_lsm6dsx.h:392:36: warning: ‘st_lsm6dsx_event’ defined but not used [-Wunused-const-variable=] > 392 | static const struct iio_event_spec st_lsm6dsx_event = { > | ^~~~~~~~~~~~~~~~ > ... > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Huh, I wonder we I never saw this one either locally or from the autobuilders. Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to have a fun Christmas poking at it ;) Thanks, Jonathan > --- > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h > index dc55d7dff3eb..b3fbbae81955 100644 > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h > @@ -389,14 +389,17 @@ struct st_lsm6dsx_hw { > const struct st_lsm6dsx_settings *settings; > }; > > -static const struct iio_event_spec st_lsm6dsx_event = { > +static __maybe_unused const struct iio_event_spec st_lsm6dsx_event = { > .type = IIO_EV_TYPE_THRESH, > .dir = IIO_EV_DIR_EITHER, > .mask_separate = BIT(IIO_EV_INFO_VALUE) | > BIT(IIO_EV_INFO_ENABLE) > }; > > -static const unsigned long st_lsm6dsx_available_scan_masks[] = {0x7, 0x0}; > +static __maybe_unused const unsigned long st_lsm6dsx_available_scan_masks[] = { > + 0x7, 0x0, > +}; > + > extern const struct dev_pm_ops st_lsm6dsx_pm_ops; > > int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,