Re: [PATCH v2] usb/xhci: fix compilation warning when !CONFIG_PCI && !CONFIG_PM

From: Felipe Balbi
Date: Tue Feb 18 2014 - 13:49:09 EST


On Tue, Feb 18, 2014 at 10:00:30AM -0800, David Cohen wrote:
> Hi Sarah,
>
> On Mon, Jan 06, 2014 at 07:02:19PM -0800, David Cohen wrote:
> > When CONFIG_PCI and CONFIG_PM are not selected, xhci.c gets this
> > warning:
> > drivers/usb/host/xhci.c:409:13: warning: âxhci_msix_sync_irqsâ defined
> > but not used [-Wunused-function]
> >
> > It happens due to lack of __maybe_unused flag on xhci_msix_sync_irqs()
> > function in case of !CONFIG_PCI.
> >
> > Signed-off-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx>
> > ---
>
> Ping :)
> Any comments here?
>
> Br, David
>
> >
> > Change v1 -> v2:
> > - xhci_msix_sync_irqs() already uses __maybe_unused flag when CONFIG_PCI is
> > set. Proper solution is to add same flag when !CONFIG_PCI instead of define
> > function as inline.
> >
> > drivers/usb/host/xhci.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> > index 4265b48856f6..ed6b717b8ee1 100644
> > --- a/drivers/usb/host/xhci.c
> > +++ b/drivers/usb/host/xhci.c
> > @@ -406,7 +406,7 @@ static void xhci_cleanup_msix(struct xhci_hcd *xhci)
> > {
> > }
> >
> > -static void xhci_msix_sync_irqs(struct xhci_hcd *xhci)
> > +static void __maybe_unused xhci_msix_sync_irqs(struct xhci_hcd *xhci)

bellow is likely a better fix. Usually stubs are marked inline, rather
than getting an unused attribute:

diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 3712359..8f1a6d5 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -404,16 +404,16 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)

#else

-static int xhci_try_enable_msi(struct usb_hcd *hcd)
+static inline int xhci_try_enable_msi(struct usb_hcd *hcd)
{
return 0;
}

-static void xhci_cleanup_msix(struct xhci_hcd *xhci)
+static inline void xhci_cleanup_msix(struct xhci_hcd *xhci)
{
}

-static void xhci_msix_sync_irqs(struct xhci_hcd *xhci)
+static inline void xhci_msix_sync_irqs(struct xhci_hcd *xhci)
{
}


--
balbi

Attachment: signature.asc
Description: Digital signature