[PATCH] add platform check to a couple sn2-only drivers

From: Greg Edwards <edwardsg_at_sgi.com>
Date: 2006-07-29 00:36:26
Non-sn2 boxes occasionally run into problems when they execute module_init
functions for sn2 drivers, if those drivers go off and try to read a
register that doesn't exist, or maybe dereference a variable that isn't
defined for the non-sn2 case.

This patch adds a platform check for the ioc4 and snsc driver init
functions.  It's a bit overkill for the ioc4 case, but erring on the
conservative side doesn't hurt.

Signed-off-by: Greg Edwards <edwardsg@sgi.com>

---
 drivers/char/snsc.c |    7 ++++++-
 drivers/sn/ioc4.c   |    3 +++
 2 files changed, 9 insertions(+), 1 deletion(-)

Index: git-linus/drivers/char/snsc.c
===================================================================
--- git-linus.orig/drivers/char/snsc.c	2006-07-27 09:15:02.524672764 -0500
+++ git-linus/drivers/char/snsc.c	2006-07-27 09:15:13.630016184 -0500
@@ -374,7 +374,12 @@ scdrv_init(void)
 	struct sysctl_data_s *scd;
 	void *salbuf;
 	dev_t first_dev, dev;
-	nasid_t event_nasid = ia64_sn_get_console_nasid();
+	nasid_t event_nasid;
+
+	if (!ia64_platform_is("sn2"))
+		return -ENODEV;
+
+	event_nasid = ia64_sn_get_console_nasid();
 
 	if (alloc_chrdev_region(&first_dev, 0, num_cnodes,
 				SYSCTL_BASENAME) < 0) {
Index: git-linus/drivers/sn/ioc4.c
===================================================================
--- git-linus.orig/drivers/sn/ioc4.c	2006-07-27 09:29:41.000000000 -0500
+++ git-linus/drivers/sn/ioc4.c	2006-07-27 09:54:49.186272223 -0500
@@ -455,6 +455,9 @@ MODULE_DEVICE_TABLE(pci, ioc4_id_table);
 static int __devinit
 ioc4_init(void)
 {
+	if (!ia64_platform_is("sn2"))
+		return -ENODEV;
+
 	return pci_register_driver(&ioc4_driver);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat Jul 29 00:37:07 2006

This archive was generated by hypermail 2.1.8 : 2006-07-29 00:37:16 EST