Hi, Georgi Djakov writes: >>>>>> Sandeep Maheswaram writes: >>>>>>> +static int dwc3_qcom_interconnect_init(struct dwc3_qcom *qcom) >>>>>>> +{ >>>>>>> + struct device *dev = qcom->dev; >>>>>>> + int ret; >>>>>>> + >>>>>>> + if (!device_is_bound(&qcom->dwc3->dev)) >>>>>>> + return -EPROBE_DEFER; >>>>>> >>>>>> this breaks allmodconfig. I'm dropping this series from my queue for >>>>>> this merge window. >>>>> >>>>> Sorry, I meant this patch ;-) >>>> >>>> I guess that's due to INTERCONNECT being a module. There is currently a >>> >>> I believe it's because of this: >>> ERROR: modpost: "device_is_bound" [drivers/usb/dwc3/dwc3-qcom.ko] undefined! >>> >>>> discussion about this with Viresh and Georgi in response to another >>>> automated build failure. Viresh suggests changing CONFIG_INTERCONNECT >>>> from tristate to bool, which seems sensible to me given that interconnect >>>> is a core subsystem. >>> >>> The problem you are talking about would arise when INTERCONNECT=m and >>> USB_DWC3_QCOM=y and it definitely exists here and could be triggered with >>> randconfig build. So i suggest to squash also the diff below. >>> >>> Thanks, >>> Georgi >>> >>> ---8<--- >>> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig >>> index 206caa0ea1c6..6661788b1a76 100644 >>> --- a/drivers/usb/dwc3/Kconfig >>> +++ b/drivers/usb/dwc3/Kconfig >>> @@ -129,6 +129,7 @@ config USB_DWC3_QCOM >>> tristate "Qualcomm Platform" >>> depends on ARCH_QCOM || COMPILE_TEST >>> depends on EXTCON || !EXTCON >>> + depends on INTERCONNECT || !INTERCONNECT >> >> I would prefer to see a patch adding EXPORT_SYMBOL_GPL() to device_is_bound() > > Agree, but just to clarify, that these are two separate issues that need to > be fixed. The device_is_bound() is the first one and USB_DWC3_QCOM=y combined > with INTERCONNECT=m is the second one. If INTERCONNECT=m, QCOM3 shouldn't be y. I think the following is enough: depends on INTERCONNECT=y || INTERCONNECT=USB_DWC3_QCOM -- balbi