Module Name:    src
Committed By:   rmind
Date:           Sun Aug  7 13:39:24 UTC 2011

Modified Files:
        src/sys/dev/i2o: dpti.c dptivar.h
        src/sys/dev/ic: dpt.c dptvar.h
        src/sys/dev/mca: ed_mca.c edc_mca.c

Log Message:
Replace some wakeup_one(9) uses with mutex(9) or plain wakeup(9).


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/sys/dev/i2o/dpti.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/i2o/dptivar.h
cvs rdiff -u -r1.65 -r1.66 src/sys/dev/ic/dpt.c
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/ic/dptvar.h
cvs rdiff -u -r1.47 -r1.48 src/sys/dev/mca/ed_mca.c
cvs rdiff -u -r1.44 -r1.45 src/sys/dev/mca/edc_mca.c

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/i2o/dpti.c
diff -u src/sys/dev/i2o/dpti.c:1.43 src/sys/dev/i2o/dpti.c:1.44
--- src/sys/dev/i2o/dpti.c:1.43	Sat Nov 13 13:51:59 2010
+++ src/sys/dev/i2o/dpti.c	Sun Aug  7 13:39:23 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: dpti.c,v 1.43 2010/11/13 13:51:59 uebayasi Exp $	*/
+/*	$NetBSD: dpti.c,v 1.44 2011/08/07 13:39:23 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2007 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dpti.c,v 1.43 2010/11/13 13:51:59 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dpti.c,v 1.44 2011/08/07 13:39:23 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -272,16 +272,13 @@
 		if (rv)
 			break;
 
-		if (sc->sc_nactive++ >= 2)
-			tsleep(&sc->sc_nactive, PRIBIO, "dptislp", 0);
-
-		if (linux)
+		mutex_enter(&iop->sc_conflock);
+		if (linux) {
 			rv = dpti_passthrough(sc, data, l->l_proc);
-		else
+		} else {
 			rv = dpti_passthrough(sc, *(void **)data, l->l_proc);
-
-		sc->sc_nactive--;
-		wakeup_one(&sc->sc_nactive);
+		}
+		mutex_exit(&iop->sc_conflock);
 		break;
 
 	case DPT_I2ORESETCMD:

Index: src/sys/dev/i2o/dptivar.h
diff -u src/sys/dev/i2o/dptivar.h:1.7 src/sys/dev/i2o/dptivar.h:1.8
--- src/sys/dev/i2o/dptivar.h:1.7	Mon Apr 28 20:23:48 2008
+++ src/sys/dev/i2o/dptivar.h	Sun Aug  7 13:39:23 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: dptivar.h,v 1.7 2008/04/28 20:23:48 martin Exp $	*/
+/*	$NetBSD: dptivar.h,v 1.8 2011/08/07 13:39:23 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -63,7 +63,6 @@
 struct dpti_softc {
 	struct	device sc_dv;
 	int	sc_blinkled;
-	int	sc_nactive;
 };
 
 struct dpti_ptbuf {

Index: src/sys/dev/ic/dpt.c
diff -u src/sys/dev/ic/dpt.c:1.65 src/sys/dev/ic/dpt.c:1.66
--- src/sys/dev/ic/dpt.c:1.65	Fri Jul  1 08:38:10 2011
+++ src/sys/dev/ic/dpt.c	Sun Aug  7 13:39:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: dpt.c,v 1.65 2011/07/01 08:38:10 mrg Exp $	*/
+/*	$NetBSD: dpt.c,v 1.66 2011/08/07 13:39:24 rmind Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dpt.c,v 1.65 2011/07/01 08:38:10 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dpt.c,v 1.66 2011/08/07 13:39:24 rmind Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -82,6 +82,7 @@
 #include <sys/conf.h>
 #include <sys/kauth.h>
 #include <sys/proc.h>
+#include <sys/mutex.h>
 
 #include <sys/bus.h>
 #ifdef i386
@@ -330,6 +331,7 @@
 	ec = &sc->sc_ec;
 	snprintf(dpt_sig.dsDescription, sizeof(dpt_sig.dsDescription),
 	    "NetBSD %s DPT driver", osrelease);
+	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_NONE);
 
 	/*
 	 * Allocate the CCB/status packet/scratch DMA map and load.
@@ -1156,13 +1158,10 @@
 			return (EINVAL);
 		}
 
-		if (sc->sc_uactive++)
-			tsleep(&sc->sc_uactive, PRIBIO, "dptslp", 0);
-
+		mutex_enter(&sc->sc_lock);
 		rv = dpt_passthrough(sc, (struct eata_ucp *)data, l);
+		mutex_exit(&sc->sc_lock);
 
-		sc->sc_uactive--;
-		wakeup_one(&sc->sc_uactive);
 		return (rv);
 
 	default:

Index: src/sys/dev/ic/dptvar.h
diff -u src/sys/dev/ic/dptvar.h:1.14 src/sys/dev/ic/dptvar.h:1.15
--- src/sys/dev/ic/dptvar.h:1.14	Sun Mar  4 06:01:54 2007
+++ src/sys/dev/ic/dptvar.h	Sun Aug  7 13:39:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: dptvar.h,v 1.14 2007/03/04 06:01:54 christos Exp $	*/
+/*	$NetBSD: dptvar.h,v 1.15 2011/08/07 13:39:24 rmind Exp $	*/
 
 /*
  * Copyright (c) 1999, 2000, 2001 Andrew Doran <a...@netbsd.org>
@@ -65,6 +65,7 @@
 
 struct dpt_softc {
 	struct device	sc_dv;		/* generic device data */
+	kmutex_t	sc_lock;
 	struct scsipi_adapter sc_adapt;	/* scsipi adapter */
 	struct scsipi_channel sc_chans[3]; /* each channel */
 	bus_space_handle_t sc_ioh;	/* bus space handle */
@@ -83,7 +84,6 @@
 	int		sc_nccbs;	/* number of CCBs available */
 	SLIST_HEAD(, dpt_ccb) sc_ccb_free;/* free ccb list */
 	struct eata_cfg sc_ec;		/* EATA configuration data */
-	int		sc_uactive;	/* user command active */
 	int		sc_bustype;	/* SysInfo bus type */
 	int		sc_isadrq;	/* ISA DRQ */
 	int		sc_isairq;	/* ISA IRQ */

Index: src/sys/dev/mca/ed_mca.c
diff -u src/sys/dev/mca/ed_mca.c:1.47 src/sys/dev/mca/ed_mca.c:1.48
--- src/sys/dev/mca/ed_mca.c:1.47	Tue May 12 14:31:00 2009
+++ src/sys/dev/mca/ed_mca.c	Sun Aug  7 13:39:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: ed_mca.c,v 1.47 2009/05/12 14:31:00 cegger Exp $	*/
+/*	$NetBSD: ed_mca.c,v 1.48 2011/08/07 13:39:24 rmind Exp $	*/
 
 /*
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ed_mca.c,v 1.47 2009/05/12 14:31:00 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ed_mca.c,v 1.48 2011/08/07 13:39:24 rmind Exp $");
 
 #include "rnd.h"
 
@@ -254,7 +254,7 @@
 	simple_unlock(&ed->sc_q_lock);
 
 	/* Ring the worker thread */
-	wakeup_one(ed->edc_softc);
+	wakeup(ed->edc_softc);
 
 	return;
 done:

Index: src/sys/dev/mca/edc_mca.c
diff -u src/sys/dev/mca/edc_mca.c:1.44 src/sys/dev/mca/edc_mca.c:1.45
--- src/sys/dev/mca/edc_mca.c:1.44	Tue May 12 14:31:00 2009
+++ src/sys/dev/mca/edc_mca.c	Sun Aug  7 13:39:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: edc_mca.c,v 1.44 2009/05/12 14:31:00 cegger Exp $	*/
+/*	$NetBSD: edc_mca.c,v 1.45 2011/08/07 13:39:24 rmind Exp $	*/
 
 /*
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -46,7 +46,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: edc_mca.c,v 1.44 2009/05/12 14:31:00 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: edc_mca.c,v 1.45 2011/08/07 13:39:24 rmind Exp $");
 
 #include "rnd.h"
 
@@ -481,7 +481,7 @@
 	if (intr_id != ISR_DATA_TRANSFER_RDY) {
 	    	if (cmd == CMD_READ_DATA || cmd == CMD_WRITE_DATA)
 			sc->sc_resblk = sc->status_block[SB_RESBLKCNT_IDX];
-		wakeup_one(sc);
+		wakeup(sc);
 	}
 
 	return (1);

Reply via email to