Hi, On Wed, Feb 25, 2015 at 09:19:30PM +0800, zhangfei wrote: > >>>Since phy is definitely used in usb controller, load the phy > >>>earlier to make boot time shorter. > >>> > >>>Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> > >>>--- > >>> drivers/usb/Makefile | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>>diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile > >>>index 2f1e2aa..d8926c6 100644 > >>>--- a/drivers/usb/Makefile > >>>+++ b/drivers/usb/Makefile > >>>@@ -5,6 +5,7 @@ > >>> # Object files in subdirectories > >>> > >>> obj-$(CONFIG_USB) += core/ > >>>+obj-$(CONFIG_USB_SUPPORT) += phy/ > >>> > >>> obj-$(CONFIG_USB_DWC3) += dwc3/ > >>> obj-$(CONFIG_USB_DWC2) += dwc2/ > >>>@@ -48,7 +49,6 @@ obj-$(CONFIG_USB_MICROTEK) += image/ > >>> obj-$(CONFIG_USB_SERIAL) += serial/ > >>> > >>> obj-$(CONFIG_USB) += misc/ > >>>-obj-$(CONFIG_USB_SUPPORT) += phy/ > >>> obj-$(CONFIG_EARLY_PRINTK_DBGP) += early/ > >>> > >>> obj-$(CONFIG_USB_ATM) += atm/ > >>>-- > >>>1.9.1 > >>> > >> > >>After thinking more, I think it is a good patch, USB PHY works proper > >>is the base for coming USB controller operation, with this patch, > >>it can avoid the controller drivers which are linked earlier than USB PHY > >>always being probed deferral, look at drivers/Makefile, it links drivers > >>follow the similar method. > >> > >>Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> > > > >the problem, though, is that this also hides drivers which are not > >handling unordered initializations properly. If everything is built as a > >module, udev might device to load modules in whatever order it might see > >fit. > > But this should not be the reason we intentionally move phy ahead of > controller, which must use phy as base. oh, it was never intentional :-) I just happened to be there since ever :-) > Besides, there are many examples in drivers/Makefile > > # Many drivers will want to use DMA so this has to be made available > > # really early. > > obj-$(CONFIG_DMADEVICES) += dma/ > > # regulators early, since some subsystems rely on them to initialize > > obj-$(CONFIG_REGULATOR) += regulator/ > > > > # reset controllers early, since gpu drivers might rely on them to > initialize > obj-$(CONFIG_RESET_CONTROLLER) += reset/ > > > >Zhangfei, you're claiming boot time is shorter with this patch. How much > >shorter ? How have you measured the time you saved ? > > Not measure precisely. > Load ramfs from 5.354419 to 5.302098, you saved 50ms ! Is that really something we want to care about ? I mean, I understand where you're coming from, but the fact is that we end up having more troubles later because people just decide to ignore the fact that ordering does not matter (or shouldn't matter). We can take this patch because it at least decreases the amount of 'has requested probe deferral' messages during boot, but I really fear drivers assuming ordering in the future. > However, as you said, new phy should be in driver/phy, then no such > issue in the future. right. -- balbi
Attachment:
signature.asc
Description: Digital signature