From f5deb807b8cd5c8fe48cbb4f7f5dd70cfbdb1178 Mon Sep 17 00:00:00 2001
From: "David S. Miller" <davem@sunset.davemloft.net>
Date: Mon, 20 Feb 2006 14:39:16 -0800
Subject: [PATCH] [SPARC] serial: Make sure sysfs nodes get named correctly.

Because we play this trick where we use ttyS? in increasing minor
numbers for different sunfoo.c drivers, we have to inform the TTY
layer of this.

Do so by setting the tty->name_base appropriately.

Probably there should be a generic way to do this in the serial core,
but for now...

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/serial/sunhv.c    | 1 +
 drivers/serial/sunsab.c   | 2 ++
 drivers/serial/sunsu.c    | 2 ++
 drivers/serial/sunzilog.c | 1 +
 4 files changed, 6 insertions(+)

diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index 8537839f9abbbb..f137804b31331e 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -494,6 +494,7 @@ static int __init sunhv_init(void)
 		return ret;
 	}
 
+	sunhv_reg.tty_driver->name_base = sunhv_reg.minor - 64;
 	sunserial_current_minor += 1;
 
 	sunhv_reg.cons = SUNHV_CONSOLE();
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index 02f62da546b5f3..a2fb0c2fb121ff 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -1142,6 +1142,8 @@ static int __init sunsab_init(void)
 		return ret;
 	}
 
+	sunsab_reg.tty_driver->name_base = sunsab_reg.minor - 64;
+
 	sunsab_reg.cons = SUNSAB_CONSOLE();
 
 	sunserial_current_minor += num_channels;
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 3313cb2a355a16..46510e7f505c37 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1529,6 +1529,8 @@ static int __init sunsu_serial_init(void)
 	if (ret < 0)
 		return ret;
 
+	sunsu_reg.tty_driver->name_base = sunsu_reg.minor - 64;
+
 	sunserial_current_minor += instance;
 
 	sunsu_reg.cons = SUNSU_CONSOLE();
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index 5aa74e7a954e7e..10b35c6f287daa 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1692,6 +1692,7 @@ static int __init sunzilog_ports_init(void)
 
 	ret = uart_register_driver(&sunzilog_reg);
 	if (ret == 0) {
+		sunzilog_reg.tty_driver->name_base = sunzilog_reg.minor - 64;
 		sunzilog_reg.cons = SUNZILOG_CONSOLE();
 
 		sunserial_current_minor += uart_count;
-- 
GitLab