On 04/15/2015 01:08 PM, Peter Hurley wrote: > On 04/14/2015 06:03 AM, Michal Simek wrote: >> Do not probe all serial drivers by of_serial.c which are using >> device_type = "serial"; property. Only drivers which have valid >> compatible strings listed in the driver should be probed. >> >> When PORT_UNKNOWN is setup probe will fail anyway. >> >> Arnd quotation about driver historical background: >> "when I wrote that driver initially, the idea was that it would >> get used as a stub to hook up all other serial drivers but after >> that, the common code learned to create platform devices from DT" >> >> This patch fix the problem with on the system with xilinx_uartps and >> 16550a where of_serial failed to register for xilinx_uartps and because >> of irq_dispose_mapping() removed irq_desc. Then when xilinx_uartps was asking >> for irq with request_irq() EINVAL is returned. > > The problem is that irq_create_mapping()/irq_dispose_mapping() > is not symmetrical, which breaks the device probe model. With that > fixed, no change would be required here. But even when this is fixed this device_type = "serial"; registration is not needed at all and just slow down boot process. I am not an expert but maybe you will know. A lot of drivers are calling platform_get_irq which create mapping but in error path this mapping is not removed. Not sure if this is done by core but based on my chat with Arnd probably not. Arnd: Can you please ACK this patch? Thanks, Michal -- 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