2018-01-16 09:14:53

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] [RESEND net] fm10k: mark PM functions as __maybe_unused

A cleanup of the PM code left an incorrect #ifdef in place, leading
to a harmless build warning:

drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2502:12: error: 'fm10k_suspend' defined but not used [-Werror=unused-function]
drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2475:12: error: 'fm10k_resume' defined but not used [-Werror=unused-function]

It's easier to use __maybe_unused attributes here, since you
can't pick the wrong one.

Fixes: 8249c47c6ba4 ("fm10k: use generic PM hooks instead of legacy PCIe power hooks")
Acked-by: Jacob Keller <[email protected]>
Tested-by: Krishneil Singh <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
---
Apparently nobody picked this up the first time around (Oct 2017),
here is the same patch again.
---
drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
index 7f605221a686..a434fecfdfeb 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
@@ -2463,7 +2463,6 @@ static int fm10k_handle_resume(struct fm10k_intfc *interface)
return err;
}

-#ifdef CONFIG_PM
/**
* fm10k_resume - Generic PM resume hook
* @dev: generic device structure
@@ -2472,7 +2471,7 @@ static int fm10k_handle_resume(struct fm10k_intfc *interface)
* suspend or hibernation. This function does not need to handle lower PCIe
* device state as the stack takes care of that for us.
**/
-static int fm10k_resume(struct device *dev)
+static int __maybe_unused fm10k_resume(struct device *dev)
{
struct fm10k_intfc *interface = pci_get_drvdata(to_pci_dev(dev));
struct net_device *netdev = interface->netdev;
@@ -2499,7 +2498,7 @@ static int fm10k_resume(struct device *dev)
* system suspend or hibernation. This function does not need to handle lower
* PCIe device state as the stack takes care of that for us.
**/
-static int fm10k_suspend(struct device *dev)
+static int __maybe_unused fm10k_suspend(struct device *dev)
{
struct fm10k_intfc *interface = pci_get_drvdata(to_pci_dev(dev));
struct net_device *netdev = interface->netdev;
@@ -2511,8 +2510,6 @@ static int fm10k_suspend(struct device *dev)
return 0;
}

-#endif /* CONFIG_PM */
-
/**
* fm10k_io_error_detected - called when PCI error is detected
* @pdev: Pointer to PCI device
@@ -2643,11 +2640,9 @@ static struct pci_driver fm10k_driver = {
.id_table = fm10k_pci_tbl,
.probe = fm10k_probe,
.remove = fm10k_remove,
-#ifdef CONFIG_PM
.driver = {
.pm = &fm10k_pm_ops,
},
-#endif /* CONFIG_PM */
.sriov_configure = fm10k_iov_configure,
.err_handler = &fm10k_err_handler
};
--
2.9.0


2018-01-16 16:12:37

by Jacob Keller

[permalink] [raw]
Subject: RE: [PATCH] [RESEND net] fm10k: mark PM functions as __maybe_unused

> -----Original Message-----
> From: Arnd Bergmann [mailto:[email protected]]
> Sent: Tuesday, January 16, 2018 1:14 AM
> To: Kirsher, Jeffrey T <[email protected]>
> Cc: Arnd Bergmann <[email protected]>; Keller, Jacob E
> <[email protected]>; David S. Miller <[email protected]>; Kwan,
> Ngai-mint <[email protected]>; [email protected];
> [email protected]; [email protected]
> Subject: [PATCH] [RESEND net] fm10k: mark PM functions as __maybe_unused
>
> A cleanup of the PM code left an incorrect #ifdef in place, leading
> to a harmless build warning:
>
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2502:12: error: 'fm10k_suspend'
> defined but not used [-Werror=unused-function]
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2475:12: error: 'fm10k_resume'
> defined but not used [-Werror=unused-function]
>
> It's easier to use __maybe_unused attributes here, since you
> can't pick the wrong one.
>
> Fixes: 8249c47c6ba4 ("fm10k: use generic PM hooks instead of legacy PCIe power
> hooks")
> Acked-by: Jacob Keller <[email protected]>
> Tested-by: Krishneil Singh <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> Apparently nobody picked this up the first time around (Oct 2017),
> here is the same patch again.

Odd. I remember seeing this and thought I ack'd it..? Guess it got missed.

Acked-by: Jacob Keller <[email protected]>

> ---
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> index 7f605221a686..a434fecfdfeb 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> @@ -2463,7 +2463,6 @@ static int fm10k_handle_resume(struct fm10k_intfc
> *interface)
> return err;
> }
>
> -#ifdef CONFIG_PM
> /**
> * fm10k_resume - Generic PM resume hook
> * @dev: generic device structure
> @@ -2472,7 +2471,7 @@ static int fm10k_handle_resume(struct fm10k_intfc
> *interface)
> * suspend or hibernation. This function does not need to handle lower PCIe
> * device state as the stack takes care of that for us.
> **/
> -static int fm10k_resume(struct device *dev)
> +static int __maybe_unused fm10k_resume(struct device *dev)
> {
> struct fm10k_intfc *interface = pci_get_drvdata(to_pci_dev(dev));
> struct net_device *netdev = interface->netdev;
> @@ -2499,7 +2498,7 @@ static int fm10k_resume(struct device *dev)
> * system suspend or hibernation. This function does not need to handle lower
> * PCIe device state as the stack takes care of that for us.
> **/
> -static int fm10k_suspend(struct device *dev)
> +static int __maybe_unused fm10k_suspend(struct device *dev)
> {
> struct fm10k_intfc *interface = pci_get_drvdata(to_pci_dev(dev));
> struct net_device *netdev = interface->netdev;
> @@ -2511,8 +2510,6 @@ static int fm10k_suspend(struct device *dev)
> return 0;
> }
>
> -#endif /* CONFIG_PM */
> -
> /**
> * fm10k_io_error_detected - called when PCI error is detected
> * @pdev: Pointer to PCI device
> @@ -2643,11 +2640,9 @@ static struct pci_driver fm10k_driver = {
> .id_table = fm10k_pci_tbl,
> .probe = fm10k_probe,
> .remove = fm10k_remove,
> -#ifdef CONFIG_PM
> .driver = {
> .pm = &fm10k_pm_ops,
> },
> -#endif /* CONFIG_PM */
> .sriov_configure = fm10k_iov_configure,
> .err_handler = &fm10k_err_handler
> };
> --
> 2.9.0

2018-01-16 16:20:15

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] [RESEND net] fm10k: mark PM functions as __maybe_unused

On Tue, Jan 16, 2018 at 5:12 PM, Keller, Jacob E
<[email protected]> wrote:
>> -----Original Message-----
>> From: Arnd Bergmann [mailto:[email protected]]
>> Sent: Tuesday, January 16, 2018 1:14 AM
>> To: Kirsher, Jeffrey T <[email protected]>
>> Cc: Arnd Bergmann <[email protected]>; Keller, Jacob E
>> <[email protected]>; David S. Miller <[email protected]>; Kwan,
>> Ngai-mint <[email protected]>; [email protected];
>> [email protected]; [email protected]
>> Subject: [PATCH] [RESEND net] fm10k: mark PM functions as __maybe_unused
>>
>> A cleanup of the PM code left an incorrect #ifdef in place, leading
>> to a harmless build warning:
>>
>> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2502:12: error: 'fm10k_suspend'
>> defined but not used [-Werror=unused-function]
>> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:2475:12: error: 'fm10k_resume'
>> defined but not used [-Werror=unused-function]
>>
>> It's easier to use __maybe_unused attributes here, since you
>> can't pick the wrong one.
>>
>> Fixes: 8249c47c6ba4 ("fm10k: use generic PM hooks instead of legacy PCIe power
>> hooks")
>> Acked-by: Jacob Keller <[email protected]>
>> Tested-by: Krishneil Singh <[email protected]>
>> Signed-off-by: Arnd Bergmann <[email protected]>
>> ---
>> Apparently nobody picked this up the first time around (Oct 2017),
>> here is the same patch again.
>
> Odd. I remember seeing this and thought I ack'd it..? Guess it got missed.
>
> Acked-by: Jacob Keller <[email protected]>

Yes, you did give an Ack (see above), it's just that it didn't make it
into the tree for some reason. Maybe Jeff assumed you would
forward it to him and you thought that he would pick it up from the
list?

Arnd