> Date: Tue, 3 Dec 2013 17:55:00 -0500 > From: Brad Smith <b...@comstyle.com> > > Put UREAD4 under #ifdef UHCI_DEBUG as it is only used by a function > for debugging which is also under UHCI_DEBUG. > > uhci.c:256:1: error: unused function 'UREAD4' [-Werror,-Wunused-function] > > OK?
Sorry, but I disagree with LLVM here. It shouldn't complain about static inline functions. I think it makes sense to have a complete set of access APIs. And #ifdef'ing the unused ones out will ultimately cause bitrot that we don't want. I suspect the root cause of the problems is the GNU/ISO inline fuckup, which means nobody can remember exactly what the semantics of inline/static inline/extern inline is. Perhaps we need to look at it again now that we don't have gcc2 in the tree anymore. For the same reasone I don't like similar changes like the ohci.c and if_wpi.c ones. > Index: uhci.c > =================================================================== > RCS file: /home/cvs/src/sys/dev/usb/uhci.c,v > retrieving revision 1.104 > diff -u -p -r1.104 uhci.c > --- uhci.c 9 Nov 2013 08:46:05 -0000 1.104 > +++ uhci.c 3 Dec 2013 22:50:28 -0000 > @@ -252,12 +252,14 @@ UREAD2(struct uhci_softc *sc, bus_size_t > return bus_space_read_2(sc->iot, sc->ioh, r); > } > > +#ifdef UHCI_DEBUG > static __inline u_int32_t > UREAD4(struct uhci_softc *sc, bus_size_t r) > { > UBARR(sc); > return bus_space_read_4(sc->iot, sc->ioh, r); > } > +#endif > > #define UHCICMD(sc, cmd) UWRITE2(sc, UHCI_CMD, cmd) > #define UHCISTS(sc) UREAD2(sc, UHCI_STS)