diff mbox series

[1/2] hwmon: gpio-fan: mark OF related data as maybe unused

Message ID 20230311111610.251774-1-krzysztof.kozlowski@linaro.org (mailing list archive)
State Superseded
Headers show
Series [1/2] hwmon: gpio-fan: mark OF related data as maybe unused | expand

Commit Message

Krzysztof Kozlowski March 11, 2023, 11:16 a.m. UTC
The driver can be compile tested with !CONFIG_OF making certain data
unused:

  drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 drivers/hwmon/gpio-fan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Guenter Roeck March 12, 2023, 6 p.m. UTC | #1
On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
> The driver can be compile tested with !CONFIG_OF making certain data
> unused:
> 
>   drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Applied.

Thanks,
Guenter

> ---
>  drivers/hwmon/gpio-fan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
> index e75db6f64e8c..be7f06fb7f78 100644
> --- a/drivers/hwmon/gpio-fan.c
> +++ b/drivers/hwmon/gpio-fan.c
> @@ -481,7 +481,7 @@ static int gpio_fan_get_of_data(struct gpio_fan_data *fan_data)
>  	return 0;
>  }
>  
> -static const struct of_device_id of_gpio_fan_match[] = {
> +static const struct of_device_id of_gpio_fan_match[] __maybe_unused = {
>  	{ .compatible = "gpio-fan", },
>  	{},
>  };
Guenter Roeck March 12, 2023, 6:06 p.m. UTC | #2
On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
> The driver can be compile tested with !CONFIG_OF making certain data
> unused:
> 
>   drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
> 

How do you trigger that ? The driver depends on OF_GPIO which
in turn depends on OF. Arguably that means that of_match_ptr()
doesnot really make sense, but still I don't see how you can
trigger the above error message.

Thanks,
Guenter

> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
>  drivers/hwmon/gpio-fan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
> index e75db6f64e8c..be7f06fb7f78 100644
> --- a/drivers/hwmon/gpio-fan.c
> +++ b/drivers/hwmon/gpio-fan.c
> @@ -481,7 +481,7 @@ static int gpio_fan_get_of_data(struct gpio_fan_data *fan_data)
>  	return 0;
>  }
>  
> -static const struct of_device_id of_gpio_fan_match[] = {
> +static const struct of_device_id of_gpio_fan_match[] __maybe_unused = {
>  	{ .compatible = "gpio-fan", },
>  	{},
>  };
Krzysztof Kozlowski March 12, 2023, 6:08 p.m. UTC | #3
On 12/03/2023 19:06, Guenter Roeck wrote:
> On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
>> The driver can be compile tested with !CONFIG_OF making certain data
>> unused:
>>
>>   drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
>>
> 
> How do you trigger that ? The driver depends on OF_GPIO which
> in turn depends on OF. Arguably that means that of_match_ptr()
> doesnot really make sense, but still I don't see how you can
> trigger the above error message.

I can drop of_match_ptr, it's indeed in many cases not needed.

I just build x86_64 allyesconfig minus OF, with W=1.

Do you want to me to drop of_match_ptr?

Best regards,
Krzysztof
Guenter Roeck March 12, 2023, 6:48 p.m. UTC | #4
On 3/12/23 11:08, Krzysztof Kozlowski wrote:
> On 12/03/2023 19:06, Guenter Roeck wrote:
>> On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
>>> The driver can be compile tested with !CONFIG_OF making certain data
>>> unused:
>>>
>>>    drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
>>>
>>
>> How do you trigger that ? The driver depends on OF_GPIO which
>> in turn depends on OF. Arguably that means that of_match_ptr()
>> doesnot really make sense, but still I don't see how you can
>> trigger the above error message.
> 
> I can drop of_match_ptr, it's indeed in many cases not needed.
> 
> I just build x86_64 allyesconfig minus OF, with W=1.
> 

x86_64 allyesconfig minus OF minus results in SENSORS_GPIO_FAN being
deselected (it doesn't show up in the configuration anymore at all
after "make olddefconfig").

$ make allyesconfig
$ grep SENSORS_GPIO_FAN .config
CONFIG_SENSORS_GPIO_FAN=y
$ sed -i -e 's/CONFIG_OF=y/# CONFIG_OF is not set/' .config
$ make olddefconfig
#
# configuration written to .config
#
$ grep SENSORS_GPIO_FAN .config
$

I suspect what you did is to disable CONFIG_OF, and then you built
the driver without realizing that is was deselected.

> Do you want to me to drop of_match_ptr?
> 

Yes, sure, that makes more sense. The reason though is that the
driver depends on CONFIG_OF=y, not because of the build failure.

Thanks,
Guenter
Krzysztof Kozlowski March 12, 2023, 7:32 p.m. UTC | #5
On 12/03/2023 19:48, Guenter Roeck wrote:
> On 3/12/23 11:08, Krzysztof Kozlowski wrote:
>> On 12/03/2023 19:06, Guenter Roeck wrote:
>>> On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
>>>> The driver can be compile tested with !CONFIG_OF making certain data
>>>> unused:
>>>>
>>>>    drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
>>>>
>>>
>>> How do you trigger that ? The driver depends on OF_GPIO which
>>> in turn depends on OF. Arguably that means that of_match_ptr()
>>> doesnot really make sense, but still I don't see how you can
>>> trigger the above error message.
>>
>> I can drop of_match_ptr, it's indeed in many cases not needed.
>>
>> I just build x86_64 allyesconfig minus OF, with W=1.
>>
> 
> x86_64 allyesconfig minus OF minus results in SENSORS_GPIO_FAN being
> deselected (it doesn't show up in the configuration anymore at all
> after "make olddefconfig").
> 
> $ make allyesconfig
> $ grep SENSORS_GPIO_FAN .config
> CONFIG_SENSORS_GPIO_FAN=y
> $ sed -i -e 's/CONFIG_OF=y/# CONFIG_OF is not set/' .config
> $ make olddefconfig
> #
> # configuration written to .config
> #
> $ grep SENSORS_GPIO_FAN .config
> $
> 
> I suspect what you did is to disable CONFIG_OF, and then you built
> the driver without realizing that is was deselected.

The driver would not built. I mean, I did not cheat here to built it
with incorrect config.

I rather suspect that config is broken due to:
WARNING: unmet direct dependencies detected for OF_GPIO
WARNING: unmet direct dependencies detected for GPIO_SYSCON
WARNING: unmet direct dependencies detected for MFD_STMFX

This was next-20230308

> 
>> Do you want to me to drop of_match_ptr?
>>
> 
> Yes, sure, that makes more sense. The reason though is that the
> driver depends on CONFIG_OF=y, not because of the build failure.

I'll send v2 of both patches because anyway dropping of_match_ptr is
preferred.

Best regards,
Krzysztof
Guenter Roeck March 12, 2023, 9:03 p.m. UTC | #6
On 3/12/23 12:32, Krzysztof Kozlowski wrote:
> On 12/03/2023 19:48, Guenter Roeck wrote:
>> On 3/12/23 11:08, Krzysztof Kozlowski wrote:
>>> On 12/03/2023 19:06, Guenter Roeck wrote:
>>>> On Sat, Mar 11, 2023 at 12:16:09PM +0100, Krzysztof Kozlowski wrote:
>>>>> The driver can be compile tested with !CONFIG_OF making certain data
>>>>> unused:
>>>>>
>>>>>     drivers/hwmon/gpio-fan.c:484:34: error: ‘of_gpio_fan_match’ defined but not used [-Werror=unused-const-variable=]
>>>>>
>>>>
>>>> How do you trigger that ? The driver depends on OF_GPIO which
>>>> in turn depends on OF. Arguably that means that of_match_ptr()
>>>> doesnot really make sense, but still I don't see how you can
>>>> trigger the above error message.
>>>
>>> I can drop of_match_ptr, it's indeed in many cases not needed.
>>>
>>> I just build x86_64 allyesconfig minus OF, with W=1.
>>>
>>
>> x86_64 allyesconfig minus OF minus results in SENSORS_GPIO_FAN being
>> deselected (it doesn't show up in the configuration anymore at all
>> after "make olddefconfig").
>>
>> $ make allyesconfig
>> $ grep SENSORS_GPIO_FAN .config
>> CONFIG_SENSORS_GPIO_FAN=y
>> $ sed -i -e 's/CONFIG_OF=y/# CONFIG_OF is not set/' .config
>> $ make olddefconfig
>> #
>> # configuration written to .config
>> #
>> $ grep SENSORS_GPIO_FAN .config
>> $
>>
>> I suspect what you did is to disable CONFIG_OF, and then you built
>> the driver without realizing that is was deselected.
> 
> The driver would not built. I mean, I did not cheat here to built it
> with incorrect config.
> 
> I rather suspect that config is broken due to:
> WARNING: unmet direct dependencies detected for OF_GPIO
> WARNING: unmet direct dependencies detected for GPIO_SYSCON
> WARNING: unmet direct dependencies detected for MFD_STMFX
> 
> This was next-20230308
> 
Interesting. That has been fixed in next-20230310, where
SENSORS_GPIO_FAN is again deselected if CONFIG_OF is disabled.

>>
>>> Do you want to me to drop of_match_ptr?
>>>
>>
>> Yes, sure, that makes more sense. The reason though is that the
>> driver depends on CONFIG_OF=y, not because of the build failure.
> 
> I'll send v2 of both patches because anyway dropping of_match_ptr is
> preferred.
> 
Ok.

Thanks,
Guenter
Krzysztof Kozlowski March 12, 2023, 9:14 p.m. UTC | #7
On 12/03/2023 22:03, Guenter Roeck wrote:
>>
>> The driver would not built. I mean, I did not cheat here to built it
>> with incorrect config.
>>
>> I rather suspect that config is broken due to:
>> WARNING: unmet direct dependencies detected for OF_GPIO
>> WARNING: unmet direct dependencies detected for GPIO_SYSCON
>> WARNING: unmet direct dependencies detected for MFD_STMFX
>>
>> This was next-20230308
>>
> Interesting. That has been fixed in next-20230310, where
> SENSORS_GPIO_FAN is again deselected if CONFIG_OF is disabled.

Nice, I picked by coincidence lucky base :)

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
index e75db6f64e8c..be7f06fb7f78 100644
--- a/drivers/hwmon/gpio-fan.c
+++ b/drivers/hwmon/gpio-fan.c
@@ -481,7 +481,7 @@  static int gpio_fan_get_of_data(struct gpio_fan_data *fan_data)
 	return 0;
 }
 
-static const struct of_device_id of_gpio_fan_match[] = {
+static const struct of_device_id of_gpio_fan_match[] __maybe_unused = {
 	{ .compatible = "gpio-fan", },
 	{},
 };