aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/sunsu.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-11-24 16:58:52 -0500
committerDavid S. Miller <davem@davemloft.net>2009-11-24 16:58:52 -0500
commit8301d386afc55c877bafe2c6c7dc75a96ddd2838 (patch)
treee2dea9d498890df34b09cb5d36d2d169a30a3544 /drivers/serial/sunsu.c
parent4e68e188411ea98e40309700cf0c89ad4469ac1d (diff)
sunsu: Fix detection of SU ports which are RSC console or control.
These device nodes are named "rsc-console" and "rsc-control" rather than 'serial', but the device_type property is 'serial' so we'll tip off of that for detection. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/serial/sunsu.c')
-rw-r--r--drivers/serial/sunsu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 68d262b15749..f6511a44d15b 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1517,6 +1517,10 @@ static const struct of_device_id su_match[] = {
1517 .name = "serial", 1517 .name = "serial",
1518 .compatible = "su", 1518 .compatible = "su",
1519 }, 1519 },
1520 {
1521 .type = "serial",
1522 .compatible = "su",
1523 },
1520 {}, 1524 {},
1521}; 1525};
1522MODULE_DEVICE_TABLE(of, su_match); 1526MODULE_DEVICE_TABLE(of, su_match);
@@ -1548,6 +1552,12 @@ static int __init sunsu_init(void)
1548 num_uart++; 1552 num_uart++;
1549 } 1553 }
1550 } 1554 }
1555 for_each_node_by_type(dp, "serial") {
1556 if (of_device_is_compatible(dp, "su")) {
1557 if (su_get_type(dp) == SU_PORT_PORT)
1558 num_uart++;
1559 }
1560 }
1551 1561
1552 if (num_uart) { 1562 if (num_uart) {
1553 err = sunserial_register_minors(&sunsu_reg, num_uart); 1563 err = sunserial_register_minors(&sunsu_reg, num_uart);