[PATCH] ppc64: cleanups hpte_init_native, kill warning for !PSERIES builds

Anton Blanchard anton at samba.org
Sun Nov 14 19:52:45 EST 2004


From: Christoph Hellwig <hch at lst.de>

this splits out a small helper that checks whether tlb batching should
be enabled from hpte_init_native, thus cleaning up the ifdef hell and
killing a warning for pmac builds.

Signed-off-by: Anton Blanchard <anton at samba.org>

Index: linux-2.5/arch/ppc64/mm/hash_native.c
===================================================================
--- linux-2.5.orig/arch/ppc64/mm/hash_native.c	2004-11-14 15:52:18.747505472 +1100
+++ linux-2.5/arch/ppc64/mm/hash_native.c	2004-11-14 19:47:45.772890897 +1100
@@ -387,33 +387,37 @@
 	local_irq_restore(flags);
 }
 
-void hpte_init_native(void)
-{
 #ifdef CONFIG_PPC_PSERIES
-	struct device_node *root;
-	const char *model;
-#endif /* CONFIG_PPC_PSERIES */
+/* Disable TLB batching on nighthawk */
+static inline int tlb_batching_enabled(void)
+{
+	struct device_node *root = of_find_node_by_path("/");
+	int enabled = 1;
+
+	if (root) {
+		const char *model = get_property(root, "model", NULL);
+		if (model && !strcmp(model, "IBM,9076-N81"))
+			enabled = 0;
+		of_node_put(root);
+	}
 
+	return enabled;
+}
+#else
+static inline int tlb_batching_enabled(void)
+{
+	return 1;
+}
+#endif
+
+void hpte_init_native(void)
+{
 	ppc_md.hpte_invalidate	= native_hpte_invalidate;
 	ppc_md.hpte_updatepp	= native_hpte_updatepp;
 	ppc_md.hpte_updateboltedpp = native_hpte_updateboltedpp;
 	ppc_md.hpte_insert	= native_hpte_insert;
 	ppc_md.hpte_remove     	= native_hpte_remove;
-
-#ifdef CONFIG_PPC_PSERIES
-	/* Disable TLB batching on nighthawk */
-	root = of_find_node_by_path("/");
-	if (root) {
-		model = get_property(root, "model", NULL);
-		if (model && !strcmp(model, "IBM,9076-N81")) {
-			of_node_put(root);
-			goto bail;
-		}
-		of_node_put(root);
-	}
-#endif /* CONFIG_PPC_PSERIES */
-
-	ppc_md.flush_hash_range = native_flush_hash_range;
- bail:
+	if (tlb_batching_enabled())
+		ppc_md.flush_hash_range = native_flush_hash_range;
 	htab_finish_init();
 }



More information about the Linuxppc64-dev mailing list