diff options
author | David S. Miller <davem@davemloft.net> | 2009-11-24 13:58:52 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-24 13:58:52 -0800 |
commit | 8301d386afc55c877bafe2c6c7dc75a96ddd2838 (patch) | |
tree | e2dea9d498890df34b09cb5d36d2d169a30a3544 /drivers/serial | |
parent | 4e68e188411ea98e40309700cf0c89ad4469ac1d (diff) | |
download | op-kernel-dev-8301d386afc55c877bafe2c6c7dc75a96ddd2838.zip op-kernel-dev-8301d386afc55c877bafe2c6c7dc75a96ddd2838.tar.gz |
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')
-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 68d262b..f6511a4 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c @@ -1517,6 +1517,10 @@ static const struct of_device_id su_match[] = { .name = "serial", .compatible = "su", }, + { + .type = "serial", + .compatible = "su", + }, {}, }; MODULE_DEVICE_TABLE(of, su_match); @@ -1548,6 +1552,12 @@ static int __init sunsu_init(void) num_uart++; } } + for_each_node_by_type(dp, "serial") { + if (of_device_is_compatible(dp, "su")) { + if (su_get_type(dp) == SU_PORT_PORT) + num_uart++; + } + } if (num_uart) { err = sunserial_register_minors(&sunsu_reg, num_uart); |