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