Re: [PATCH] usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused

2013-03-29 Thread Alan Stern
On Thu, 28 Mar 2013, Arnd Bergmann wrote:

 Patch 4d053fdac3 usb: ehci: unlink_empty_async_suspended() only used
 with CONFIG_PM tried to hide the unlink_empty_async_suspended function
 inside of an #ifdef to work around an unused function warning.
 
 Unfortunately that had the effect of introducing a new warning:
 
 drivers/usb/host/ehci-q.c:1297:13: warning: 'unlink_empty_async_suspended' 
   declared 'static' but never defined [-Wunused-function]
 
 While we could add another #ifdef around the function declaration to avoid
 this, a nicer solution is to mark it as __maybe_unused, which will let
 gcc silently drop the function definition when it is not needed.

IMO the compiler is being stupid.  -Wunused-function should warn 
about functions that are defined but not called, not about functions 
that are declared but not defined.  Grumble...

Anyway yes, this is a good fix.

Acked-by: Alan Stern st...@rowland.harvard.edu

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused

2013-03-29 Thread Alan Stern
On Fri, 29 Mar 2013, Tony Prisk wrote:

 On 29/03/13 10:16, Arnd Bergmann wrote:
  On Thursday 28 March 2013, Arnd Bergmann wrote:
  Patch 4d053fdac3 usb: ehci: unlink_empty_async_suspended() only used
  with CONFIG_PM tried to hide the unlink_empty_async_suspended function
  inside of an #ifdef to work around an unused function warning.
  Hi Greg,
 
  Apparently the warning is now also in 3.8.5, so you might want to backport
  this fix as well after you send it upstream.
 
  Arnd
 Grr, my bad - I originally wrote the patch with the forward decl 
 #ifdef'd as well, but Alan pointed out that it didn't need to be. I 
 thought I recompiled it after the change, but obviously not.

It's my fault too.  I didn't realize the compiler would issue a warning 
about a static declaration with no definition.

Alan Stern

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused

2013-03-28 Thread Arnd Bergmann
Patch 4d053fdac3 usb: ehci: unlink_empty_async_suspended() only used
with CONFIG_PM tried to hide the unlink_empty_async_suspended function
inside of an #ifdef to work around an unused function warning.

Unfortunately that had the effect of introducing a new warning:

drivers/usb/host/ehci-q.c:1297:13: warning: 'unlink_empty_async_suspended' 
declared 'static' but never defined [-Wunused-function]

While we could add another #ifdef around the function declaration to avoid
this, a nicer solution is to mark it as __maybe_unused, which will let
gcc silently drop the function definition when it is not needed.

Signed-off-by: Arnd Bergmann a...@arndb.de
---
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
index 7562d76..d34b399 100644
--- a/drivers/usb/host/ehci-q.c
+++ b/drivers/usb/host/ehci-q.c
@@ -1293,9 +1293,8 @@ static void unlink_empty_async(struct ehci_hcd *ehci)
}
 }
 
-#ifdef CONFIG_PM
 /* The root hub is suspended; unlink all the async QHs */
-static void unlink_empty_async_suspended(struct ehci_hcd *ehci)
+static void __maybe_unused unlink_empty_async_suspended(struct ehci_hcd *ehci)
 {
struct ehci_qh  *qh;
 
@@ -1306,7 +1305,6 @@ static void unlink_empty_async_suspended(struct ehci_hcd 
*ehci)
}
start_iaa_cycle(ehci);
 }
-#endif
 
 /* makes sure the async qh will become idle */
 /* caller must own ehci-lock */
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused

2013-03-28 Thread Arnd Bergmann
On Thursday 28 March 2013, Arnd Bergmann wrote:
 Patch 4d053fdac3 usb: ehci: unlink_empty_async_suspended() only used
 with CONFIG_PM tried to hide the unlink_empty_async_suspended function
 inside of an #ifdef to work around an unused function warning.

Hi Greg,

Apparently the warning is now also in 3.8.5, so you might want to backport
this fix as well after you send it upstream.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] usb: ehci: mark unlink_empty_async_suspended() as __maybe_unused

2013-03-28 Thread Tony Prisk

On 29/03/13 10:16, Arnd Bergmann wrote:

On Thursday 28 March 2013, Arnd Bergmann wrote:

Patch 4d053fdac3 usb: ehci: unlink_empty_async_suspended() only used
with CONFIG_PM tried to hide the unlink_empty_async_suspended function
inside of an #ifdef to work around an unused function warning.

Hi Greg,

Apparently the warning is now also in 3.8.5, so you might want to backport
this fix as well after you send it upstream.

Arnd
Grr, my bad - I originally wrote the patch with the forward decl 
#ifdef'd as well, but Alan pointed out that it didn't need to be. I 
thought I recompiled it after the change, but obviously not.


Thanks Arnd,

Regards
Tony P
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html