diff options
author | David S. Miller <davem@davemloft.net> | 2009-11-24 16:58:52 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-24 16:58:52 -0500 |
commit | 8301d386afc55c877bafe2c6c7dc75a96ddd2838 (patch) | |
tree | e2dea9d498890df34b09cb5d36d2d169a30a3544 /drivers/serial/sunsu.c | |
parent | 4e68e188411ea98e40309700cf0c89ad4469ac1d (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.c | 10 |
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 | }; |
1522 | MODULE_DEVICE_TABLE(of, su_match); | 1526 | MODULE_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); |