Re: [PATCH 4/7] drivers: usb: Include appropriate header file inpci-quirks.c

From: josh
Date: Thu Dec 19 2013 - 11:00:33 EST


On Thu, Dec 19, 2013 at 10:51:50AM -0500, Alan Stern wrote:
> On Thu, 19 Dec 2013, Rashika Kheria wrote:
>
> > Include header file include/linux/usb/hcd.h in host/pci-quirks.c because
> > function usb_hcd_amd_remote_wakeup_quirk() has its prototype declaration
> > in include/linux/usb/hcd.h.
> >
> > This eliminates the following warning in host/pci-quirks.c:
> > drivers/usb/host/pci-quirks.c:253:5: warning: no previous prototype for âusb_hcd_amd_remote_wakeup_quirkâ [-Wmissing-prototypes]
>
> Since when does the compiler complain about functions with no
> prototype?

Sparse has warned about this for years, and GCC warns about it (for
functions only, not data) when given -Wmissing-prototypes, which it does
with "make W=1". The intent is to call attention to functions that may
need to be marked static or removed, and to require inclusion of an
appropriate header for non-static functions, which then allows the
compiler to ensure that the prototype matches the definition.

> In any case, I think it would make more sense to move the prototype
> declaration into drivers/usb/host/pci-quirks.h, and have
> drivers/usb/core/hcd-pci.c include that file. After all, it's
> perfectly reasonable for hcd-pci to want to know about the quirks of
> various PCI-based controllers, but it's not reasonable for pci-quirks.c
> to need to know about the details of HCDs.

Sounds reasonable.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/