[PATCH 2/3] tty/serial: of_serial: add support for PXA/MMP uarts

Rob Herring robh at kernel.org
Tue Jan 27 06:30:47 PST 2015


On Tue, Jan 27, 2015 at 6:44 AM, Peter Hurley <peter at hurleysoftware.com> wrote:
> Hi Rob,
>
> On 01/26/2015 11:50 PM, Rob Herring wrote:
>> Add mrvl,pxa-uart and mrvl,mmp-uart compatible strings for the of_serial
>> driver. These are 8250 variants which have a port type of PORT_XSCALE.
>>
>> There is also the serial driver pxa.c with these compatible strings
>> already. However, it can be replaced with the common 8250 driver. It has
>> some issues like it cannot coexist with the 8250 driver due to tty name
>> collision. That also means adding these compatible strings here should
>> not case a problem.
>
> So what determines which driver is controlling the port if both
> drivers are built-in?

If both are built-in, whoever registers ttyS ports first wins. This
will be the 8250 driver due to link order. So I guess PXA systems have
avoided this by never building in 8250 driver.

Rob

>
> Regards,
> Peter Hurley
>
>> Signed-off-by: Rob Herring <robh at kernel.org>
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>> Cc: Jiri Slaby <jslaby at suse.cz>
>> Cc: linux-serial at vger.kernel.org
>> ---
>>  drivers/tty/serial/of_serial.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
>> index 3194b42..fbb719c 100644
>> --- a/drivers/tty/serial/of_serial.c
>> +++ b/drivers/tty/serial/of_serial.c
>> @@ -335,6 +335,10 @@ static struct of_device_id of_platform_serial_table[] = {
>>               .data = (void *)PORT_ALTR_16550_F64, },
>>       { .compatible = "altr,16550-FIFO128",
>>               .data = (void *)PORT_ALTR_16550_F128, },
>> +     { .compatible = "mrvl,mmp-uart",
>> +             .data = (void *)PORT_XSCALE, },
>> +     { .compatible = "mrvl,pxa-uart",
>> +             .data = (void *)PORT_XSCALE, },
>>  #ifdef CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL
>>       { .compatible = "ibm,qpace-nwp-serial",
>>               .data = (void *)PORT_NWPSERIAL, },
>>
>



More information about the linux-arm-kernel mailing list