On Mon, 4 Nov 2019 09:29:21 +0800 Yuehaibing <yuehaibing@xxxxxxxxxx> wrote: > On 2019/11/3 4:15, Ladislav Michl wrote: > > On Sat, Nov 02, 2019 at 02:08:10PM +0000, Jonathan Cameron wrote: > >> On Sat, 2 Nov 2019 11:41:25 +0100 > >> Ladislav Michl <ladis@xxxxxxxxxxxxxx> wrote: > >> > >>> On Fri, Nov 01, 2019 at 09:47:41PM +0800, YueHaibing wrote: > >>>> drivers/iio/accel/st_accel_core.c:1005:44: warning: > >>>> mount_matrix_ext_info defined but not used [-Wunused-const-variable=] > >>>> > >>>> Move it to ifdef to mute this warning. > >>>> > >>>> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > >>>> --- > >>>> drivers/iio/accel/st_accel_core.c | 2 ++ > >>>> 1 file changed, 2 insertions(+) > >>>> > >>>> diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c > >>>> index 2e37f8a..bba0717 100644 > >>>> --- a/drivers/iio/accel/st_accel_core.c > >>>> +++ b/drivers/iio/accel/st_accel_core.c > >>>> @@ -1002,10 +1002,12 @@ get_mount_matrix(const struct iio_dev *indio_dev, > >>>> return adata->mount_matrix; > >>>> } > >>>> > >>>> +#ifdef CONFIG_ACPI > >>>> static const struct iio_chan_spec_ext_info mount_matrix_ext_info[] = { > >>>> IIO_MOUNT_MATRIX(IIO_SHARED_BY_ALL, get_mount_matrix), > >>> > >>> So now you do not get any warning for unused get_mount_matrix? > >>> (Then it would make more sense to put all that stuff under one ifdef > >>> and provide empty apply_acpi_orientation for non ACPI case) > >> > >> Does the __maybe_unused marking make this go away? > >> > >> I'd assume that the compiler will manage to drop this either way > >> but I guess we should check that. > >> > >> ifdef magic is always harder to read and potentially fragile in the > >> long run. Here we simply want to indicate that in some build > >> configurations we might not use this. > > > > This suggestion implies we'll get rid of CONFIG_ACPI completely, which > > seems inapproriate looking at size of apply_acpi_orientation function. > > And having both CONFIG_ACPI and __maybe_unused does not make much > > sense. I had something like that in mind (+COMPILE_TEST perhaps): > > > > diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c > > index 2e37f8a6d8cf..0e7eac62d618 100644 > > --- a/drivers/iio/accel/st_accel_core.c > > +++ b/drivers/iio/accel/st_accel_core.c > > @@ -993,6 +993,7 @@ static const struct iio_trigger_ops st_accel_trigger_ops = { > > #define ST_ACCEL_TRIGGER_OPS NULL > > #endif > > > > +#ifdef CONFIG_ACPI > > static const struct iio_mount_matrix * > > get_mount_matrix(const struct iio_dev *indio_dev, > > const struct iio_chan_spec *chan) > > @@ -1013,7 +1014,6 @@ static const struct iio_chan_spec_ext_info mount_matrix_ext_info[] = { > > static int apply_acpi_orientation(struct iio_dev *indio_dev, > > struct iio_chan_spec *channels) > > { > > -#ifdef CONFIG_ACPI > > struct st_sensor_data *adata = iio_priv(indio_dev); > > struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; > > struct acpi_device *adev; > > @@ -1141,10 +1141,14 @@ static int apply_acpi_orientation(struct iio_dev *indio_dev, > > out: > > kfree(buffer.pointer); > > return ret; > > -#else /* !CONFIG_ACPI */ > > +} > > +#else > > +static int apply_acpi_orientation(struct iio_dev *indio_dev, > > Does this need inline? Not that I can see. It's in the c file not the header so there should be no issue with letting the compiler make the decision. It will almost certainly be optimized out anyway. Thanks, Jonathan > > > + struct iio_chan_spec *channels) > > +{ > > return 0; > > -#endif > > } > > +#endif > > > > /* > > * st_accel_get_settings() - get sensor settings from device name > >> Thanks, > >> > >> Jonathan > >> > >> > >>> > >>>> { }, > >>>> }; > >>>> +#endif > >>>> > >>>> /* Read ST-specific _ONT orientation data from ACPI and generate an > >>>> * appropriate mount matrix. > >>>> -- > >>>> 2.7.4 > >>>> > > > > . > > >