summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-10-13 18:42:35 +0000
committerphk <phk@FreeBSD.org>2002-10-13 18:42:35 +0000
commita95c8cfb2412c3227f0053ecf135288ee8023a27 (patch)
treec7b49e0fe8c68a94a373714c8fd930953f82923d
parent521f97afaeba7b310b6c78631913e307f0411609 (diff)
downloadFreeBSD-src-a95c8cfb2412c3227f0053ecf135288ee8023a27.zip
FreeBSD-src-a95c8cfb2412c3227f0053ecf135288ee8023a27.tar.gz
Give GEOM modules a chance to specify their own init routine, in case they
have special requirements. Sponsored by: DARPA & NAI Labs.
-rw-r--r--sys/geom/geom.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h
index c053fcb..ad63e4b 100644
--- a/sys/geom/geom.h
+++ b/sys/geom/geom.h
@@ -287,6 +287,9 @@ extern struct sx topology_lock;
sx_assert(&topology_lock, SX_XLOCKED); \
} while (0)
+#define DECLARE_GEOM_CLASS_INIT(class, name, init) \
+ SYSINIT(name, SI_SUB_PSEUDO, SI_ORDER_FIRST, init, NULL);
+
#define DECLARE_GEOM_CLASS(class, name) \
static void \
name##init(void) \
@@ -295,7 +298,7 @@ extern struct sx topology_lock;
g_add_class(&class); \
mtx_lock(&Giant); \
} \
- SYSINIT(name, SI_SUB_PSEUDO, SI_ORDER_FIRST, name##init, NULL);
+ DECLARE_GEOM_CLASS_INIT(class, name, name##init);
#endif /* _KERNEL */
OpenPOWER on IntegriCloud