Module Name: src
Committed By: haad
Date: Fri Jun 5 19:21:03 UTC 2009
Modified Files:
src/sys/dev: ccd.c cgd.c
Added Files:
src/sys/modules/ccd: Makefile
src/sys/modules/cgd: Makefile
Log Message:
Add work in support for compiling ccd and cgd drivers as a modules. I forgot
to committ when I have written device module autoloading stuff.
To generate a diff of this commit:
cvs rdiff -u -r1.133 -r1.134 src/sys/dev/ccd.c
cvs rdiff -u -r1.57 -r1.58 src/sys/dev/cgd.c
cvs rdiff -u -r0 -r1.1 src/sys/modules/ccd/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/cgd/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ccd.c
diff -u src/sys/dev/ccd.c:1.133 src/sys/dev/ccd.c:1.134
--- src/sys/dev/ccd.c:1.133 Sat Apr 4 08:29:39 2009
+++ src/sys/dev/ccd.c Fri Jun 5 19:21:02 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: ccd.c,v 1.133 2009/04/04 08:29:39 ad Exp $ */
+/* $NetBSD: ccd.c,v 1.134 2009/06/05 19:21:02 haad Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998, 1999, 2007, 2009 The NetBSD Foundation, Inc.
@@ -127,7 +127,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.133 2009/04/04 08:29:39 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ccd.c,v 1.134 2009/06/05 19:21:02 haad Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1563,3 +1563,38 @@
}
}
#endif
+
+#ifdef _MODULE
+
+#include <sys/module.h>
+
+MODULE(MODULE_CLASS_DRIVER, ccd, NULL);
+
+static int
+ccd_modcmd(modcmd_t cmd, void *arg)
+{
+ int bmajor = -1, cmajor = -1, error = 0;
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ ccdattach(4);
+
+ return devsw_attach("ccd", &ccd_bdevsw, &bmajor,
+ &ccd_cdevsw, &cmajor);
+ break;
+
+ case MODULE_CMD_FINI:
+ return devsw_detach(&ccd_bdevsw, &ccd_cdevsw);
+ break;
+
+ case MODULE_CMD_STAT:
+ return ENOTTY;
+
+ default:
+ return ENOTTY;
+ }
+
+ return error;
+}
+
+#endif
Index: src/sys/dev/cgd.c
diff -u src/sys/dev/cgd.c:1.57 src/sys/dev/cgd.c:1.58
--- src/sys/dev/cgd.c:1.57 Sat Mar 14 17:56:47 2009
+++ src/sys/dev/cgd.c Fri Jun 5 19:21:02 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd.c,v 1.57 2009/03/14 17:56:47 apb Exp $ */
+/* $NetBSD: cgd.c,v 1.58 2009/06/05 19:21:02 haad Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.57 2009/03/14 17:56:47 apb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.58 2009/06/05 19:21:02 haad Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -845,3 +845,38 @@
printf("%02x", (unsigned char) *c++);
}
#endif
+
+#ifdef _MODULE
+
+#include <sys/module.h>
+
+MODULE(MODULE_CLASS_DRIVER, cgd, NULL);
+
+static int
+cgd_modcmd(modcmd_t cmd, void *arg)
+{
+ int bmajor = -1, cmajor = -1, error = 0;
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ cgdattach(4);
+
+ return devsw_attach("cgd", &cgd_bdevsw, &bmajor,
+ &cgd_cdevsw, &cmajor);
+ break;
+
+ case MODULE_CMD_FINI:
+ return devsw_detach(&cgd_bdevsw, &cgd_cdevsw);
+ break;
+
+ case MODULE_CMD_STAT:
+ return ENOTTY;
+
+ default:
+ return ENOTTY;
+ }
+
+ return error;
+}
+
+#endif
Added files:
Index: src/sys/modules/ccd/Makefile
diff -u /dev/null src/sys/modules/ccd/Makefile:1.1
--- /dev/null Fri Jun 5 19:21:03 2009
+++ src/sys/modules/ccd/Makefile Fri Jun 5 19:21:03 2009
@@ -0,0 +1,10 @@
+# $NetBSD: Makefile,v 1.1 2009/06/05 19:21:03 haad Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/dev
+
+KMOD= ccd
+SRCS= ccd.c
+
+.include <bsd.kmodule.mk>
Index: src/sys/modules/cgd/Makefile
diff -u /dev/null src/sys/modules/cgd/Makefile:1.1
--- /dev/null Fri Jun 5 19:21:03 2009
+++ src/sys/modules/cgd/Makefile Fri Jun 5 19:21:03 2009
@@ -0,0 +1,10 @@
+# $NetBSD: Makefile,v 1.1 2009/06/05 19:21:03 haad Exp $
+
+.include "../Makefile.inc"
+
+.PATH: ${S}/dev
+
+KMOD= cgd
+SRCS= cgd.c cgd_crypto.c
+
+.include <bsd.kmodule.mk>