summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2001-02-04 11:46:17 +0000
committerpeter <peter@FreeBSD.org>2001-02-04 11:46:17 +0000
commite2c0e675c777b6b35071509ccb2c17dc40681f65 (patch)
tree4012853e9b95fc92cec630b7ba4d43712c79a0ed
parent7a682ee86450868c28fbaae23e63bfdbe7aa1094 (diff)
downloadFreeBSD-src-e2c0e675c777b6b35071509ccb2c17dc40681f65.zip
FreeBSD-src-e2c0e675c777b6b35071509ccb2c17dc40681f65.tar.gz
Pull the rug from under the 'LKM Compatability' macro - PSEUDO_SET().
There are two 3rd party code chunks using this still - the IPv6 stuff and i4b. Give them a private copy as an alternative to changing them too much. XXX sys/kernel.h still has a #include <sys/module.h> in it. I will be taking this out shortly - this affects a number of drivers.
-rw-r--r--sys/i4b/include/i4b_global.h28
-rw-r--r--sys/net/if_faith.c2
-rw-r--r--sys/net/net_osdep.h26
-rw-r--r--sys/sys/kernel.h30
4 files changed, 59 insertions, 27 deletions
diff --git a/sys/i4b/include/i4b_global.h b/sys/i4b/include/i4b_global.h
index d4dc77d..f2e9bff 100644
--- a/sys/i4b/include/i4b_global.h
+++ b/sys/i4b/include/i4b_global.h
@@ -59,6 +59,34 @@
#endif
+#if defined(__FreeBSD__) && __FreeBSD__ >= 5
+/*
+ * Deprecated LKM interface.
+ */
+#include <sys/module.h>
+#define PSEUDO_SET(sym, name) \
+ static int name ## _modevent(module_t mod, int type, void *data) \
+ { \
+ void (*initfunc)(void *) = (void (*)(void *))data; \
+ switch (type) { \
+ case MOD_LOAD: \
+ /* printf(#name " module load\n"); */ \
+ initfunc(NULL); \
+ break; \
+ case MOD_UNLOAD: \
+ printf(#name " module unload - not possible for this module type\n"); \
+ return EINVAL; \
+ } \
+ return 0; \
+ } \
+ static moduledata_t name ## _mod = { \
+ #name, \
+ name ## _modevent, \
+ (void *)sym \
+ }; \
+ DECLARE_MODULE(name, name ## _mod, SI_SUB_PSEUDO, SI_ORDER_ANY)
+#endif
+
/*---------------*/
/* time handling */
/*---------------*/
diff --git a/sys/net/if_faith.c b/sys/net/if_faith.c
index a4d5162..b28fecd 100644
--- a/sys/net/if_faith.c
+++ b/sys/net/if_faith.c
@@ -57,6 +57,8 @@
#include <net/route.h>
#include <net/bpf.h>
+#include <net/net_osdep.h>
+
extern int loioctl __P((struct ifnet *, u_long, caddr_t));
extern int looutput __P((struct ifnet *ifp,
struct mbuf *m, struct sockaddr *dst, struct rtentry *rt));
diff --git a/sys/net/net_osdep.h b/sys/net/net_osdep.h
index fc77022..3bb3c18 100644
--- a/sys/net/net_osdep.h
+++ b/sys/net/net_osdep.h
@@ -165,5 +165,31 @@ extern const char *if_name __P((struct ifnet *));
#define HAVE_OLD_BPF
+/*
+ * Deprecated.
+ */
+#include <sys/module.h>
+#define PSEUDO_SET(sym, name) \
+ static int name ## _modevent(module_t mod, int type, void *data) \
+ { \
+ void (*initfunc)(void *) = (void (*)(void *))data; \
+ switch (type) { \
+ case MOD_LOAD: \
+ /* printf(#name " module load\n"); */ \
+ initfunc(NULL); \
+ break; \
+ case MOD_UNLOAD: \
+ printf(#name " module unload - not possible for this module type\n"); \
+ return EINVAL; \
+ } \
+ return 0; \
+ } \
+ static moduledata_t name ## _mod = { \
+ #name, \
+ name ## _modevent, \
+ (void *)sym \
+ }; \
+ DECLARE_MODULE(name, name ## _mod, SI_SUB_PSEUDO, SI_ORDER_ANY)
+
#endif /*_KERNEL*/
#endif /*__NET_NET_OSDEP_H_DEFINED_ */
diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h
index 0824b00..03f8c43 100644
--- a/sys/sys/kernel.h
+++ b/sys/sys/kernel.h
@@ -52,6 +52,9 @@
/* for intrhook below */
#include <sys/queue.h>
+/* THIS MUST DIE! */
+#include <sys/module.h>
+
/* Global variables for the kernel. */
/* 1.1 */
@@ -280,33 +283,6 @@ SYSINIT(__Tunable_init_ ## var, SI_SUB_TUNABLES, SI_ORDER_MIDDLE, __Tunable_ ##
strncpy((var), tmp, (size)); \
(var)[(size) - 1] = 0;
-/*
- * Compatibility. To be deprecated after LKM is removed.
- */
-#include <sys/module.h>
-#define PSEUDO_SET(sym, name) \
- static int name ## _modevent(module_t mod, int type, void *data) \
- { \
- void (*initfunc)(void *) = (void (*)(void *))data; \
- switch (type) { \
- case MOD_LOAD: \
- /* printf(#name " module load\n"); */ \
- initfunc(NULL); \
- break; \
- case MOD_UNLOAD: \
- printf(#name " module unload - not possible for this module type\n"); \
- return EINVAL; \
- } \
- return 0; \
- } \
- static moduledata_t name ## _mod = { \
- #name, \
- name ## _modevent, \
- (void *)sym \
- }; \
- DECLARE_MODULE(name, name ## _mod, SI_SUB_PSEUDO, SI_ORDER_ANY)
-
-
struct intr_config_hook {
TAILQ_ENTRY(intr_config_hook) ich_links;
void (*ich_func) __P((void *arg));
OpenPOWER on IntegriCloud