Module Name:    src
Committed By:   pgoyette
Date:           Mon Feb  3 23:11:41 UTC 2014

Modified Files:
        src/sys/modules/crypto: Makefile
        src/sys/opencrypto: cryptodev.c
        src/sys/rump/dev/lib/libopencrypto: Makefile
Removed Files:
        src/sys/modules/crypto: crypto.ioconf
        src/sys/rump/dev/lib/libopencrypto: CRYPTO.ioconf

Log Message:
Undo previous - it still needs a lot more work.

For now, we'll use the hand-crafted cf* structures and directly
call all the config routines.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/modules/crypto/Makefile
cvs rdiff -u -r1.1 -r0 src/sys/modules/crypto/crypto.ioconf
cvs rdiff -u -r1.76 -r1.77 src/sys/opencrypto/cryptodev.c
cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/lib/libopencrypto/CRYPTO.ioconf
cvs rdiff -u -r1.5 -r1.6 src/sys/rump/dev/lib/libopencrypto/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/modules/crypto/Makefile
diff -u src/sys/modules/crypto/Makefile:1.2 src/sys/modules/crypto/Makefile:1.3
--- src/sys/modules/crypto/Makefile:1.2	Fri Jan 31 18:12:15 2014
+++ src/sys/modules/crypto/Makefile	Mon Feb  3 23:11:40 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2014/01/31 18:12:15 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.3 2014/02/03 23:11:40 pgoyette Exp $
 
 .include "../Makefile.inc"
 
@@ -6,8 +6,6 @@ CPPFLAGS+=	-DCOMPAT_50
 
 .PATH:	${S}/opencrypto
 
-IOCONF=	crypto.ioconf
-
 KMOD=	crypto
 SRCS=	cryptodev.c ocryptodev.c
 

Index: src/sys/opencrypto/cryptodev.c
diff -u src/sys/opencrypto/cryptodev.c:1.76 src/sys/opencrypto/cryptodev.c:1.77
--- src/sys/opencrypto/cryptodev.c:1.76	Fri Jan 31 18:11:32 2014
+++ src/sys/opencrypto/cryptodev.c	Mon Feb  3 23:11:40 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: cryptodev.c,v 1.76 2014/01/31 18:11:32 pgoyette Exp $ */
+/*	$NetBSD: cryptodev.c,v 1.77 2014/02/03 23:11:40 pgoyette Exp $ */
 /*	$FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.4.2.4 2003/06/03 00:09:02 sam Exp $	*/
 /*	$OpenBSD: cryptodev.c,v 1.53 2002/07/10 22:21:30 mickey Exp $	*/
 
@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cryptodev.c,v 1.76 2014/01/31 18:11:32 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cryptodev.c,v 1.77 2014/02/03 23:11:40 pgoyette Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -2138,7 +2138,20 @@ CFATTACH_DECL2_NEW(crypto, 0, crypto_mat
     NULL, NULL, NULL);
 
 #ifdef _MODULE
-#include "ioconf.c"
+static int cryptoloc[] = { -1, -1 };
+
+static struct cfdata crypto_cfdata[] = {
+	{
+		.cf_name = "crypto",
+		.cf_atname = "crypto",
+		.cf_unit = 0,
+		.cf_fstate = 0,
+		.cf_loc = cryptoloc,
+		.cf_flags = 0,
+		.cf_pspec = NULL,
+	},
+	{ NULL, NULL, 0, 0, NULL, 0, NULL }
+};
 #endif
 
 static int
@@ -2146,46 +2159,66 @@ crypto_modcmd(modcmd_t cmd, void *arg)
 {
 	int error = 0;
 #ifdef _MODULE
-	device_t dev;
 	devmajor_t cmajor = NODEVMAJOR, bmajor = NODEVMAJOR;
 #endif
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
 #ifdef _MODULE
-		error = config_init_component(cfdriver_ioconf_crypto,
-					      cfattach_ioconf_crypto,
-					      cfdata_ioconf_crypto);
-		if (error)
+
+		error = config_cfdriver_attach(&crypto_cd);
+		if (error) {
 			return error;
+		}
+
+		error = config_cfattach_attach(crypto_cd.cd_name, &crypto_ca);
+		if (error) {
+			config_cfdriver_detach(&crypto_cd);
+			aprint_error("%s: unable to register cfattach\n",
+				crypto_cd.cd_name);
+
+			return error;
+		}
+
+		error = config_cfdata_attach(crypto_cfdata, 1);
+		if (error) {
+			config_cfattach_detach(crypto_cd.cd_name, &crypto_ca);
+			config_cfdriver_detach(&crypto_cd);
+			aprint_error("%s: unable to register cfdata\n",
+				crypto_cd.cd_name);
+
+			return error;
+		}
 
 		error = devsw_attach(crypto_cd.cd_name, NULL, &bmajor,
-				     &crypto_cdevsw, &cmajor);
+		    &crypto_cdevsw, &cmajor);
 		if (error) {
-			config_fini_component(cfdriver_ioconf_crypto,
-					      cfattach_ioconf_crypto,
-					      cfdata_ioconf_crypto);
+			error = config_cfdata_detach(crypto_cfdata);
+			if (error) {
+				return error;
+			}
+			config_cfattach_detach(crypto_cd.cd_name, &crypto_ca);
+			config_cfdriver_detach(&crypto_cd);
 			aprint_error("%s: unable to register devsw\n",
 				crypto_cd.cd_name);
 
 			return error;
 		}
 
-		dev = config_attach_pseudo(cfdata_ioconf_crypto);
-		if (dev)
-			aprint_normal_dev(dev, "attached\n");
+		(void)config_attach_pseudo(crypto_cfdata);
 #endif
 
 		return error;
 	case MODULE_CMD_FINI:
 #ifdef _MODULE
-		error = devsw_detach(NULL, &crypto_cdevsw);
+		error = config_cfdata_detach(crypto_cfdata);
 		if (error) {
 			return error;
 		}
-		error = config_fini_component(cfdriver_ioconf_crypto,
-					      cfattach_ioconf_crypto,
-					      cfdata_ioconf_crypto);
+
+		config_cfattach_detach(crypto_cd.cd_name, &crypto_ca);
+		config_cfdriver_detach(&crypto_cd);
+		devsw_detach(NULL, &crypto_cdevsw);
 #endif
 
 		return error;

Index: src/sys/rump/dev/lib/libopencrypto/Makefile
diff -u src/sys/rump/dev/lib/libopencrypto/Makefile:1.5 src/sys/rump/dev/lib/libopencrypto/Makefile:1.6
--- src/sys/rump/dev/lib/libopencrypto/Makefile:1.5	Fri Jan 31 18:13:01 2014
+++ src/sys/rump/dev/lib/libopencrypto/Makefile	Mon Feb  3 23:11:40 2014
@@ -1,10 +1,9 @@
-#	$NetBSD: Makefile,v 1.5 2014/01/31 18:13:01 pgoyette Exp $
+#	$NetBSD: Makefile,v 1.6 2014/02/03 23:11:40 pgoyette Exp $
 #
 
 .PATH:	${.CURDIR}/../../../../opencrypto
 
 LIB=	rumpdev_opencrypto
-IOCONF=	CRYPTO.ioconf
 
 SRCS=	component.c
 

Reply via email to