On Thu, Jul 04, 2019 at 12:44:08PM +0300, Felipe Balbi wrote: > > Hi, > > Pawel Laszczak <pawell@xxxxxxxxxxx> writes: > > >> > >> > >>Hi, > >> > >>Pawel Laszczak <pawell@xxxxxxxxxxx> writes: > >> > >>>> > >>>>Hi, > >>>> > >>>>On Thu, Jul 4, 2019 at 9:59 AM Greg KH <greg@xxxxxxxxx> wrote: > >>>>> > >>>>> On Thu, Jul 04, 2019 at 04:34:58PM +1000, Stephen Rothwell wrote: > >>>>> > Hi all, > >>>>> > > >>>>> > After merging the usb tree, today's linux-next build (arm > >>>>> > multi_v7_defconfig) failed like this: > >>>>> > > >>>>> > arm-linux-gnueabi-ld: drivers/usb/dwc3/trace.o: in function `trace_raw_output_dwc3_log_ctrl': > >>>>> > trace.c:(.text+0x119c): undefined reference to `usb_decode_ctrl' > >>>>> > > >>>>> > Caused by commit > >>>>> > > >>>>> > 3db1b636c07e ("usb:gadget Separated decoding functions from dwc3 driver.") > >>>>> > > >>>>> > I have used the usb tree from next-20190703 for today. > >>>>> > > >>>>> > This also occurs in the usb-gadget tree so I have used the version of > >>>>> > that from next-20190703 as well. > >>>>> > >>>>> Odd, I thought I pulled the usb-gadget tree into mine. Felipe, can you > >>>>> take a look at this to see if I messed something up? > >>>> > >>>>This looks like it was caused by Pawel's patches. > >>>> > >>>>I'll try to reproduce here and see what's causing it. > >>> > >>> Problem is in my Patch. I reproduced it, but I don't understand why compiler > >>> complains about usb_decode_ctrl. It's compiled into libcomposite.ko and > >>> declaration is in drivers/usb/gadget.h. > >> > >>That's because in multi_v7_defconfig dwc3 is built-in while libcomposite > >>is a module: > >> > >>CONFIG_USB_DWC3=y > >>CONFIG_USB_LIBCOMPOSITE=m > >> > >> > >>I remember that when you were doing this work, I asked you to move > >>functions to usb/common. Why did you deviate from that suggestion? It's > >>clear that decoding a ctrl request can be used by peripheral and host > >>and we wouldn't have to deal with this problem if you had just followed > >>the suggestion. > > > > Some time ago Greg wrote: > > " It's nice to have these in a common place, but you just bloated all of > > the USB-enabled systems in the world for the use of 2 odd-ball system > > controllers that almost no one has :) " > > > > So I moved these functions to gadget directory. > > > > It was mistake that I added debug.c file to libcomposite.ko. > > The plan is to use this decoding function for xHCI as well. Other host > controllers can use it as well. > > The biggest mistake was to put this under gadget. What you should have > done was create a file under usb/common that only gets compile in if > tracing is enabled. > > Then there's no bloating unless you have a kernel purposefuly built for > debugging and tracing. > > Greg, does that work for you? I guess, but I'd like to see patches before answering that :) thanks, greg k-h