lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4a6c8c31-360b-1cf2-7d6c-8426199637f0@huawei.com>
Date:   Mon, 4 Nov 2019 09:29:21 +0800
From:   Yuehaibing <yuehaibing@...wei.com>
To:     Ladislav Michl <ladis@...ux-mips.org>,
        Jonathan Cameron <jic23@...nel.org>
CC:     <knaack.h@....de>, <lars@...afoo.de>, <pmeerw@...erw.net>,
        <denis.ciocca@...com>, <rfontana@...hat.com>, <tglx@...utronix.de>,
        <heiko.stuebner@...com>, <rjones@...eworks.com>,
        <drake@...lessm.com>, <colin.king@...onical.com>,
        <linux-iio@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH -next] iio: st_accel: Fix unused variable warning

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@...ux-mips.org> 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@...wei.com>
>>>> ---
>>>>  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?

> +				  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
>>>>   
> 
> .
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ