tty: serial: msm_serial: Don't require DT aliases
Subsystems (2)
PATCH 1/1 tty: serial: msm_serial: Don't require DT aliases
If there isn't a DT alias then of_alias_get_id() will return -ENODEV. This will cause the msm_serial driver to fail probe, when we want to keep the previous behavior where we generated a dynamic line number at probe time. Restore this behavior by generating a dynamic id if the line number is still negative after checking for an alias or in the non-DT case looking at the .id field of the platform device.
--- drivers/tty/serial/msm_serial.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/tty/serial/msm_serial.c +3 -3
@@ -1046,14 +1046,14 @@ static int msm_serial_probe(struct platform_device *pdev)const struct of_device_id *id;int irq, line; -if (pdev->id ==-1 ) - pdev->id =atomic_inc_return (&msm_uart_next_id) -1 ; -if (pdev->dev.of_node) line =of_alias_get_id (pdev->dev.of_node,"serial" );else line = pdev->id; +if (line <0 ) + line =atomic_inc_return (&msm_uart_next_id) -1 ; +if (unlikely (line <0 || line >=UART_NR ))return -ENXIO ;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Greg,
Quoted 11 lines · Stephen Boyd
If there isn't a DT alias then
of_alias_get_id()will return-ENODEV. This will cause themsm_serialdriver to fail probe, when we want to keep the previous behavior where we generated a dynamic line number at probe time. Restore this behavior by generating a dynamic id if the line number is still negative after checking for an alias or in the non-DT case looking at the .id field of the platform device.Reported-by Kevin Hilman <[email protected]>Tested-by Kevin Hilman <[email protected]>Signed-off-by Stephen Boyd <[email protected]>
Can you add this to tty-next. Without this, all the ARM/qcom boards do not boot in linux-next.
Thanks,
Kevin