Module Name:    src
Committed By:   riastradh
Date:           Sat Feb 12 02:40:39 UTC 2022

Modified Files:
        src/sys/dev/pci: ips.c

Log Message:
ips(4): device_t/softc split


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/ips.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/pci/ips.c
diff -u src/sys/dev/pci/ips.c:1.4 src/sys/dev/pci/ips.c:1.5
--- src/sys/dev/pci/ips.c:1.4	Sat Aug  7 16:19:14 2021
+++ src/sys/dev/pci/ips.c	Sat Feb 12 02:40:39 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: ips.c,v 1.4 2021/08/07 16:19:14 thorpej Exp $	*/
+/*	$NetBSD: ips.c,v 1.5 2022/02/12 02:40:39 riastradh Exp $	*/
 /*	$OpenBSD: ips.c,v 1.113 2016/08/14 04:08:03 dlg Exp $	*/
 
 /*-
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ips.c,v 1.4 2021/08/07 16:19:14 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ips.c,v 1.5 2022/02/12 02:40:39 riastradh Exp $");
 
 #include "bio.h"
 
@@ -419,7 +419,7 @@ struct dmamem {
 };
 
 struct ips_softc {
-	struct device		sc_dev;
+	device_t		sc_dev;
 
 	/* SCSI mid-layer connection. */
 	struct scsipi_adapter   sc_adapt;
@@ -634,6 +634,7 @@ ips_attach(struct device *parent, struct
 	struct scsipi_channel *chan;
 	char intrbuf[PCI_INTRSTR_LEN];
 
+	sc->sc_dev = self;
 	sc->sc_dmat = pa->pa_dmat;
 
 	/* Identify chipset */
@@ -738,7 +739,7 @@ ips_attach(struct device *parent, struct
 	}
 	intrstr = pci_intr_string(pa->pa_pc, ih, intrbuf, sizeof(intrbuf));
 	if (pci_intr_establish_xname(pa->pa_pc, ih, IPL_BIO, ips_intr, sc,
-	    sc->sc_dev.dv_xname) == NULL) {
+		device_xname(sc->sc_dev)) == NULL) {
 		printf(": can't establish interrupt");
 		if (intrstr != NULL)
 			printf(" at %s", intrstr);
@@ -748,7 +749,7 @@ ips_attach(struct device *parent, struct
 	printf(": %s\n", intrstr);
 
 	/* Display adapter info */
-	printf("%s: ServeRAID", sc->sc_dev.dv_xname);
+	device_printf(sc->sc_dev, "ServeRAID");
 	type = htole16(pg5->type);
 	if (type < sizeof(ips_names) / sizeof(ips_names[0]) && ips_names[type])
 		printf(" %s", ips_names[type]);
@@ -822,7 +823,7 @@ ips_attach(struct device *parent, struct
 #if NBIO > 0
 	/* Install ioctl handler */
 	if (bio_register(&sc->sc_dev, ips_ioctl))
-		printf("%s: no ioctl support\n", sc->sc_dev.dv_xname);
+		device_printf(sc->sc_dev, "no ioctl support\n");
 #endif
 
 	return;
@@ -854,12 +855,12 @@ ips_scsi_cmd(struct ips_ccb *ccb)
 	int code;
 
 	DPRINTF(IPS_D_XFER, ("%s: ips_scsi_cmd: xs %p, target %d, "
-	    "opcode 0x%02x, flags 0x%x\n", sc->sc_dev.dv_xname, xs, target,
+	    "opcode 0x%02x, flags 0x%x\n", device_xname(sc->sc_dev), xs, target,
 	    xs->cmd->opcode, xs->xs_control));
 
 	if (target >= sc->sc_nunits || periph->periph_lun != 0) {
 		DPRINTF(IPS_D_INFO, ("%s: ips_scsi_cmd: invalid params "
-		    "target %d, lun %d\n", sc->sc_dev.dv_xname,
+		    "target %d, lun %d\n", device_xname(sc->sc_dev),
 		    target, periph->periph_lun));
 		xs->error = XS_DRIVER_STUFFUP;
 		ips_ccb_put(sc, ccb);
@@ -893,7 +894,7 @@ ips_scsi_cmd(struct ips_ccb *ccb)
 		if (blkno >= htole32(drive->seccnt) || blkno + blkcnt >
 		    htole32(drive->seccnt)) {
 			DPRINTF(IPS_D_ERR, ("%s: ips_scsi_cmd: invalid params "
-			    "blkno %u, blkcnt %u\n", sc->sc_dev.dv_xname,
+			    "blkno %u, blkcnt %u\n", device_xname(sc->sc_dev),
 			    blkno, blkcnt));
 			xs->error = XS_DRIVER_STUFFUP;
 			break;
@@ -912,7 +913,7 @@ ips_scsi_cmd(struct ips_ccb *ccb)
 
 		if (ips_load_xs(sc, ccb, xs)) {
 			DPRINTF(IPS_D_ERR, ("%s: ips_scsi_cmd: ips_load_xs "
-			    "failed\n", sc->sc_dev.dv_xname));
+			    "failed\n", device_xname(sc->sc_dev)));
 			xs->error = XS_DRIVER_STUFFUP;
 			ips_ccb_put(sc, ccb);
 			scsipi_done(xs);
@@ -973,7 +974,7 @@ ips_scsi_cmd(struct ips_ccb *ccb)
 		break;
 	default:
 		DPRINTF(IPS_D_INFO, ("%s: unsupported scsi command 0x%02x\n",
-		    sc->sc_dev.dv_xname, xs->cmd->opcode));
+		    device_xname(sc->sc_dev), xs->cmd->opcode));
 		xs->error = XS_DRIVER_STUFFUP;
 	}
 
@@ -1044,7 +1045,7 @@ ips_ioctl(device_t dev, u_long cmd, void
 	struct ips_softc *sc = (struct ips_softc *)dev;
 
 	DPRINTF(IPS_D_INFO, ("%s: ips_ioctl: cmd %lu\n",
-	    sc->sc_dev.dv_xname, cmd));
+	    device_xname(sc->sc_dev), cmd));
 
 	switch (cmd) {
 	case BIOCINQ:
@@ -1066,7 +1067,7 @@ ips_ioctl_inq(struct ips_softc *sc, stru
 	struct ips_conf *conf = &sc->sc_info->conf;
 	int i;
 
-	strlcpy(bi->bi_dev, sc->sc_dev.dv_xname, sizeof(bi->bi_dev));
+	strlcpy(bi->bi_dev, device_xname(sc->sc_dev), sizeof(bi->bi_dev));
 	bi->bi_novol = sc->sc_nunits;
 	for (i = 0, bi->bi_nodisk = 0; i < sc->sc_nunits; i++)
 		bi->bi_nodisk += conf->ld[i].chunkcnt;
@@ -1139,12 +1140,12 @@ ips_ioctl_vol(struct ips_softc *sc, stru
 	}
 
 	dv = &sc->sc_dev;
-	strlcpy(bv->bv_dev, dv->dv_xname, sizeof(bv->bv_dev));
+	strlcpy(bv->bv_dev, device_xname(dv), sizeof(bv->bv_dev));
 	strlcpy(bv->bv_vendor, "IBM", sizeof(bv->bv_vendor));
 
 	DPRINTF(IPS_D_INFO, ("%s: ips_ioctl_vol: vid %d, state 0x%02x, "
 	    "total %u, done %u, size %llu, level %d, nodisk %d, dev %s\n",
-	    sc->sc_dev.dv_xname, vid, ld->state, total, done, bv->bv_size,
+	    device_xname(sc->sc_dev), vid, ld->state, total, done, bv->bv_size,
 	    bv->bv_level, bv->bv_nodisk, bv->bv_dev));
 
 	return (0);
@@ -1216,7 +1217,7 @@ out:
 	}
 
 	DPRINTF(IPS_D_INFO, ("%s: ips_ioctl_disk: vid %d, did %d, channel %d, "
-	    "target %d, size %llu, state 0x%02x\n", sc->sc_dev.dv_xname,
+	    "target %d, size %llu, state 0x%02x\n", device_xname(sc->sc_dev),
 	    vid, did, bd->bd_channel, bd->bd_target, bd->bd_size, dev->state));
 
 	return (0);
@@ -1328,7 +1329,7 @@ ips_cmd(struct ips_softc *sc, struct ips
 
 	DPRINTF(IPS_D_XFER, ("%s: ips_cmd: id 0x%02x, flags 0x%x, xs %p, "
 	    "code 0x%02x, drive %d, sgcnt %d, lba %d, sgaddr 0x%08x, "
-	    "seccnt %d\n", sc->sc_dev.dv_xname, ccb->c_id, ccb->c_flags,
+	    "seccnt %d\n", device_xname(sc->sc_dev), ccb->c_id, ccb->c_flags,
 	    ccb->c_xfer, cmd->code, cmd->drive, cmd->sgcnt, htole32(cmd->lba),
 	    htole32(cmd->sgaddr), htole16(cmd->seccnt)));
 
@@ -1354,7 +1355,7 @@ ips_poll(struct ips_softc *sc, struct ip
 	if (ccb->c_flags & XS_CTL_NOSLEEP) {
 		/* busy-wait */
 		DPRINTF(IPS_D_XFER, ("%s: ips_poll: busy-wait\n",
-		    sc->sc_dev.dv_xname));
+		    device_xname(sc->sc_dev)));
 
 		for (timo = 10000; timo > 0; timo--) {
 			delay(100);
@@ -1370,10 +1371,11 @@ ips_poll(struct ips_softc *sc, struct ip
 		timo = tvtohz(&tv);
 
 		DPRINTF(IPS_D_XFER, ("%s: ips_poll: sleep %d hz\n",
-		    sc->sc_dev.dv_xname, timo));
+		    device_xname(sc->sc_dev), timo));
 		tsleep(ccb, PRIBIO + 1, "ipscmd", timo);
 	}
-	DPRINTF(IPS_D_XFER, ("%s: ips_poll: state %d\n", sc->sc_dev.dv_xname,
+	DPRINTF(IPS_D_XFER, ("%s: ips_poll: state %d\n",
+	    device_xname(sc->sc_dev),
 	    ccb->c_state));
 
 	if (ccb->c_state != IPS_CCB_DONE)
@@ -1393,7 +1395,7 @@ void
 ips_done(struct ips_softc *sc, struct ips_ccb *ccb)
 {
 	DPRINTF(IPS_D_XFER, ("%s: ips_done: id 0x%02x, flags 0x%x, xs %p\n",
-	    sc->sc_dev.dv_xname, ccb->c_id, ccb->c_flags, ccb->c_xfer));
+	    device_xname(sc->sc_dev), ccb->c_id, ccb->c_flags, ccb->c_xfer));
 
 	ccb->c_error = ips_error(sc, ccb);
 	ccb->c_done(sc, ccb);
@@ -1488,7 +1490,7 @@ ips_error(struct ips_softc *sc, struct i
 
 	DPRINTF(IPS_D_ERR, ("%s: ips_error: stat 0x%02x, estat 0x%02x, "
 	    "cmd code 0x%02x, drive %d, sgcnt %d, lba %u, seccnt %d",
-	    sc->sc_dev.dv_xname, ccb->c_stat, ccb->c_estat, cmd->code,
+	    device_xname(sc->sc_dev), ccb->c_stat, ccb->c_estat, cmd->code,
 	    cmd->drive, cmd->sgcnt, htole32(cmd->lba), htole16(cmd->seccnt)));
 	if (cmd->code == IPS_CMD_DCDB || cmd->code == IPS_CMD_DCDB_SG) {
 		int i;
@@ -1586,7 +1588,7 @@ ips_intr(void *arg)
 	u_int32_t status;
 	int id;
 
-	DPRINTF(IPS_D_XFER, ("%s: ips_intr", sc->sc_dev.dv_xname));
+	DPRINTF(IPS_D_XFER, ("%s: ips_intr", device_xname(sc->sc_dev)));
 	if (!ips_isintr(sc)) {
 		DPRINTF(IPS_D_XFER, (": not ours\n"));
 		return (0);
@@ -1596,12 +1598,12 @@ ips_intr(void *arg)
 	/* Process completed commands */
 	while ((status = ips_status(sc)) != 0xffffffff) {
 		DPRINTF(IPS_D_XFER, ("%s: ips_intr: status 0x%08x\n",
-		    sc->sc_dev.dv_xname, status));
+		    device_xname(sc->sc_dev), status));
 
 		id = IPS_STAT_ID(status);
 		if (id >= sc->sc_nccbs) {
 			DPRINTF(IPS_D_ERR, ("%s: ips_intr: invalid id %d\n",
-			    sc->sc_dev.dv_xname, id));
+			    device_xname(sc->sc_dev), id));
 			continue;
 		}
 
@@ -1609,7 +1611,7 @@ ips_intr(void *arg)
 		if (ccb->c_state != IPS_CCB_QUEUED) {
 			DPRINTF(IPS_D_ERR, ("%s: ips_intr: cmd 0x%02x not "
 			    "queued, state %d, status 0x%08x\n",
-			    sc->sc_dev.dv_xname, ccb->c_id, ccb->c_state,
+			    device_xname(sc->sc_dev), ccb->c_id, ccb->c_state,
 			    status));
 			continue;
 		}
@@ -1640,7 +1642,7 @@ ips_timeout(void *arg)
 	if (xs)
 		scsi_print_addr(xs->xs_periph);
 	else
-		printf("%s: ", sc->sc_dev.dv_xname);
+		printf("%s: ", device_xname(sc->sc_dev));
 	printf("timeout\n");
 
 	/*
@@ -1818,7 +1820,7 @@ ips_copperhead_exec(struct ips_softc *sc
 			break;
 	}
 	if (timeout < 0) {
-		printf("%s: semaphore timeout\n", sc->sc_dev.dv_xname);
+		device_printf(sc->sc_dev, "semaphore timeout\n");
 		return;
 	}
 
@@ -1853,7 +1855,7 @@ ips_copperhead_status(struct ips_softc *
 
 	sqhead = bus_space_read_4(sc->sc_iot, sc->sc_ioh, IPS_REG_SQH);
 	DPRINTF(IPS_D_XFER, ("%s: sqhead 0x%08x, sqtail 0x%08x\n",
-	    sc->sc_dev.dv_xname, sqhead, sc->sc_sqtail));
+	    device_xname(sc->sc_dev), sqhead, sc->sc_sqtail));
 
 	sqtail = sc->sc_sqtail + sizeof(u_int32_t);
 	if (sqtail == sc->sc_sqm.dm_paddr + IPS_SQSZ)
@@ -1899,7 +1901,8 @@ ips_morpheus_status(struct ips_softc *sc
 	u_int32_t reg;
 
 	reg = bus_space_read_4(sc->sc_iot, sc->sc_ioh, IPS_REG_OQP);
-	DPRINTF(IPS_D_XFER, ("%s: status 0x%08x\n", sc->sc_dev.dv_xname, reg));
+	DPRINTF(IPS_D_XFER, ("%s: status 0x%08x\n", device_xname(sc->sc_dev),
+	    reg));
 
 	return (reg);
 }

Reply via email to