Эх сурвалжийг харах

sgi-xp/sgi-gru: allow modules to load on non-uv systems

For an upcoming distro release, we need to have the xp kernel module
loadable even when not on UV equipment.  The xpc module will not load.
This will allow one set of modules dependent upon xp to work on either UV
or non-UV equipment.

Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Robin Holt 16 жил өмнө
parent
commit
e873cff0fa

+ 1 - 1
drivers/misc/sgi-gru/grufile.c

@@ -375,7 +375,7 @@ static int __init gru_init(void)
 	void *gru_start_vaddr;
 	void *gru_start_vaddr;
 
 
 	if (!is_uv_system())
 	if (!is_uv_system())
-		return -ENODEV;
+		return 0;
 
 
 #if defined CONFIG_IA64
 #if defined CONFIG_IA64
 	gru_start_paddr = 0xd000000000UL; /* ZZZZZZZZZZZZZZZZZZZ fixme */
 	gru_start_paddr = 0xd000000000UL; /* ZZZZZZZZZZZZZZZZZZZ fixme */

+ 6 - 6
drivers/misc/sgi-xp/xp_main.c

@@ -248,19 +248,19 @@ xp_init(void)
 	enum xp_retval ret;
 	enum xp_retval ret;
 	int ch_number;
 	int ch_number;
 
 
+	/* initialize the connection registration mutex */
+	for (ch_number = 0; ch_number < XPC_MAX_NCHANNELS; ch_number++)
+		mutex_init(&xpc_registrations[ch_number].mutex);
+
 	if (is_shub())
 	if (is_shub())
 		ret = xp_init_sn2();
 		ret = xp_init_sn2();
 	else if (is_uv())
 	else if (is_uv())
 		ret = xp_init_uv();
 		ret = xp_init_uv();
 	else
 	else
-		ret = xpUnsupported;
+		ret = 0;
 
 
 	if (ret != xpSuccess)
 	if (ret != xpSuccess)
-		return -ENODEV;
-
-	/* initialize the connection registration mutex */
-	for (ch_number = 0; ch_number < XPC_MAX_NCHANNELS; ch_number++)
-		mutex_init(&xpc_registrations[ch_number].mutex);
+		return ret;
 
 
 	return 0;
 	return 0;
 }
 }