Hi Greg, On 04/13/2015 07:00 PM, Greg Kroah-Hartman wrote: > On Mon, Apr 13, 2015 at 04:35:27PM +0200, 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. > > Why? This was added for some reason, what has changed since then? I was discussing this patch with Arnd over IRC. This is what Arnd was saying yesterday. "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" and resolution from our discussion was to remove this line because make no sense to probe all drivers which has device_type = "serial". It was causing the problem on one system with xilinx_uartps and 16550a IP 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() it was returning EINVAL. The first problem was that of_serial tried to bind driver because of device_type = "serial"; and the second problem was in xilinx_uartps driver by incorrectly using platform_get_resources() which doesn't create irq mapping which is fixed by the second patch. Thanks, Michal -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform