From: David S. Miller Date: Tue, 24 Nov 2009 21:58:52 +0000 (-0800) Subject: sunsu: Fix detection of SU ports which are RSC console or control. X-Git-Tag: v2.6.31.9~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93e2a9c73973b7f01cb56b33db8c9ac7bf35cfa7;p=thirdparty%2Fkernel%2Fstable.git sunsu: Fix detection of SU ports which are RSC console or control. [ Upstream commit 8301d386afc55c877bafe2c6c7dc75a96ddd2838 ] 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index 47c6837850b1d..e1b477058d71d 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);