On Tuesday 13 January 2015 11:00:21 Rafał Miłecki wrote: > I were testing Hauke's driver for ARM BCM5301X PCIe controller > PCI: BCM5301X: add PCIe2 driver for BCM5301X SoCs > https://patchwork.kernel.org/patch/5257871/ > and it went wrong. > > It hangs my ARM device, but the worst part of it is that I don't see > *any* message over serial console. The last message I can see is > bootloader's: > Starting program at 0x00008000 > > So obviously early printk doesn't work for me, but I was hoping to at > least see messages from the standard serial console driver. > > My setup is: > CONFIG_SERIAL_OF_PLATFORM=y > CONFIG_PCI_BCM5301X=y > > 1) of_serial.c > It uses module_platform_driver which means: > module_init + platform_driver_register > > 2) pci-host-bcm5301x.c > It uses: > module_init + bcma_driver_register > > So both drivers are using the same initcall (device_initcall) and its > random (not really) which one gets loaded first: PCIe driver or serial > driver. In my setup it happens to be PCIe driver which hangs the > machine without giving me anything over the serial console. > > I've to obviously fix my early printk, but I was also wondering if > this would be possible to move of_serial (and maybe others) to some > earlier initcall? You have three options here: - raw debug_ll: this provides some very bare debugging output with the printascii function, but requires hardcoding the UART - earlyprintk: based on debug_ll, but uses the regular printk infrastructure as soon as it's available - earlycon: uses the normal uart code and is available almost as early as earlyprintk, but requires a patch on ARM to the fixmap code (hopefully to be merged into 3.20). Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html