diff options
author | 2007-05-21 03:11:11 +0000 | |
---|---|---|
committer | 2007-05-21 03:11:11 +0000 | |
commit | ee945c99590170f17aa841fa3211edbfd48169e5 (patch) | |
tree | 3c49b7e8ff069e126990650e82de9c69c96d61eb | |
parent | lockmgr -> rwlock for piic(4), kiic(4) and smu(4); (diff) | |
download | wireguard-openbsd-ee945c99590170f17aa841fa3211edbfd48169e5.tar.xz wireguard-openbsd-ee945c99590170f17aa841fa3211edbfd48169e5.zip |
Switch pcfiic to rwlock.
ok dlg@ kettenis@
-rw-r--r-- | sys/arch/sparc64/dev/pcfiic_ebus.c | 3 | ||||
-rw-r--r-- | sys/dev/ic/pcf8584.c | 10 | ||||
-rw-r--r-- | sys/dev/ic/pcf8584var.h | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/sys/arch/sparc64/dev/pcfiic_ebus.c b/sys/arch/sparc64/dev/pcfiic_ebus.c index 67b254d6f9b..ddec757d3db 100644 --- a/sys/arch/sparc64/dev/pcfiic_ebus.c +++ b/sys/arch/sparc64/dev/pcfiic_ebus.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pcfiic_ebus.c,v 1.6 2006/06/29 00:01:03 deraadt Exp $ */ +/* $OpenBSD: pcfiic_ebus.c,v 1.7 2007/05/21 03:11:11 jsg Exp $ */ /* * Copyright (c) 2006 David Gwynne <dlg@openbsd.org> @@ -26,6 +26,7 @@ #include <sys/systm.h> #include <sys/device.h> #include <sys/kernel.h> +#include <sys/rwlock.h> #include <machine/bus.h> #include <machine/openfirm.h> diff --git a/sys/dev/ic/pcf8584.c b/sys/dev/ic/pcf8584.c index 8a425df832e..a428effeaec 100644 --- a/sys/dev/ic/pcf8584.c +++ b/sys/dev/ic/pcf8584.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pcf8584.c,v 1.7 2006/06/22 08:33:43 deraadt Exp $ */ +/* $OpenBSD: pcf8584.c,v 1.8 2007/05/21 03:11:11 jsg Exp $ */ /* * Copyright (c) 2006 David Gwynne <dlg@openbsd.org> @@ -21,7 +21,7 @@ #include <sys/device.h> #include <sys/malloc.h> #include <sys/kernel.h> -#include <sys/lock.h> +#include <sys/rwlock.h> #include <sys/proc.h> #include <machine/bus.h> @@ -128,7 +128,7 @@ pcfiic_attach(struct pcfiic_softc *sc, i2c_addr_t addr, u_int8_t clock, if (sc->sc_master) pcfiic_choose_bus(sc, 0); - lockinit(&sc->sc_lock, PRIBIO | PCATCH, "iiclk", 0, 0); + rw_init(&sc->sc_lock, "iiclk"); sc->sc_i2c.ic_cookie = sc; sc->sc_i2c.ic_acquire_bus = pcfiic_i2c_acquire_bus; sc->sc_i2c.ic_release_bus = pcfiic_i2c_release_bus; @@ -156,7 +156,7 @@ pcfiic_i2c_acquire_bus(void *arg, int flags) if (cold || sc->sc_poll || (flags & I2C_F_POLL)) return (0); - return (lockmgr(&sc->sc_lock, LK_EXCLUSIVE, NULL)); + return (rw_enter(&sc->sc_lock, RW_WRITE | RW_INTR)); } void @@ -167,7 +167,7 @@ pcfiic_i2c_release_bus(void *arg, int flags) if (cold || sc->sc_poll || (flags & I2C_F_POLL)) return; - lockmgr(&sc->sc_lock, LK_RELEASE, NULL); + rw_exit(&sc->sc_lock); } int diff --git a/sys/dev/ic/pcf8584var.h b/sys/dev/ic/pcf8584var.h index cd8947f4b91..95cbbb552d0 100644 --- a/sys/dev/ic/pcf8584var.h +++ b/sys/dev/ic/pcf8584var.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pcf8584var.h,v 1.3 2006/06/22 08:33:43 deraadt Exp $ */ +/* $OpenBSD: pcf8584var.h,v 1.4 2007/05/21 03:11:11 jsg Exp $ */ /* * Copyright (c) 2006 David Gwynne <dlg@openbsd.org> @@ -30,7 +30,7 @@ struct pcfiic_softc { int sc_poll; struct i2c_controller sc_i2c; - struct lock sc_lock; + struct rwlock sc_lock; }; /* clock divisor settings */ |