summaryrefslogtreecommitdiffstats
path: root/sys/scsi
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2020-07-16 14:44:55 +0000
committerkrw <krw@openbsd.org>2020-07-16 14:44:55 +0000
commit67c3123be70092a949e63d21225c955364fdbe1d (patch)
tree03bfac0e576a9caabb5f7149761906a41ff56973 /sys/scsi
parentsync (diff)
downloadwireguard-openbsd-67c3123be70092a949e63d21225c955364fdbe1d.tar.xz
wireguard-openbsd-67c3123be70092a949e63d21225c955364fdbe1d.zip
Access scsibus_softc info (luns, adapter, adapter_target,
adapter_softc, adapter_buswidth) via link->bus rather than using copies currently residing in the link.
Diffstat (limited to 'sys/scsi')
-rw-r--r--sys/scsi/cd.c6
-rw-r--r--sys/scsi/mpath.c17
-rw-r--r--sys/scsi/scsi_base.c4
-rw-r--r--sys/scsi/scsi_ioctl.c6
-rw-r--r--sys/scsi/scsiconf.c10
-rw-r--r--sys/scsi/sd.c6
-rw-r--r--sys/scsi/st.c6
7 files changed, 28 insertions, 27 deletions
diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c
index d3b5b33775e..9e67e15c8e2 100644
--- a/sys/scsi/cd.c
+++ b/sys/scsi/cd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd.c,v 1.246 2020/06/30 18:43:36 krw Exp $ */
+/* $OpenBSD: cd.c,v 1.247 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: cd.c,v 1.100 1997/04/02 02:29:30 mycroft Exp $ */
/*
@@ -696,8 +696,8 @@ cdminphys(struct buf *bp)
bp->b_bcount = max;
}
- if (link->adapter->dev_minphys != NULL)
- (*link->adapter->dev_minphys)(bp, link);
+ if (link->bus->sb_adapter->dev_minphys != NULL)
+ (*link->bus->sb_adapter->dev_minphys)(bp, link);
else
minphys(bp);
diff --git a/sys/scsi/mpath.c b/sys/scsi/mpath.c
index 8563f06d65d..da37d4688a1 100644
--- a/sys/scsi/mpath.c
+++ b/sys/scsi/mpath.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpath.c,v 1.49 2020/06/27 14:29:45 krw Exp $ */
+/* $OpenBSD: mpath.c,v 1.50 2020/07/16 14:44:55 krw Exp $ */
/*
* Copyright (c) 2009 David Gwynne <dlg@openbsd.org>
@@ -142,7 +142,7 @@ mpath_xs_stuffup(struct scsi_xfer *xs)
int
mpath_probe(struct scsi_link *link)
{
- struct mpath_softc *sc = link->adapter_softc;
+ struct mpath_softc *sc = link->bus->sb_adapter_softc;
struct mpath_dev *d = sc->sc_devs[link->target];
if (link->lun != 0 || d == NULL)
@@ -179,7 +179,7 @@ void
mpath_cmd(struct scsi_xfer *xs)
{
struct scsi_link *link = xs->sc_link;
- struct mpath_softc *sc = link->adapter_softc;
+ struct mpath_softc *sc = link->bus->sb_adapter_softc;
struct mpath_dev *d = sc->sc_devs[link->target];
struct mpath_path *p;
struct scsi_xfer *mxs;
@@ -283,7 +283,7 @@ mpath_done(struct scsi_xfer *mxs)
{
struct scsi_xfer *xs = mxs->cookie;
struct scsi_link *link = xs->sc_link;
- struct mpath_softc *sc = link->adapter_softc;
+ struct mpath_softc *sc = link->bus->sb_adapter_softc;
struct mpath_dev *d = sc->sc_devs[link->target];
struct mpath_path *p;
@@ -394,7 +394,7 @@ mpath_path_status(struct mpath_path *p, int status)
void
mpath_minphys(struct buf *bp, struct scsi_link *link)
{
- struct mpath_softc *sc = link->adapter_softc;
+ struct mpath_softc *sc = link->bus->sb_adapter_softc;
struct mpath_dev *d = sc->sc_devs[link->target];
struct mpath_group *g;
struct mpath_path *p;
@@ -408,8 +408,9 @@ mpath_minphys(struct buf *bp, struct scsi_link *link)
TAILQ_FOREACH(g, &d->d_groups, g_entry) {
TAILQ_FOREACH(p, &g->g_paths, p_entry) {
/* XXX crossing layers with mutex held */
- if (p->p_link->adapter->dev_minphys != NULL)
- p->p_link->adapter->dev_minphys(bp, p->p_link);
+ if (p->p_link->bus->sb_adapter->dev_minphys != NULL)
+ p->p_link->bus->sb_adapter->dev_minphys(bp,
+ p->p_link);
}
}
mtx_leave(&d->d_mtx);
@@ -427,7 +428,7 @@ mpath_path_probe(struct scsi_link *link)
if (ISSET(link->flags, SDEV_UMASS))
return (EINVAL);
- if (mpath == link->adapter_softc)
+ if (mpath == link->bus->sb_adapter_softc)
return (ENXIO);
return (0);
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c
index 07be9de8a29..bca409292ef 100644
--- a/sys/scsi/scsi_base.c
+++ b/sys/scsi/scsi_base.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsi_base.c,v 1.265 2020/03/12 19:21:01 krw Exp $ */
+/* $OpenBSD: scsi_base.c,v 1.266 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */
/*
@@ -1436,7 +1436,7 @@ scsi_xs_exec(struct scsi_xfer *xs)
/* The adapter's scsi_cmd() is responsible for calling scsi_done(). */
KERNEL_LOCK();
- xs->sc_link->adapter->scsi_cmd(xs);
+ xs->sc_link->bus->sb_adapter->scsi_cmd(xs);
KERNEL_UNLOCK();
}
diff --git a/sys/scsi/scsi_ioctl.c b/sys/scsi/scsi_ioctl.c
index b3f9ac846a5..ef5ac0c5d01 100644
--- a/sys/scsi/scsi_ioctl.c
+++ b/sys/scsi/scsi_ioctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsi_ioctl.c,v 1.63 2019/12/07 15:16:24 krw Exp $ */
+/* $OpenBSD: scsi_ioctl.c,v 1.64 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: scsi_ioctl.c,v 1.23 1996/10/12 23:23:17 christos Exp $ */
/*
@@ -320,8 +320,8 @@ scsi_do_ioctl(struct scsi_link *link, u_long cmd, caddr_t addr, int flag)
return EPERM;
break;
default:
- if (link->adapter->ioctl)
- return (link->adapter->ioctl)(link, cmd, addr, flag);
+ if (link->bus->sb_adapter->ioctl)
+ return (link->bus->sb_adapter->ioctl)(link, cmd, addr, flag);
else
return ENOTTY;
}
diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c
index 61979548720..05f3e7f77fc 100644
--- a/sys/scsi/scsiconf.c
+++ b/sys/scsi/scsiconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsiconf.c,v 1.226 2020/07/16 12:38:43 krw Exp $ */
+/* $OpenBSD: scsiconf.c,v 1.227 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: scsiconf.c,v 1.57 1996/05/02 01:09:01 neil Exp $ */
/*
@@ -333,9 +333,9 @@ scsi_get_target_luns(struct scsi_link *link0, struct scsi_lun_array *lunarray)
/* Initialize dumbscan result. Just in case. */
report = NULL;
- for (i = 0; i < link0->luns; i++)
+ for (i = 0; i < link0->bus->sb_luns; i++)
lunarray->luns[i] = i;
- lunarray->count = link0->luns;
+ lunarray->count = link0->bus->sb_luns;
lunarray->dumbscan = 1;
/*
@@ -774,7 +774,7 @@ scsibus_printlink(struct scsi_link *link)
printf("\n");
sc_print_addr(link);
printf("state %u, luns %u, openings %u\n",
- link->state, link->luns, link->openings);
+ link->state, link->bus->sb_luns, link->openings);
sc_print_addr(link);
printf("flags (0x%04x) ", link->flags);
@@ -1046,7 +1046,7 @@ scsi_probedev(struct scsibus_softc *sb, int target, int lun, int dumbscan)
* point to prevent such helpfulness before it causes confusion.
*/
if (lun == 0 && ISSET(link->flags, SDEV_UMASS) &&
- scsi_get_link(sb, target, 1) == NULL && link->luns > 1 &&
+ scsi_get_link(sb, target, 1) == NULL && sb->sb_luns > 1 &&
(usbinqbuf = dma_alloc(sizeof(*usbinqbuf), M_NOWAIT)) != NULL) {
link->lun = 1;
diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c
index 19acb5e05d7..da3e0ddf2da 100644
--- a/sys/scsi/sd.c
+++ b/sys/scsi/sd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sd.c,v 1.312 2020/06/30 18:43:37 krw Exp $ */
+/* $OpenBSD: sd.c,v 1.313 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: sd.c,v 1.111 1997/04/02 02:29:41 mycroft Exp $ */
/*-
@@ -832,8 +832,8 @@ sdminphys(struct buf *bp)
bp->b_bcount = max;
}
- if (link->adapter->dev_minphys != NULL)
- (*link->adapter->dev_minphys)(bp, link);
+ if (link->bus->sb_adapter->dev_minphys != NULL)
+ (*link->bus->sb_adapter->dev_minphys)(bp, link);
else
minphys(bp);
diff --git a/sys/scsi/st.c b/sys/scsi/st.c
index b7b87273a1f..85006b04a4a 100644
--- a/sys/scsi/st.c
+++ b/sys/scsi/st.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: st.c,v 1.178 2020/06/30 18:43:37 krw Exp $ */
+/* $OpenBSD: st.c,v 1.179 2020/07/16 14:44:55 krw Exp $ */
/* $NetBSD: st.c,v 1.71 1997/02/21 23:03:49 thorpej Exp $ */
/*
@@ -1008,8 +1008,8 @@ stminphys(struct buf *bp)
return;
link = sc->sc_link;
- if (link->adapter->dev_minphys != NULL)
- (*link->adapter->dev_minphys)(bp, link);
+ if (link->bus->sb_adapter->dev_minphys != NULL)
+ (*link->bus->sb_adapter->dev_minphys)(bp, link);
else
minphys(bp);