Module Name:    src
Committed By:   mbalmer
Date:           Tue Feb 28 10:58:11 UTC 2012

Modified Files:
        src/sys/dev/scsipi: st.c st_atapi.c st_scsi.c stvar.h

Log Message:
Convert st(4) to device_t, while here clean up the code and use uintXX_t
instead of u_intXX_t.


To generate a diff of this commit:
cvs rdiff -u -r1.219 -r1.220 src/sys/dev/scsipi/st.c
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/scsipi/st_atapi.c
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/scsipi/st_scsi.c
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/scsipi/stvar.h

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/scsipi/st.c
diff -u src/sys/dev/scsipi/st.c:1.219 src/sys/dev/scsipi/st.c:1.220
--- src/sys/dev/scsipi/st.c:1.219	Sat Feb 25 10:15:50 2012
+++ src/sys/dev/scsipi/st.c	Tue Feb 28 10:58:10 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: st.c,v 1.219 2012/02/25 10:15:50 shattered Exp $ */
+/*	$NetBSD: st.c,v 1.220 2012/02/28 10:58:10 mbalmer Exp $ */
 
 /*-
  * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -50,7 +50,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: st.c,v 1.219 2012/02/25 10:15:50 shattered Exp $");
+__KERNEL_RCSID(0, "$NetBSD: st.c,v 1.220 2012/02/28 10:58:10 mbalmer Exp $");
 
 #include "opt_scsi.h"
 
@@ -335,8 +335,8 @@ static int	st_rewind(struct st_softc *, 
 static int	st_interpret_sense(struct scsipi_xfer *);
 static int	st_touch_tape(struct st_softc *);
 static int	st_erase(struct st_softc *, int full, int flags);
-static int	st_rdpos(struct st_softc *, int, u_int32_t *);
-static int	st_setpos(struct st_softc *, int, u_int32_t *);
+static int	st_rdpos(struct st_softc *, int, uint32_t *);
+static int	st_setpos(struct st_softc *, int, uint32_t *);
 
 static const struct scsipi_periphsw st_switch = {
 	st_interpret_sense,
@@ -345,7 +345,7 @@ static const struct scsipi_periphsw st_s
 	stdone
 };
 
-#if	defined(ST_ENABLE_EARLYWARN)
+#if defined(ST_ENABLE_EARLYWARN)
 #define	ST_INIT_FLAGS	ST_EARLYWARN
 #else
 #define	ST_INIT_FLAGS	0
@@ -356,31 +356,25 @@ static const struct scsipi_periphsw st_s
  * A device suitable for this driver
  */
 void
-stattach(device_t parent, struct st_softc *st, void *aux)
+stattach(device_t parent, device_t self, void *aux)
 {
+	struct st_softc *st = device_private(self);
 	struct scsipibus_attach_args *sa = aux;
 	struct scsipi_periph *periph = sa->sa_periph;
 
 	SC_DEBUG(periph, SCSIPI_DB2, ("stattach: "));
+	st->sc_dev = self;
 
-	/*
-	 * Store information needed to contact our base driver
-	 */
+	/* Store information needed to contact our base driver */
 	st->sc_periph = periph;
-	periph->periph_dev = &st->sc_dev;
+	periph->periph_dev = st->sc_dev;
 	periph->periph_switch = &st_switch;
 
-	/*
-	 * Set initial flags
-	 */
-
+	/* Set initial flags  */
 	st->flags = ST_INIT_FLAGS;
 
-	/*
-	 * Set up the buf queue for this device
-	 */
+	/* Set up the buf queue for this device */
 	bufq_alloc(&st->buf_queue, "fcfs", 0);
-
 	callout_init(&st->sc_callout, 0);
 
 	/*
@@ -388,11 +382,10 @@ stattach(device_t parent, struct st_soft
 	 * Any steps needed to bring it into line
 	 */
 	st_identify_drive(st, &sa->sa_inqbuf);
-	/*
-	 * Use the subdriver to request information regarding the drive.
-	 */
 	printf("\n");
-	printf("%s: %s", device_xname(&st->sc_dev), st->quirkdata ? "quirks apply, " : "");
+	/* Use the subdriver to request information regarding the drive.  */
+	printf("%s : %s", device_xname(st->sc_dev), st->quirkdata
+	    ? "quirks apply, " : "");
 	if (scsipi_test_unit_ready(periph,
 	    XS_CTL_DISCOVERY | XS_CTL_SILENT | XS_CTL_IGNORE_MEDIA_CHANGE) ||
 	    st->ops(st, ST_OPS_MODESENSE,
@@ -408,10 +401,11 @@ stattach(device_t parent, struct st_soft
 		    (st->flags & ST_READONLY) ? "protected" : "enabled");
 	}
 
-	st->stats = iostat_alloc(IOSTAT_TAPE, parent, device_xname(&st->sc_dev));
+	st->stats = iostat_alloc(IOSTAT_TAPE, parent,
+	    device_xname(st->sc_dev));
 
-	rnd_attach_source(&st->rnd_source, device_xname(&st->sc_dev),
-			  RND_TYPE_TAPE, 0);
+	rnd_attach_source(&st->rnd_source, device_xname(st->sc_dev),
+	    RND_TYPE_TAPE, 0);
 }
 
 int
@@ -449,7 +443,7 @@ stdetach(device_t self, int flags)
 	/* Unhook the entropy source. */
 	rnd_detach_source(&st->rnd_source);
 
-	return (0);
+	return 0;
 }
 
 /*
@@ -484,9 +478,9 @@ st_identify_drive(struct st_softc *st, s
 static void
 st_loadquirks(struct st_softc *st)
 {
-	int i;
 	const struct	modes *mode;
 	struct	modes *mode2;
+	int i;
 
 	mode = st->quirkdata->modes;
 	mode2 = st->modes;
@@ -509,9 +503,7 @@ st_loadquirks(struct st_softc *st)
 	}
 }
 
-/*
- * open the device.
- */
+/* open the device. */
 static int
 stopen(dev_t dev, int flags, int mode, struct lwp *l)
 {
@@ -524,7 +516,7 @@ stopen(dev_t dev, int flags, int mode, s
 	unit = STUNIT(dev);
 	st = device_lookup_private(&st_cd, unit);
 	if (st == NULL)
-		return (ENXIO);
+		return ENXIO;
 
 	stmode = STMODE(dev);
 	dsty = STDSTY(dev);
@@ -532,24 +524,20 @@ stopen(dev_t dev, int flags, int mode, s
 	periph = st->sc_periph;
 	adapt = periph->periph_channel->chan_adapter;
 
-	SC_DEBUG(periph, SCSIPI_DB1, ("open: dev=0x%"PRIx64" (unit %d (of %d))\n", dev,
-	    unit, st_cd.cd_ndevs));
+	SC_DEBUG(periph, SCSIPI_DB1,
+	    ("open: dev=0x%"PRIx64" (unit %d (of %d))\n", dev, unit,
+	    st_cd.cd_ndevs));
 
-
-	/*
-	 * Only allow one at a time
-	 */
+	/* Only allow one at a time */
 	if (periph->periph_flags & PERIPH_OPEN) {
-		aprint_error_dev(&st->sc_dev, "already open\n");
-		return (EBUSY);
+		aprint_error_dev(st->sc_dev, "already open\n");
+		return EBUSY;
 	}
 
 	if ((error = scsipi_adapter_addref(adapt)) != 0)
-		return (error);
+		return error;
 
-	/*
-	 * clear any latched errors.
-	 */
+	/* clear any latched errors. */
 	st->mt_resid = 0;
 	st->mt_erreg = 0;
 	st->asc = 0;
@@ -575,12 +563,10 @@ stopen(dev_t dev, int flags, int mode, s
 	 * try up to ST_MOUNT_DELAY times with a rest interval of
 	 * one second between each try.
 	 */
-
-	if ((st->flags & ST_MOUNTED) || ST_MOUNT_DELAY == 0) {
+	if ((st->flags & ST_MOUNTED) || ST_MOUNT_DELAY == 0)
 		ntries = 1;
-	} else {
+	else
 		ntries = ST_MOUNT_DELAY;
-	}
 
 	for (error = tries = 0; tries < ntries; tries++) {
 		int slpintr, oflags;
@@ -589,11 +575,9 @@ stopen(dev_t dev, int flags, int mode, s
 		 * If we had no error, or we're opening the control mode
 		 * device, we jump out right away.
 		 */
-
 		error = scsipi_test_unit_ready(periph, sflags);
-		if (error == 0 || stmode == CTRL_MODE) {
+		if (error == 0 || stmode == CTRL_MODE)
 			break;
-		}
 
 		/*
 		 * We had an error.
@@ -607,9 +591,7 @@ stopen(dev_t dev, int flags, int mode, s
 			goto bad;
 		}
 
-		/*
-		 * clear any latched errors.
-		 */
+		/* clear any latched errors. */
 		st->mt_resid = 0;
 		st->mt_erreg = 0;
 		st->asc = 0;
@@ -619,7 +601,6 @@ stopen(dev_t dev, int flags, int mode, s
 		 * Fake that we have the device open so
 		 * we block other apps from getting in.
 		 */
-
 		oflags = periph->periph_flags;
 		periph->periph_flags |= PERIPH_OPEN;
 
@@ -642,7 +623,7 @@ stopen(dev_t dev, int flags, int mode, s
 	 */
 	if (stmode == CTRL_MODE && st->mt_key == SKEY_NOT_READY) {
 		periph->periph_flags |= PERIPH_OPEN;
-		return (0);
+		return 0;
 	}
 
 	/*
@@ -650,14 +631,10 @@ stopen(dev_t dev, int flags, int mode, s
 	 * to pass the 'test unit ready' test for the non-controlmode device,
 	 * so we bounce the open.
 	 */
-
 	if (error)
-		return (error);
-
-	/*
-	 * Else, we're now committed to saying we're open.
-	 */
+		return error;
 
+	/* Else, we're now committed to saying we're open. */
 	periph->periph_flags |= PERIPH_OPEN; /* unit attn are now errors */
 
 	/*
@@ -684,19 +661,15 @@ stopen(dev_t dev, int flags, int mode, s
 	}
 
 	SC_DEBUG(periph, SCSIPI_DB2, ("open complete\n"));
-	return (0);
+	return 0;
 
 bad:
 	st_unmount(st, NOEJECT);
 	scsipi_adapter_delref(adapt);
 	periph->periph_flags &= ~PERIPH_OPEN;
-	return (error);
+	return error;
 }
 
-/*
- * close the device.. only called if we are the LAST
- * occurence of an open device
- */
 static int
 stclose(dev_t dev, int flags, int mode, struct lwp *l)
 {
@@ -729,9 +702,7 @@ stclose(dev_t dev, int flags, int mode, 
 		error = st_check_eod(st, FALSE, &nm, 0);
 	}
 
-	/*
-	 * Allow robots to eject tape if needed.
-	 */
+	/* Allow robots to eject tape if needed.  */
 	scsipi_prevent(periph, SPAMR_ALLOW,
 	    XS_CTL_IGNORE_ILLEGAL_REQUEST | XS_CTL_IGNORE_NOT_READY);
 
@@ -784,7 +755,7 @@ stclose(dev_t dev, int flags, int mode, 
 	scsipi_adapter_delref(adapt);
 	periph->periph_flags &= ~PERIPH_OPEN;
 
-	return (error);
+	return error;
 }
 
 /*
@@ -807,7 +778,7 @@ st_mount_tape(dev_t dev, int flags)
 	periph = st->sc_periph;
 
 	if (st->flags & ST_MOUNTED)
-		return (0);
+		return 0;
 
 	SC_DEBUG(periph, SCSIPI_DB1, ("mounting\n "));
 	st->flags |= ST_NEW_MOUNT;
@@ -817,7 +788,7 @@ st_mount_tape(dev_t dev, int flags)
 	 * to do a 'load' instruction.  (We assume it is new.)
 	 */
 	if ((error = st_load(st, LD_LOAD, XS_CTL_SILENT)) != 0)
-		return (error);
+		return error;
 	/*
 	 * Throw another dummy instruction to catch
 	 * 'Unit attention' errors. Many drives give
@@ -832,13 +803,13 @@ st_mount_tape(dev_t dev, int flags)
 	 */
 	if (st->quirks & ST_Q_SENSE_HELP)
 		if ((error = st_touch_tape(st)) != 0)
-			return (error);
+			return error;
 	/*
 	 * Load the physical device parameters
 	 * loads: blkmin, blkmax
 	 */
 	if ((error = st->ops(st, ST_OPS_RBL, 0)) != 0)
-		return (error);
+		return error;
 	/*
 	 * Load the media dependent parameters
 	 * includes: media_blksize,media_density,numblks
@@ -846,7 +817,7 @@ st_mount_tape(dev_t dev, int flags)
 	 * If not you may need the "quirk" above.
 	 */
 	if ((error = st->ops(st, ST_OPS_MODESENSE, 0)) != 0)
-		return (error);
+		return error;
 	/*
 	 * If we have gained a permanent density from somewhere,
 	 * then use it in preference to the one supplied by
@@ -869,20 +840,21 @@ st_mount_tape(dev_t dev, int flags)
 			st->flags |= ST_FIXEDBLOCKS;
 	} else {
 		if ((error = st_decide_mode(st, FALSE)) != 0)
-			return (error);
+			return error;
 	}
 	if ((error = st->ops(st, ST_OPS_MODESELECT, 0)) != 0) {
 		/* ATAPI will return ENODEV for this, and this may be OK */
 		if (error != ENODEV) {
-			aprint_error_dev(&st->sc_dev, "cannot set selected mode\n");
-			return (error);
+			aprint_error_dev(st->sc_dev,
+			    "cannot set selected mode\n");
+			return error;
 		}
 	}
 	st->flags &= ~ST_NEW_MOUNT;
 	st->flags |= ST_MOUNTED;
 	periph->periph_flags |= PERIPH_MEDIA_LOADED;	/* move earlier? */
 	st->blkno = st->fileno = (daddr_t) 0;
-	return (0);
+	return 0;
 }
 
 /*
@@ -915,7 +887,8 @@ st_unmount(struct st_softc *st, boolean 
 	 */
 	st->density = 0;
 	if (st->ops(st, ST_OPS_MODESELECT, 0) != 0) {
-		aprint_error_dev(&st->sc_dev, "WARNING: cannot revert to default density\n");
+		aprint_error_dev(st->sc_dev,
+		    "WARNING: cannot revert to default density\n");
 	}
 
 	if (eject) {
@@ -1037,7 +1010,7 @@ done:
 	default:
 		st->flags |= ST_2FM_AT_EOD;
 	}
-	return (0);
+	return 0;
 }
 
 /*
@@ -1053,10 +1026,9 @@ ststrategy(struct buf *bp)
 	int s;
 
 	SC_DEBUG(st->sc_periph, SCSIPI_DB1,
-	    ("ststrategy %d bytes @ blk %" PRId64 "\n", bp->b_bcount, bp->b_blkno));
-	/*
-	 * If it's a null transfer, return immediately
-	 */
+	    ("ststrategy %d bytes @ blk %" PRId64 "\n", bp->b_bcount,
+	        bp->b_blkno));
+	/* If it's a null transfer, return immediately */
 	if (bp->b_bcount == 0)
 		goto abort;
 
@@ -1066,23 +1038,19 @@ ststrategy(struct buf *bp)
 		goto abort;
 	}
 
-	/*
-	 * Odd sized request on fixed drives are verboten
-	 */
+	/* Odd sized request on fixed drives are verboten */
 	if (st->flags & ST_FIXEDBLOCKS) {
 		if (bp->b_bcount % st->blksize) {
-			aprint_error_dev(&st->sc_dev, "bad request, must be multiple of %d\n",
+			aprint_error_dev(st->sc_dev, "bad request, must be multiple of %d\n",
 			    st->blksize);
 			bp->b_error = EIO;
 			goto abort;
 		}
 	}
-	/*
-	 * as are out-of-range requests on variable drives.
-	 */
+	/* as are out-of-range requests on variable drives. */
 	else if (bp->b_bcount < st->blkmin ||
 	    (st->blkmax && bp->b_bcount > st->blkmax)) {
-		aprint_error_dev(&st->sc_dev, "bad request, must be between %d and %d\n",
+		aprint_error_dev(st->sc_dev, "bad request, must be between %d and %d\n",
 		    st->blkmin, st->blkmax);
 		bp->b_error = EIO;
 		goto abort;
@@ -1132,17 +1100,14 @@ abort:
 static void
 ststart(struct scsipi_periph *periph)
 {
-	struct st_softc *st = (void *)periph->periph_dev;
+	struct st_softc *st = device_private(periph->periph_dev);
 	struct buf *bp;
 	struct scsi_rw_tape cmd;
 	struct scsipi_xfer *xs;
 	int flags, error;
 
 	SC_DEBUG(periph, SCSIPI_DB2, ("ststart "));
-	/*
-	 * See if there is a buf to do and we are not already
-	 * doing one
-	 */
+	/* See if there is a buf to do and we are not already  doing one */
 	while (periph->periph_active < periph->periph_openings) {
 		/* if a special awaits, let it proceed first */
 		if (periph->periph_flags & PERIPH_WAITING) {
@@ -1164,9 +1129,8 @@ ststart(struct scsipi_periph *periph)
 				bp->b_resid = bp->b_bcount;
 				biodone(bp);
 				continue;
-			} else {
+			} else
 				return;
-			}
 		}
 
 		if ((bp = bufq_peek(st->buf_queue)) == NULL)
@@ -1221,9 +1185,7 @@ ststart(struct scsipi_periph *periph)
 			continue;	/* seek more work */
 		}
 
-		/*
-		 * Fill out the scsi command
-		 */
+		/* Fill out the scsi command */
 		memset(&cmd, 0, sizeof(cmd));
 		flags = XS_CTL_NOSLEEP | XS_CTL_ASYNC;
 		if ((bp->b_flags & B_READ) == B_WRITE) {
@@ -1245,14 +1207,10 @@ ststart(struct scsipi_periph *periph)
 		} else
 			_lto3b(bp->b_bcount, cmd.len);
 
-		/*
-		 * Clear 'position updated' indicator
-		 */
+		/* Clear 'position updated' indicator */
 		st->flags &= ~ST_POSUPDATED;
 
-		/*
-		 * go ask the adapter to do all this for us
-		 */
+		/* go ask the adapter to do all this for us */
 		xs = scsipi_make_xs(periph,
 		    (struct scsipi_generic *)&cmd, sizeof(cmd),
 		    (u_char *)bp->b_data, bp->b_bcount,
@@ -1291,11 +1249,10 @@ strestart(void *v)
 	splx(s);
 }
 
-
 static void
 stdone(struct scsipi_xfer *xs, int error)
 {
-	struct st_softc *st = (void *)xs->xs_periph->periph_dev;
+	struct st_softc *st = device_private(xs->xs_periph->periph_dev);
 	struct buf *bp = xs->bp;
 
 	if (bp) {
@@ -1330,7 +1287,6 @@ stdone(struct scsipi_xfer *xs, int error
 					st->blkno++;
 			}
 		}
-
 		biodone(bp);
 	}
 }
@@ -1340,8 +1296,8 @@ stread(dev_t dev, struct uio *uio, int i
 {
 	struct st_softc *st = device_lookup_private(&st_cd, STUNIT(dev));
 
-	return (physio(ststrategy, NULL, dev, B_READ,
-	    st->sc_periph->periph_channel->chan_adapter->adapt_minphys, uio));
+	return physio(ststrategy, NULL, dev, B_READ,
+	    st->sc_periph->periph_channel->chan_adapter->adapt_minphys, uio);
 }
 
 static int
@@ -1349,8 +1305,8 @@ stwrite(dev_t dev, struct uio *uio, int 
 {
 	struct st_softc *st = device_lookup_private(&st_cd, STUNIT(dev));
 
-	return (physio(ststrategy, NULL, dev, B_WRITE,
-	    st->sc_periph->periph_channel->chan_adapter->adapt_minphys, uio));
+	return physio(ststrategy, NULL, dev, B_WRITE,
+	    st->sc_periph->periph_channel->chan_adapter->adapt_minphys, uio);
 }
 
 /*
@@ -1366,12 +1322,10 @@ stioctl(dev_t dev, u_long cmd, void *arg
 	int flags;
 	struct st_softc *st;
 	int hold_blksize;
-	u_int8_t hold_density;
+	uint8_t hold_density;
 	struct mtop *mt = (struct mtop *) arg;
 
-	/*
-	 * Find the device that the user is talking about
-	 */
+	/* Find the device that the user is talking about */
 	flags = 0;		/* give error messages, act on errors etc. */
 	unit = STUNIT(dev);
 	dsty = STDSTY(dev);
@@ -1379,8 +1333,7 @@ stioctl(dev_t dev, u_long cmd, void *arg
 	hold_blksize = st->blksize;
 	hold_density = st->density;
 
-	switch ((u_int) cmd) {
-
+	switch ((u_int)cmd) {
 	case MTIOCGET: {
 		struct mtget *g = (struct mtget *) arg;
 		/*
@@ -1427,7 +1380,6 @@ stioctl(dev_t dev, u_long cmd, void *arg
 		break;
 	}
 	case MTIOCTOP: {
-
 		SC_DEBUG(st->sc_periph, SCSIPI_DB1,
 		    ("[ioctl: op=0x%x count=0x%x]\n", mt->mt_op,
 			mt->mt_count));
@@ -1483,7 +1435,8 @@ stioctl(dev_t dev, u_long cmd, void *arg
 		case MTSETBSIZ:	/* Set block size for device */
 #ifdef	NOTYET
 			if (!(st->flags & ST_NEW_MOUNT)) {
-				uprintf("re-mount tape before changing blocksize");
+				uprintf("re-mount tape before changing "
+				    "blocksize");
 				error = EINVAL;
 				break;
 			}
@@ -1502,7 +1455,6 @@ stioctl(dev_t dev, u_long cmd, void *arg
 			st->blksize = number;
 			st->flags |= ST_BLOCK_SET;	/*XXX */
 			goto try_new_value;
-
 		case MTSETDNSTY:	/* Set density for device and mode */
 			/*
 			 * Any number >= 0 and <= 0xff is legal. Numbers
@@ -1514,13 +1466,11 @@ stioctl(dev_t dev, u_long cmd, void *arg
 			} else
 				st->density = number;
 			goto try_new_value;
-
 		case MTCMPRESS:
 			error = st->ops(st, (number == 0) ?
 			    ST_OPS_CMPRSS_OFF : ST_OPS_CMPRSS_ON,
 			    XS_CTL_SILENT);
 			break;
-
 		case MTEWARN:
 			if (number)
 				st->flags |= ST_EARLYWARN;
@@ -1536,31 +1486,24 @@ stioctl(dev_t dev, u_long cmd, void *arg
 	case MTIOCIEOT:
 	case MTIOCEEOT:
 		break;
-
 	case MTIOCRDSPOS:
-		error = st_rdpos(st, 0, (u_int32_t *) arg);
+		error = st_rdpos(st, 0, (uint32_t *)arg);
 		break;
-
 	case MTIOCRDHPOS:
-		error = st_rdpos(st, 1, (u_int32_t *) arg);
+		error = st_rdpos(st, 1, (uint32_t *)arg);
 		break;
-
 	case MTIOCSLOCATE:
-		error = st_setpos(st, 0, (u_int32_t *) arg);
+		error = st_setpos(st, 0, (uint32_t *)arg);
 		break;
-
 	case MTIOCHLOCATE:
-		error = st_setpos(st, 1, (u_int32_t *) arg);
+		error = st_setpos(st, 1, (uint32_t *)arg);
 		break;
-
-
 	default:
-		error = scsipi_do_ioctl(st->sc_periph, dev, cmd, arg,
-					flag, l);
+		error = scsipi_do_ioctl(st->sc_periph, dev, cmd, arg, flag, l);
 		break;
 	}
-	return (error);
-/*-----------------------------*/
+	return error;
+
 try_new_value:
 	/*
 	 * Check that the mode being asked for is aggreeable to the
@@ -1572,14 +1515,14 @@ try_new_value:
 	if ((STMODE(dev) != CTRL_MODE || (st->flags & ST_MOUNTED) != 0) &&
 	    (error = st->ops(st, ST_OPS_MODESELECT, 0)) != 0) {
 		/* put it back as it was */
-		aprint_error_dev(&st->sc_dev, "cannot set selected mode\n");
+		aprint_error_dev(st->sc_dev, "cannot set selected mode\n");
 		st->density = hold_density;
 		st->blksize = hold_blksize;
 		if (st->blksize)
 			st->flags |= ST_FIXEDBLOCKS;
 		else
 			st->flags &= ~ST_FIXEDBLOCKS;
-		return (error);
+		return error;
 	}
 	/*
 	 * As the drive liked it, if we are setting a new default,
@@ -1601,22 +1544,18 @@ try_new_value:
 			break;
 		}
 	}
-	return (0);
+	return 0;
 }
 
-/*
- * Do a synchronous read.
- */
+/* Do a synchronous read. */
 static int
 st_read(struct st_softc *st, char *bf, int size, int flags)
 {
 	struct scsi_rw_tape cmd;
 
-	/*
-	 * If it's a null transfer, return immediatly
-	 */
+	/* If it's a null transfer, return immediatly */
 	if (size == 0)
-		return (0);
+		return 0;
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.opcode = READ;
 	if (st->flags & ST_FIXEDBLOCKS) {
@@ -1625,14 +1564,12 @@ st_read(struct st_softc *st, char *bf, i
 		    cmd.len);
 	} else
 		_lto3b(size, cmd.len);
-	return (scsipi_command(st->sc_periph,
+	return scsipi_command(st->sc_periph,
 	    (void *)&cmd, sizeof(cmd), (void *)bf, size, 0, ST_IO_TIME, NULL,
-	    flags | XS_CTL_DATA_IN));
+	    flags | XS_CTL_DATA_IN);
 }
 
-/*
- * issue an erase command
- */
+/* issue an erase command */
 static int
 st_erase(struct st_softc *st, int full, int flags)
 {
@@ -1649,9 +1586,8 @@ st_erase(struct st_softc *st, int full, 
 	if (full) {
 		cmd.byte2 = SE_LONG;
 		tmo = ST_SPC_TIME;
-	} else {
+	} else
 		tmo = ST_IO_TIME;
-	}
 
 	/*
 	 * XXX We always do this asynchronously, for now, unless the device
@@ -1661,13 +1597,11 @@ st_erase(struct st_softc *st, int full, 
 	if ((st->quirks & ST_Q_ERASE_NOIMM) == 0)
 		cmd.byte2 |= SE_IMMED;
 
-	return (scsipi_command(st->sc_periph, (void *)&cmd, sizeof(cmd), 0, 0,
-	    ST_RETRIES, tmo, NULL, flags));
+	return scsipi_command(st->sc_periph, (void *)&cmd, sizeof(cmd), 0, 0,
+	    ST_RETRIES, tmo, NULL, flags);
 }
 
-/*
- * skip N blocks/filemarks/seq filemarks/eom
- */
+/* skip N blocks/filemarks/seq filemarks/eom */
 static int
 st_space(struct st_softc *st, int number, u_int what, int flags)
 {
@@ -1679,7 +1613,7 @@ st_space(struct st_softc *st, int number
 		if (st->flags & ST_PER_ACTION) {
 			if (number > 0) {
 				st->flags &= ~ST_PER_ACTION;
-				return (EIO);
+				return EIO;
 			} else if (number < 0) {
 				if (st->flags & ST_AT_FILEMARK) {
 					/*
@@ -1690,11 +1624,11 @@ st_space(struct st_softc *st, int number
 					error = st_space(st, 0, SP_FILEMARKS,
 					    flags);
 					if (error)
-						return (error);
+						return error;
 				}
 				if (st->flags & ST_BLANK_READ) {
 					st->flags &= ~ST_BLANK_READ;
-					return (EIO);
+					return EIO;
 				}
 				st->flags &= ~(ST_EIO_PENDING|ST_EOM_PENDING);
 			}
@@ -1705,7 +1639,7 @@ st_space(struct st_softc *st, int number
 			if (number > 0) {
 				/* pretend we just discovered the error */
 				st->flags &= ~ST_EIO_PENDING;
-				return (EIO);
+				return EIO;
 			} else if (number < 0) {
 				/* back away from the error */
 				st->flags &= ~ST_EIO_PENDING;
@@ -1725,19 +1659,19 @@ st_space(struct st_softc *st, int number
 		if (st->flags & ST_EOM_PENDING) {
 			/* we're already there */
 			st->flags &= ~ST_EOM_PENDING;
-			return (0);
+			return 0;
 		}
 		if (st->flags & ST_EIO_PENDING) {
 			/* pretend we just discovered the error */
 			st->flags &= ~ST_EIO_PENDING;
-			return (EIO);
+			return EIO;
 		}
 		if (st->flags & ST_AT_FILEMARK)
 			st->flags &= ~ST_AT_FILEMARK;
 		break;
 	}
 	if (number == 0)
-		return (0);
+		return 0;
 
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.opcode = SPACE;
@@ -1752,26 +1686,22 @@ st_space(struct st_softc *st, int number
 	if (error == 0 && (st->flags & ST_POSUPDATED) == 0) {
 		number = number - st->last_ctl_resid;
 		if (what == SP_BLKS) {
-			if (st->blkno != -1) {
+			if (st->blkno != -1)
 				st->blkno += number;
-			}
 		} else if (what == SP_FILEMARKS) {
 			if (st->fileno != -1) {
 				st->fileno += number;
-				if (number > 0) {
+				if (number > 0)
 					st->blkno = 0;
-				} else if (number < 0) {
+				else if (number < 0)
 					st->blkno = -1;
-				}
 			}
 		} else if (what == SP_EOM) {
-			/*
-			 * This loses us relative position.
-			 */
+			/* This loses us relative position. */
 			st->fileno = st->blkno = -1;
 		}
 	}
-	return (error);
+	return error;
 }
 
 /*
@@ -1788,7 +1718,7 @@ st_write_filemarks(struct st_softc *st, 
 	 * Don't try.
 	 */
 	if (number < 0)
-		return (EINVAL);
+		return EINVAL;
 	switch (number) {
 	case 0:		/* really a command to sync the drive's buffers */
 		break;
@@ -1817,10 +1747,9 @@ st_write_filemarks(struct st_softc *st, 
 	/* XXX WE NEED TO BE ABLE TO GET A RESIDIUAL XXX */
 	error = scsipi_command(st->sc_periph, (void *)&cmd, sizeof(cmd), 0, 0,
 	    0, ST_IO_TIME * 4, NULL, flags);
-	if (error == 0 && st->fileno != -1) {
+	if (error == 0 && st->fileno != -1)
 		st->fileno += number;
-	}
-	return (error);
+	return error;
 }
 
 /*
@@ -1839,7 +1768,7 @@ st_check_eod(struct st_softc *st, boolea
 	switch (st->flags & (ST_WRITTEN | ST_FM_WRITTEN | ST_2FM_AT_EOD)) {
 	default:
 		*nmarks = 0;
-		return (0);
+		return 0;
 	case ST_WRITTEN:
 	case ST_WRITTEN | ST_FM_WRITTEN | ST_2FM_AT_EOD:
 		*nmarks = 1;
@@ -1850,12 +1779,10 @@ st_check_eod(struct st_softc *st, boolea
 	error = st_write_filemarks(st, *nmarks, flags);
 	if (position && !error)
 		error = st_space(st, -*nmarks, SP_FILEMARKS, flags);
-	return (error);
+	return error;
 }
 
-/*
- * load/unload/retension
- */
+/* load/unload/retension */
 static int
 st_load(struct st_softc *st, u_int type, int flags)
 {
@@ -1867,18 +1794,18 @@ st_load(struct st_softc *st, u_int type,
 
 		error = st_check_eod(st, FALSE, &nmarks, flags);
 		if (error) {
-			aprint_error_dev(&st->sc_dev, "failed to write closing filemarks at "
+			aprint_error_dev(st->sc_dev,
+			    "failed to write closing filemarks at "
 			    "unload, errno=%d\n", error);
-			return (error);
+			return error;
 		}
 	}
 	if (st->quirks & ST_Q_IGNORE_LOADS) {
-		if (type == LD_LOAD) {
+		if (type == LD_LOAD)
 			/*
 			 * If we ignore loads, at least we should try a rewind.
 			 */
 			return st_rewind(st, 0, flags);
-		}
 		/* otherwise, we should do what's asked of us */
 	}
 
@@ -1891,15 +1818,13 @@ st_load(struct st_softc *st, u_int type,
 	error = scsipi_command(st->sc_periph, (void *)&cmd, sizeof(cmd), 0, 0,
 	    ST_RETRIES, ST_SPC_TIME, NULL, flags);
 	if (error) {
-		aprint_error_dev(&st->sc_dev, "error %d in st_load (op %d)\n",
+		aprint_error_dev(st->sc_dev, "error %d in st_load (op %d)\n",
 		    error, type);
 	}
-	return (error);
+	return error;
 }
 
-/*
- *  Rewind the device
- */
+/* Rewind the device */
 static int
 st_rewind(struct st_softc *st, u_int immediate, int flags)
 {
@@ -1910,18 +1835,17 @@ st_rewind(struct st_softc *st, u_int imm
 
 	error = st_check_eod(st, FALSE, &nmarks, flags);
 	if (error) {
-		aprint_error_dev(&st->sc_dev, "failed to write closing filemarks at "
+		aprint_error_dev(st->sc_dev,
+		    "failed to write closing filemarks at "
 		    "rewind, errno=%d\n", error);
-		return (error);
+		return error;
 	}
 	st->flags &= ~ST_PER_ACTION;
 
 	/* If requestor asked for immediate response, set a short timeout */
 	timeout = immediate ? ST_CTL_TIME : ST_SPC_TIME;
 
-	/*
-	 * ATAPI tapes always need immediate to be set
-	 */
+	/* ATAPI tapes always need immediate to be set */
 	if (scsipi_periph_bustype(st->sc_periph) == SCSIPI_BUSTYPE_ATAPI)
 		immediate = SR_IMMED;
 
@@ -1932,21 +1856,20 @@ st_rewind(struct st_softc *st, u_int imm
 	error = scsipi_command(st->sc_periph, (void *)&cmd, sizeof(cmd), 0, 0,
 	    ST_RETRIES, timeout, NULL, flags);
 	if (error) {
-		aprint_error_dev(&st->sc_dev, "error %d trying to rewind\n",
+		aprint_error_dev(st->sc_dev, "error %d trying to rewind\n",
 		    error);
 		/* lost position */
 		st->fileno = st->blkno = -1;
-	} else {
+	} else
 		st->fileno = st->blkno = 0;
-	}
-	return (error);
+	return error;
 }
 
 static int
-st_rdpos(struct st_softc *st, int hard, u_int32_t *blkptr)
+st_rdpos(struct st_softc *st, int hard, uint32_t *blkptr)
 {
 	int error;
-	u_int8_t posdata[20];
+	uint8_t posdata[20];
 	struct scsi_tape_read_position cmd;
 
 	/*
@@ -1960,9 +1883,7 @@ st_rdpos(struct st_softc *st, int hard, 
 	 */
 
 	if (hard && (st->flags & ST_WRITTEN)) {
-		/*
-		 * First flush any pending writes...
-		 */
+		/* First flush any pending writes... */
 		error = st_write_filemarks(st, 0, XS_CTL_SILENT);
 		/*
 		 * The latter case is for 'write protected' tapes
@@ -1970,7 +1891,7 @@ st_rdpos(struct st_softc *st, int hard, 
 		 * for writing filemarks as a no-op.
 		 */
 		if (error != 0 && error != EACCES && error != EROFS)
-			return (error);
+			return error;
 	}
 
 	memset(&cmd, 0, sizeof(cmd));
@@ -1995,11 +1916,11 @@ st_rdpos(struct st_softc *st, int hard, 
 		else
 			*blkptr = _4btol(&posdata[4]);
 	}
-	return (error);
+	return error;
 }
 
 static int
-st_setpos(struct st_softc *st, int hard, u_int32_t *blkptr)
+st_setpos(struct st_softc *st, int hard, uint32_t *blkptr)
 {
 	int error;
 	struct scsi_tape_locate cmd;
@@ -2026,7 +1947,7 @@ st_setpos(struct st_softc *st, int hard,
 	 * these things ever start being maintained in this driver)
 	 */
 	st->fileno = st->blkno = -1;
-	return (error);
+	return error;
 }
 
 
@@ -2041,10 +1962,10 @@ st_interpret_sense(struct scsipi_xfer *x
 	struct scsipi_periph *periph = xs->xs_periph;
 	struct scsi_sense_data *sense = &xs->sense.scsi_sense;
 	struct buf *bp = xs->bp;
-	struct st_softc *st = (void *)periph->periph_dev;
+	struct st_softc *st = device_private(periph->periph_dev);
 	int retval = EJUSTRETURN;
 	int doprint = ((xs->xs_control & XS_CTL_SILENT) == 0);
-	u_int8_t key;
+	uint8_t key;
 	int32_t info;
 
 	/*
@@ -2053,7 +1974,7 @@ st_interpret_sense(struct scsipi_xfer *x
 	 */
 	if (SSD_RCODE(sense->response_code) != SSD_RCODE_CURRENT &&
 	    SSD_RCODE(sense->response_code) != SSD_RCODE_DEFERRED)
-		return (retval);
+		return retval;
 
 	if (sense->response_code & SSD_RCODE_VALID)
 		info = _4btol(sense->info);
@@ -2072,24 +1993,20 @@ st_interpret_sense(struct scsipi_xfer *x
 			scsipi_periph_freeze(periph, 1);
 		callout_reset(&periph->periph_callout,
 		    hz, scsipi_periph_timed_thaw, periph);
-		return (ERESTART);
+		return ERESTART;
 	}
 
-	/*
-	 * If the device is not open yet, let generic handle
-	 */
-	if ((periph->periph_flags & PERIPH_OPEN) == 0) {
-		return (retval);
-	}
+	/* If the device is not open yet, let generic handle */
+	if ((periph->periph_flags & PERIPH_OPEN) == 0)
+		return retval;
 
 	xs->resid = info;
 	if (st->flags & ST_FIXEDBLOCKS) {
 		if (bp) {
 			xs->resid *= st->blksize;
 			st->last_io_resid = xs->resid;
-		} else {
+		} else
 			st->last_ctl_resid = xs->resid;
-		}
 		if (key == SKEY_VOLUME_OVERFLOW) {
 			st->flags |= ST_EIO_PENDING;
 			if (bp)
@@ -2128,8 +2045,9 @@ st_interpret_sense(struct scsipi_xfer *x
 				bp->b_resid = xs->resid;
 			if (sense->response_code & SSD_RCODE_VALID &&
 			    (xs->xs_control & XS_CTL_SILENT) == 0)
-				aprint_error_dev(&st->sc_dev, "block wrong size, %d blocks "
-				    "residual\n", info);
+				aprint_error_dev(st->sc_dev,
+				    "block wrong size, %d blocks residual\n",
+				    info);
 
 			/*
 			 * This quirk code helps the drive read
@@ -2154,19 +2072,18 @@ st_interpret_sense(struct scsipi_xfer *x
 		 */
 		if (xs->datalen && xs->resid >= xs->datalen) {
 			if (st->flags & ST_EIO_PENDING)
-				return (EIO);
+				return EIO;
 			if (st->flags & ST_AT_FILEMARK) {
 				if (bp)
 					bp->b_resid = xs->resid;
-				return (0);
+				return 0;
 			}
 		}
 	} else {		/* must be variable mode */
-		if (bp) {
+		if (bp)
 			st->last_io_resid = xs->resid;
-		} else {
+		else
 			st->last_ctl_resid = xs->resid;
-		}
 		if (sense->flags & SSD_EOM) {
 			/*
 			 * The current semantics of this
@@ -2210,7 +2127,7 @@ st_interpret_sense(struct scsipi_xfer *x
 				 * we issued.
 				 */
 				if ((xs->xs_control & XS_CTL_SILENT) == 0) {
-					aprint_error_dev(&st->sc_dev,
+					aprint_error_dev(st->sc_dev,
 					    "%d-byte tape record too big"
 					    " for %d-byte user buffer\n",
 					    xs->datalen - info, xs->datalen);
@@ -2264,10 +2181,9 @@ st_interpret_sense(struct scsipi_xfer *x
 		doprint = 0;
 
 	if (doprint) {
-
 		/* Print verbose sense info if possible */
 		if (scsipi_print_sense(xs, 0) != 0)
-			return (retval);
+			return retval;
 
 		/* Print less-verbose sense info */
 		scsipi_printaddr(periph);
@@ -2301,7 +2217,7 @@ st_interpret_sense(struct scsipi_xfer *x
 		}
 		printf("\n");
 	}
-	return (retval);
+	return retval;
 }
 
 /*
@@ -2329,7 +2245,7 @@ st_touch_tape(struct st_softc *st)
 
 	bf = malloc(1024, M_TEMP, M_NOWAIT);
 	if (bf == NULL)
-		return (ENOMEM);
+		return ENOMEM;
 
 	if ((error = st->ops(st, ST_OPS_MODESENSE, 0)) != 0)
 		goto bad;
@@ -2369,21 +2285,19 @@ st_touch_tape(struct st_softc *st)
 		st_read(st, bf, readsize, XS_CTL_SILENT);	/* XXX */
 		if ((error = st_rewind(st, 0, 0)) != 0) {
 bad:			free(bf, M_TEMP);
-			return (error);
+			return error;
 		}
 	} while (readsize != 1 && readsize > st->blksize);
 
 	free(bf, M_TEMP);
-	return (0);
+	return 0;
 }
 
 static int
-stdump(dev_t dev, daddr_t blkno, void *va,
-    size_t size)
+stdump(dev_t dev, daddr_t blkno, void *va, size_t size)
 {
-
 	/* Not implemented. */
-	return (ENXIO);
+	return ENXIO;
 }
 
 /*
@@ -2413,14 +2327,13 @@ st_mode_select(struct st_softc *st, int 
 		SC_DEBUG(periph, SCSIPI_DB3,
 		    ("not setting density 0x%x blksize 0x%x\n",
 		    st->density, st->blksize));
-		return (0);
+		return 0;
 	}
 
-	/*
-	 * Set up for a mode select
-	 */
+	/* Set up for a mode select */
 	memset(&select, 0, sizeof(select));
-	select.header.blk_desc_len = sizeof(struct scsi_general_block_descriptor);
+	select.header.blk_desc_len = sizeof(struct
+	    scsi_general_block_descriptor);
 	select.header.dev_spec &= ~SMH_DSP_BUFF_MODE;
 	select.blk_desc.density = st->density;
 	if (st->flags & ST_DONTBUFFER)
@@ -2432,9 +2345,7 @@ st_mode_select(struct st_softc *st, int 
 	if (st->page_0_size)
 		memcpy(select.sense_data, st->sense_data, st->page_0_size);
 
-	/*
-	 * do the command
-	 */
+	/* do the command */
 	return scsipi_mode_select(periph, 0, &select.header, select_len,
 				  flags, ST_RETRIES, ST_CTL_TIME);
 }

Index: src/sys/dev/scsipi/st_atapi.c
diff -u src/sys/dev/scsipi/st_atapi.c:1.27 src/sys/dev/scsipi/st_atapi.c:1.28
--- src/sys/dev/scsipi/st_atapi.c:1.27	Thu Feb  2 19:43:06 2012
+++ src/sys/dev/scsipi/st_atapi.c	Tue Feb 28 10:58:11 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: st_atapi.c,v 1.27 2012/02/02 19:43:06 tls Exp $ */
+/*	$NetBSD: st_atapi.c,v 1.28 2012/02/28 10:58:11 mbalmer Exp $ */
 
 /*
  * Copyright (c) 2001 Manuel Bouyer.
@@ -22,15 +22,13 @@
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: st_atapi.c,v 1.27 2012/02/02 19:43:06 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: st_atapi.c,v 1.28 2012/02/28 10:58:11 mbalmer Exp $");
 
 #include "opt_scsi.h"
 
-
 #include <sys/param.h>
 #include <sys/device.h>
 #include <sys/buf.h>
@@ -47,8 +45,14 @@ static void	st_atapibus_attach(device_t,
 static int	st_atapibus_ops(struct st_softc *, int, int);
 static int	st_atapibus_mode_sense(struct st_softc *, int);
 
-CFATTACH_DECL(st_atapibus, sizeof(struct st_softc),
-    st_atapibus_match, st_atapibus_attach, stdetach, NULL);
+CFATTACH_DECL_NEW(
+	st_atapibus,
+	sizeof(struct st_softc),
+	st_atapibus_match,
+	st_atapibus_attach,
+	stdetach,
+	NULL
+);
 
 static const struct scsipi_inquiry_pattern st_atapibus_patterns[] = {
 	{T_SEQUENTIAL, T_REMOV,
@@ -56,20 +60,19 @@ static const struct scsipi_inquiry_patte
 };
 
 static int
-st_atapibus_match(device_t parent, cfdata_t match,
-    void *aux)
+st_atapibus_match(device_t parent, cfdata_t match,  void *aux)
 {
 	struct scsipibus_attach_args *sa = aux;
 	int priority;
 
 	if (scsipi_periph_bustype(sa->sa_periph) != SCSIPI_BUSTYPE_ATAPI)
-		return (0);
+		return 0;
 
 	(void)scsipi_inqmatch(&sa->sa_inqbuf,
 	    st_atapibus_patterns,
 	    sizeof(st_atapibus_patterns)/sizeof(st_atapibus_patterns[0]),
 	    sizeof(st_atapibus_patterns[0]), &priority);
-	return (priority);
+	return priority;
 }
 
 static void
@@ -102,7 +105,7 @@ st_atapibus_attach(device_t parent, devi
 	}
 
 	st->ops = st_atapibus_ops;
-	stattach(parent, st, aux);
+	stattach(parent, self, aux);
 }
 
 static int

Index: src/sys/dev/scsipi/st_scsi.c
diff -u src/sys/dev/scsipi/st_scsi.c:1.33 src/sys/dev/scsipi/st_scsi.c:1.34
--- src/sys/dev/scsipi/st_scsi.c:1.33	Thu Feb  2 19:43:06 2012
+++ src/sys/dev/scsipi/st_scsi.c	Tue Feb 28 10:58:11 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: st_scsi.c,v 1.33 2012/02/02 19:43:06 tls Exp $ */
+/*	$NetBSD: st_scsi.c,v 1.34 2012/02/28 10:58:11 mbalmer Exp $ */
 
 /*-
  * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -50,11 +50,10 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: st_scsi.c,v 1.33 2012/02/02 19:43:06 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: st_scsi.c,v 1.34 2012/02/28 10:58:11 mbalmer Exp $");
 
 #include "opt_scsi.h"
 
-
 #include <sys/param.h>
 #include <sys/device.h>
 #include <sys/buf.h>
@@ -74,8 +73,14 @@ static int	st_scsibus_read_block_limits(
 static int	st_scsibus_mode_sense(struct st_softc *, int);
 static int	st_scsibus_cmprss(struct st_softc *, int, int);
 
-CFATTACH_DECL(st_scsibus, sizeof(struct st_softc),
-    st_scsibus_match, st_scsibus_attach, stdetach, NULL);
+CFATTACH_DECL_NEW(
+	st_scsibus,
+	sizeof(struct st_softc),
+	st_scsibus_match,
+	st_scsibus_attach,
+	stdetach,
+	NULL
+);
 
 static const struct scsipi_inquiry_pattern st_scsibus_patterns[] = {
 	{T_SEQUENTIAL, T_REMOV,
@@ -83,20 +88,19 @@ static const struct scsipi_inquiry_patte
 };
 
 static int
-st_scsibus_match(device_t parent, cfdata_t match,
-    void *aux)
+st_scsibus_match(device_t parent, cfdata_t match, void *aux)
 {
 	struct scsipibus_attach_args *sa = aux;
 	int priority;
 
 	if (scsipi_periph_bustype(sa->sa_periph) != SCSIPI_BUSTYPE_SCSI)
-		return (0);
+		return 0;
 
 	(void)scsipi_inqmatch(&sa->sa_inqbuf,
 	    st_scsibus_patterns,
 	    sizeof(st_scsibus_patterns)/sizeof(st_scsibus_patterns[0]),
 	    sizeof(st_scsibus_patterns[0]), &priority);
-	return (priority);
+	return priority;
 }
 
 static void
@@ -105,7 +109,7 @@ st_scsibus_attach(device_t parent, devic
 	struct st_softc *st = device_private(self);
 
 	st->ops = st_scsibus_ops;
-	stattach(parent, st, aux);
+	stattach(parent, self, aux);
 }
 
 static int
@@ -140,27 +144,23 @@ st_scsibus_read_block_limits(struct st_s
 	struct scsipi_periph *periph = st->sc_periph;
 	int error;
 
-	/*
-	 * do a 'Read Block Limits'
-	 */
+	/* do a 'Read Block Limits' */
 	memset(&cmd, 0, sizeof(cmd));
 	cmd.opcode = READ_BLOCK_LIMITS;
 
-	/*
-	 * do the command, update the global values
-	 */
+	/* do the command, update the global values */
 	error = scsipi_command(periph, (void *)&cmd, sizeof(cmd),
 	    (void *)&block_limits, sizeof(block_limits),
 	    ST_RETRIES, ST_CTL_TIME, NULL, flags | XS_CTL_DATA_IN);
 	if (error)
-		return (error);
+		return error;
 
 	st->blkmin = _2btol(block_limits.min_length);
 	st->blkmax = _3btol(block_limits.max_length);
 
 	SC_DEBUG(periph, SCSIPI_DB3,
 	    ("(%d <= blksize <= %d)\n", st->blkmin, st->blkmax));
-	return (0);
+	return 0;
 }
 
 /*
@@ -199,7 +199,7 @@ st_scsibus_mode_sense(struct st_softc *s
 	    &scsipi_sense.header, scsipi_sense_len, flags,
 	    ST_RETRIES, ST_CTL_TIME);
 	if (error)
-		return (error);
+		return error;
 
 	st->numblks = _3btol(scsipi_sense.blk_desc.nblocks);
 	st->media_blksize = _3btol(scsipi_sense.blk_desc.blklen);
@@ -219,7 +219,7 @@ st_scsibus_mode_sense(struct st_softc *s
 		memcpy(st->sense_data, scsipi_sense.sense_data,
 		    st->page_0_size);
 	periph->periph_flags |= PERIPH_MEDIA_LOADED;
-	return (0);
+	return 0;
 }
 
 static int
@@ -239,15 +239,11 @@ st_scsibus_cmprss(struct st_softc *st, i
 	int error, ison;
 
 	scsi_dlen = sizeof(scsi_pdata);
-	/*
-	 * Do DATA COMPRESSION page first.
-	 */
+	/* Do DATA COMPRESSION page first. */
 	page = SMS_PCTRL_CURRENT | 0xf;
 	byte2 = 0;
 
-	/*
-	 * Do the MODE SENSE command...
-	 */
+	/*  Do the MODE SENSE command... */
 again:
 	memset(&scsi_pdata, 0, scsi_dlen);
 	error = scsipi_mode_sense(periph, byte2, page,
@@ -258,15 +254,13 @@ again:
 			byte2 = SMS_DBD;
 			goto again;
 		}
-		/*
-		 * Try a different page?
-		 */
+		/* Try a different page? */
 		if (page == (SMS_PCTRL_CURRENT | 0xf)) {
 			page = SMS_PCTRL_CURRENT | 0x10;
 			byte2 = 0;
 			goto again;
 		}
-		return (error);
+		return error;
 	}
 
 	if (scsi_pdata.header.blk_desc_len)
@@ -306,12 +300,9 @@ again:
 	 * but let's not clog the bus over it.
 	 */
 	if (onoff == ison)
-		return (0);
-
-	/*
-	 * Set up for a mode select
-	 */
+		return 0;
 
+	/* Set up for a mode select */
 	scsi_pdata.header.data_length = 0;
 	scsi_pdata.header.medium_type = 0;
 	if ((st->flags & ST_DONTBUFFER) == 0)
@@ -326,18 +317,14 @@ again:
 		scsi_pdata.blk_desc.nblocks[2] = 0;
 	}
 
-	/*
-	 * Do the command
-	 */
+	/* Do the command */
 	error = scsipi_mode_select(periph, SMS_PF, &scsi_pdata.header,
 	    scsi_dlen, flags, ST_RETRIES, ST_CTL_TIME);
 
 	if (error && (page & SMS_PAGE_MASK) == 0xf) {
-		/*
-		 * Try DEVICE CONFIGURATION page.
-		 */
+		/* Try DEVICE CONFIGURATION page. */
 		page = SMS_PCTRL_CURRENT | 0x10;
 		goto again;
 	}
-	return (error);
+	return error;
 }

Index: src/sys/dev/scsipi/stvar.h
diff -u src/sys/dev/scsipi/stvar.h:1.23 src/sys/dev/scsipi/stvar.h:1.24
--- src/sys/dev/scsipi/stvar.h:1.23	Thu Feb  2 19:43:06 2012
+++ src/sys/dev/scsipi/stvar.h	Tue Feb 28 10:58:11 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: stvar.h,v 1.23 2012/02/02 19:43:06 tls Exp $ */
+/*	$NetBSD: stvar.h,v 1.24 2012/02/28 10:58:11 mbalmer Exp $ */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -63,7 +63,7 @@
 struct modes {
 	u_int quirks;			/* same definitions as in quirkdata */
 	int blksize;
-	u_int8_t density;
+	uint8_t density;
 };
 
 struct quirkdata {
@@ -87,7 +87,7 @@ struct st_quirk_inquiry_pattern {
 };
 
 struct st_softc {
-	struct device sc_dev;
+	device_t sc_dev;
 /*--------------------callback to bus-specific code--------------------------*/
 	int (*ops)(struct st_softc *, int, int);
 #define ST_OPS_RBL		0x00	/* read block limit */
@@ -99,7 +99,7 @@ struct st_softc {
 	int flags;		/* see below                         */
 	u_int quirks;		/* quirks for the open mode          */
 	int blksize;		/* blksize we are using              */
-	u_int8_t density;	/* present density                   */
+	uint8_t density;	/* present density                   */
 	u_int page_0_size;	/* size of page 0 data		     */
 	u_int last_dsty;	/* last density opened               */
 	short mt_resid;		/* last (short) resid                */
@@ -110,8 +110,8 @@ struct st_softc {
 	int32_t last_io_resid;
 	int32_t last_ctl_resid;
 #define	mt_key	mt_erreg
-	u_int8_t asc;		/* last asc code seen		     */
-	u_int8_t ascq;		/* last asc code seen		     */
+	uint8_t asc;		/* last asc code seen		     */
+	uint8_t ascq;		/* last asc code seen		     */
 /*--------------------device/scsi parameters---------------------------------*/
 	struct scsipi_periph *sc_periph;/* our link to the adpter etc.       */
 /*--------------------parameters reported by the device ---------------------*/
@@ -121,12 +121,12 @@ struct st_softc {
 /*--------------------parameters reported by the device for this media-------*/
 	u_long numblks;		/* nominal blocks capacity            */
 	int media_blksize;	/* 0 if not ST_FIXEDBLOCKS            */
-	u_int8_t media_density;	/* this is what it said when asked    */
+	uint8_t media_density;	/* this is what it said when asked    */
 /*--------------------quirks for the whole drive-----------------------------*/
 	u_int drive_quirks;	/* quirks of this drive               */
 /*--------------------How we should set up when opening each minor device----*/
 	struct modes modes[4];	/* plus more for each mode            */
-	u_int8_t  modeflags[4];	/* flags for the modes                */
+	uint8_t  modeflags[4];	/* flags for the modes                */
 #define DENSITY_SET_BY_USER	0x01
 #define DENSITY_SET_BY_QUIRK	0x02
 #define BLKSIZE_SET_BY_USER	0x04
@@ -173,7 +173,7 @@ struct st_softc {
 			 ST_FIXEDBLOCKS | ST_READONLY | ST_FM_WRITTEN |	\
 			 ST_2FM_AT_EOD | ST_PER_ACTION | ST_POSUPDATED)
 
-void	stattach(device_t, struct st_softc *, void *);
+void	stattach(device_t, device_t, void *);
 int	stdetach(device_t, int);
 int	st_mode_select(struct st_softc *, int);
 

Reply via email to