summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorskrll <skrll@NetBSD.org>2014-03-18 15:44:37 +0000
committerskrll <skrll@NetBSD.org>2014-03-18 15:44:37 +0000
commit51ec4bf5a11ff49ee8c4c0f415ac34096bd66aeb (patch)
tree1c89c943dfafd89d7b6d160e9eaafe94be70e84f /sys/dev
parent4748bc71175749956ddc7cacb8a0994c30f7b1bb (diff)
Remove a simplelock and replace with a kmutex
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/cgd.c14
-rw-r--r--sys/dev/cgdvar.h6
2 files changed, 9 insertions, 11 deletions
diff --git a/sys/dev/cgd.c b/sys/dev/cgd.c
index 05340ebde48..d763bc33b8e 100644
--- a/sys/dev/cgd.c
+++ b/sys/dev/cgd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cgd.c,v 1.84 2014/03/16 05:20:26 dholland Exp $ */
+/* $NetBSD: cgd.c,v 1.85 2014/03/18 15:44:37 skrll Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.84 2014/03/16 05:20:26 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cgd.c,v 1.85 2014/03/18 15:44:37 skrll Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -200,7 +200,7 @@ cgd_attach(device_t parent, device_t self, void *aux)
{
struct cgd_softc *sc = device_private(self);
- simple_lock_init(&sc->sc_slock);
+ mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_BIO);
dk_sc_init(&sc->sc_dksc, device_xname(self));
sc->sc_dksc.sc_dev = self;
disk_init(&sc->sc_dksc.sc_dkdev, sc->sc_dksc.sc_xname, &cgddkdriver);
@@ -354,12 +354,12 @@ cgd_getdata(struct dk_softc *dksc, unsigned long size)
struct cgd_softc *cs = (struct cgd_softc *)dksc;
void * data = NULL;
- simple_lock(&cs->sc_slock);
+ mutex_enter(&cs->sc_lock);
if (cs->sc_data_used == 0) {
cs->sc_data_used = 1;
data = cs->sc_data;
}
- simple_unlock(&cs->sc_slock);
+ mutex_exit(&cs->sc_lock);
if (data)
return data;
@@ -373,9 +373,9 @@ cgd_putdata(struct dk_softc *dksc, void *data)
struct cgd_softc *cs = (struct cgd_softc *)dksc;
if (data == cs->sc_data) {
- simple_lock(&cs->sc_slock);
+ mutex_enter(&cs->sc_lock);
cs->sc_data_used = 0;
- simple_unlock(&cs->sc_slock);
+ mutex_exit(&cs->sc_lock);
} else {
free(data, M_DEVBUF);
}
diff --git a/sys/dev/cgdvar.h b/sys/dev/cgdvar.h
index f82f216bdc0..fc3ab8fa213 100644
--- a/sys/dev/cgdvar.h
+++ b/sys/dev/cgdvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: cgdvar.h,v 1.16 2012/12/05 02:23:20 christos Exp $ */
+/* $NetBSD: cgdvar.h,v 1.17 2014/03/18 15:44:37 skrll Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -32,8 +32,6 @@
#ifndef _DEV_CGDVAR_H_
#define _DEV_CGDVAR_H_
-#include <sys/simplelock.h>
-
/* ioctl(2) code: used by CGDIOCSET and CGDIOCCLR */
struct cgd_ioctl {
const char *ci_disk;
@@ -90,7 +88,7 @@ struct cgd_softc {
size_t sc_tpathlen; /* length of prior string */
struct cryptdata sc_cdata; /* crypto data */
const struct cryptfuncs *sc_cfuncs; /* encryption functions */
- struct simplelock sc_slock; /* our lock */
+ kmutex_t sc_lock; /* our lock */
};
#endif