serial: altera_uart: Scan for a free port if platform device id is -1
authorTobias Klauser <tklauser@distanz.ch>
Mon, 28 Mar 2011 11:57:11 +0000 (13:57 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 19 Apr 2011 23:31:19 +0000 (16:31 -0700)
commita664ec9675d77aa2196e797afa5516d3e476da77
tree31d01adbd517d31fb20a1538453ee5d62ee98df4
parent0259894c732837c801565d038eaecdcf8fc5bbe7
serial: altera_uart: Scan for a free port if platform device id is -1

Devices extracted from device tree all seem to have pdev->id set to -1.
Up until now we mapped all devices with id -1 to the first device.  This
behaviour could lead to problems when using more than one Altera UART in
a system.

This patch changes the behaviour of the driver to scan for the next free
id in case the id is -1.

Because we cannot refer back to the assigned id in altera_uart_remove,
the port instance needs to be stored in device drvdata.

Reported-by: David Smoot <davidsmoot@gmail.com>
Cc: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/serial/altera_uart.c