Remove stg(4) driver

stg(4) is marked as gone in 12. Remove it. There are no sightings of
it in the nycbug dmesg database. It was for an obscure SCSI card that
sold mostly in Japan, and was especially popilar among pc98 hackers in
the 4.x time frame. It was also only enabled on i386.

Relnote: Yes
This commit is contained in:
Warner Losh 2018-10-22 02:35:50 +00:00
parent 08204c2cc3
commit 49a93324fe
15 changed files with 0 additions and 2319 deletions

View File

@ -504,7 +504,6 @@ MAN= aac.4 \
sppp.4 \
ste.4 \
stf.4 \
stg.4 \
stge.4 \
sym.4 \
syncache.4 \

View File

@ -1,110 +0,0 @@
.\"
.\" Copyright (c) 2003 Bob Bishop
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" 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.
.\"
.\" $FreeBSD$
.\"
.Dd August 8, 2004
.Dt STG 4
.Os
.Sh NAME
.Nm stg
.Nd driver for Future Domain based SCSI controllers
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device scbus"
.Cd "device stg"
.Pp
For one or more ISA cards:
.Cd "device isa"
.Pp
In
.Pa /boot/device.hints :
.Cd hint.stg.0.at="isa"
.Pp
For one or more PCI cards:
.Cd "device pci"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
stg_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides support for ISA, PCCARD and PCI controllers based on
Future Domain SCSI controller chips including the TMC-16C30, 16C50 and 32C60.
.Sh HARDWARE
Controllers supported by the
.Nm
driver include:
.Pp
.Bl -bullet -compact
.It
Adaptec 2920/A
.It
Future Domain SCSI2GO
.It
Future Domain TMC-18XX/3260
.It
IBM SCSI PCMCIA Card
.It
ICM PSC-2401 SCSI
.It
MELCO IFC-SC
.It
RATOC REX-5536, REX-5536AM, REX-5536M, REX-9836A
.El
.Pp
Note that the Adaptec 2920C is supported by the
.Xr ahc 4
driver.
.Sh SEE ALSO
.Xr ahc 4 ,
.Xr cd 4 ,
.Xr ch 4 ,
.Xr da 4 ,
.Xr intro 4 ,
.Xr sa 4 ,
.Xr scsi 4
.Sh HISTORY
The
.Nm
device driver has been developed for
.Nx Ns / Ns Tn pc98
and ported for
.Fx .
It first appeared in
.Fx 2.2
with PAO and merged in
.Fx 4.2 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Naofumi HONDA .

View File

@ -425,13 +425,6 @@ device smartpqi
options TWA_DEBUG # 0-10; 10 prints the most messages.
device twa # 3ware 9000 series PATA/SATA RAID
#
# SCSI host adapters:
#
# stg: TMC 18C30, 18C50 based SCSI host adapters.
device stg
#
# Adaptec FSA RAID controllers, including integrated DELL controllers,
# the Dell PERC 2/QC and the HP NetRAID-4M

View File

@ -113,7 +113,6 @@ cam/ctl/scsi_ctl.c optional ctl
cam/mmc/mmc_xpt.c optional scbus mmccam
cam/mmc/mmc_da.c optional scbus mmccam da
cam/scsi/scsi_da.c optional da
cam/scsi/scsi_low.c optional stg
cam/scsi/scsi_pass.c optional pass
cam/scsi/scsi_pt.c optional pt
cam/scsi/scsi_sa.c optional sa
@ -3137,11 +3136,6 @@ dev/spibus/spibus.c optional spibus \
dev/spibus/spigen.c optional spigen
dev/spibus/spibus_if.m optional spibus
dev/ste/if_ste.c optional ste pci
dev/stg/tmc18c30.c optional stg
dev/stg/tmc18c30_isa.c optional stg isa
dev/stg/tmc18c30_pccard.c optional stg pccard
dev/stg/tmc18c30_pci.c optional stg pci
dev/stg/tmc18c30_subr.c optional stg
dev/stge/if_stge.c optional stge
dev/sym/sym_hipd.c optional sym \
dependency "$S/dev/sym/sym_{conf,defs}.h"

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
/*
* $FreeBSD$
*/
extern devclass_t stg_devclass;
int stg_alloc_resource (device_t);
void stg_release_resource (device_t);
int stg_probe (device_t);
int stg_attach (device_t);
int stg_detach (device_t);
void stg_intr (void *);

View File

@ -1,131 +0,0 @@
/* $NecBSD: tmc18c30_pisa.c,v 1.22 1998/11/26 01:59:21 honda Exp $ */
/* $NetBSD$ */
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* [Ported for FreeBSD]
* Copyright (c) 2000
* Noriaki Mitsunaga, Mitsuru Iwasaki and Takanori Watanabe.
* All rights reserved.
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Naofumi HONDA. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/bus.h>
#include <sys/malloc.h>
#include <sys/errno.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/rman.h>
#include <cam/scsi/scsi_low.h>
#include <dev/stg/tmc18c30reg.h>
#include <dev/stg/tmc18c30var.h>
#include <dev/stg/tmc18c30.h>
static int
stg_isa_probe(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
int error;
sc->port_rid = 0;
sc->irq_rid = 0;
error = stg_alloc_resource(dev);
if (error) {
return(error);
}
if (stg_probe(dev) == 0) {
stg_release_resource(dev);
return(ENXIO);
}
stg_release_resource(dev);
return (BUS_PROBE_DEFAULT);
}
static int
stg_isa_attach(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
int error;
sc->port_rid = 0;
sc->irq_rid = 0;
error = stg_alloc_resource(dev);
if (error) {
return(error);
}
error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY |
INTR_MPSAFE, NULL, stg_intr, sc, &sc->stg_intrhand);
if (error) {
stg_release_resource(dev);
return(error);
}
if (stg_attach(dev) == 0) {
stg_release_resource(dev);
return(ENXIO);
}
return(0);
}
static device_method_t stg_isa_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, stg_isa_probe),
DEVMETHOD(device_attach, stg_isa_attach),
DEVMETHOD(device_detach, stg_detach),
{ 0, 0 }
};
static driver_t stg_isa_driver = {
"stg",
stg_isa_methods,
sizeof(struct stg_softc),
};
DRIVER_MODULE(stg, isa, stg_isa_driver, stg_devclass, 0, 0);
MODULE_DEPEND(stg, scsi_low, 1, 1, 1);

View File

@ -1,141 +0,0 @@
/* $NecBSD: tmc18c30_pisa.c,v 1.22 1998/11/26 01:59:21 honda Exp $ */
/* $NetBSD$ */
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* [Ported for FreeBSD]
* Copyright (c) 2000
* Noriaki Mitsunaga, Mitsuru Iwasaki and Takanori Watanabe.
* All rights reserved.
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Naofumi HONDA. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/errno.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/systm.h>
#include <machine/bus.h>
#include <sys/bus.h>
#include <dev/pccard/pccardvar.h>
#include <cam/scsi/scsi_low.h>
#include <dev/stg/tmc18c30reg.h>
#include <dev/stg/tmc18c30var.h>
#include <dev/stg/tmc18c30.h>
#include "pccarddevs.h"
static const struct pccard_product stg_products[] = {
PCMCIA_CARD(FUTUREDOMAIN, SCSI2GO),
PCMCIA_CARD(IBM, SCSICARD),
PCMCIA_CARD(RATOC, REX5536),
PCMCIA_CARD(RATOC, REX5536AM),
PCMCIA_CARD(RATOC, REX5536M),
{ NULL }
};
/*
* Additional code for FreeBSD new-bus PC Card frontend
*/
static int
stg_pccard_probe(device_t dev)
{
const struct pccard_product *pp;
if ((pp = pccard_product_lookup(dev, stg_products,
sizeof(stg_products[0]), NULL)) != NULL) {
if (pp->pp_name != NULL)
device_set_desc(dev, pp->pp_name);
return (BUS_PROBE_DEFAULT);
}
return(EIO);
}
static int
stg_pccard_attach(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
int error;
sc->port_rid = 0;
sc->irq_rid = 0;
error = stg_alloc_resource(dev);
if (error) {
return(error);
}
if (stg_probe(dev) == 0) {
stg_release_resource(dev);
return(ENXIO);
}
error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY |
INTR_MPSAFE, NULL, stg_intr, sc, &sc->stg_intrhand);
if (error) {
stg_release_resource(dev);
return(error);
}
if (stg_attach(dev) == 0) {
stg_release_resource(dev);
return(ENXIO);
}
return(0);
}
static device_method_t stg_pccard_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, stg_pccard_probe),
DEVMETHOD(device_attach, stg_pccard_attach),
DEVMETHOD(device_detach, stg_detach),
{ 0, 0 }
};
static driver_t stg_pccard_driver = {
"stg",
stg_pccard_methods,
sizeof(struct stg_softc),
};
DRIVER_MODULE(stg, pccard, stg_pccard_driver, stg_devclass, 0, 0);
MODULE_DEPEND(stg, scsi_low, 1, 1, 1);
PCCARD_PNP_INFO(stg_products);

View File

@ -1,136 +0,0 @@
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 2003 Bob Bishop
* All rights reserved.
* [Ported for FreeBSD]
* Copyright (c) 2000
* Noriaki Mitsunaga, Mitsuru Iwasaki and Takanori Watanabe.
* All rights reserved.
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Naofumi HONDA. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/bus.h>
#include <sys/malloc.h>
#include <sys/errno.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/rman.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcivar.h>
#include <cam/scsi/scsi_low.h>
#include <dev/stg/tmc18c30reg.h>
#include <dev/stg/tmc18c30var.h>
#include <dev/stg/tmc18c30.h>
static struct _pcsid
{
u_int32_t type;
const char *desc;
} pci_ids[] = {
{ 0x00001036, "Adaptec AHA-2920/A,Future Domain TMC-18XX/3260" },
{ 0x00000000, NULL }
};
static int
stg_pci_probe(device_t dev)
{
u_int32_t type = pci_get_devid(dev);
struct _pcsid *stg = pci_ids;
while (stg->type && stg->type != type)
++stg;
if (stg->desc) {
device_set_desc(dev, stg->desc);
return (BUS_PROBE_DEFAULT);
}
return (ENXIO);
}
static int
stg_pci_attach(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
int error;
sc->port_rid = PCIR_BAR(0);
sc->irq_rid = 0;
error = stg_alloc_resource(dev);
if (error) {
return(error);
}
/* XXXX remove INTR_ENTROPY below for MFC */
error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_CAM | INTR_ENTROPY |
INTR_MPSAFE, NULL, stg_intr, sc, &sc->stg_intrhand);
if (error) {
stg_release_resource(dev);
return(error);
}
if (stg_attach(dev) == 0) {
stg_release_resource(dev);
return(ENXIO);
}
return(0);
}
static device_method_t stg_pci_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, stg_pci_probe),
DEVMETHOD(device_attach, stg_pci_attach),
DEVMETHOD(device_detach, stg_detach),
{ 0, 0 }
};
static driver_t stg_pci_driver = {
"stg",
stg_pci_methods,
sizeof(struct stg_softc),
};
DRIVER_MODULE(stg, pci, stg_pci_driver, stg_devclass, 0, 0);
MODULE_DEPEND(stg, scsi_low, 1, 1, 1);
MODULE_DEPEND(stg, pci, 1, 1, 1);

View File

@ -1,178 +0,0 @@
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* [Ported for FreeBSD]
* Copyright (c) 2000
* Noriaki Mitsunaga, Mitsuru Iwasaki and Takanori Watanabe.
* All rights reserved.
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Naofumi HONDA. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/socket.h>
#include <sys/module.h>
#include <sys/bus.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <sys/rman.h>
#include <cam/scsi/scsi_low.h>
#include <dev/stg/tmc18c30reg.h>
#include <dev/stg/tmc18c30var.h>
#include <dev/stg/tmc18c30.h>
#define STG_HOSTID 7
devclass_t stg_devclass;
int
stg_alloc_resource(device_t dev)
{
struct stg_softc * sc = device_get_softc(dev);
rman_res_t maddr, msize;
int error;
mtx_init(&sc->sc_sclow.sl_lock, "stg", NULL, MTX_DEF);
sc->port_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT,
&sc->port_rid, RF_ACTIVE);
if (sc->port_res == NULL) {
stg_release_resource(dev);
return(ENOMEM);
}
sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irq_rid,
RF_ACTIVE);
if (sc->irq_res == NULL) {
stg_release_resource(dev);
return(ENOMEM);
}
error = bus_get_resource(dev, SYS_RES_MEMORY, 0, &maddr, &msize);
if (error) {
return(0); /* XXX */
}
/* no need to allocate memory if not configured */
if (maddr == 0 || msize == 0) {
return(0);
}
sc->mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->mem_rid,
RF_ACTIVE);
if (sc->mem_res == NULL) {
stg_release_resource(dev);
return(ENOMEM);
}
return(0);
}
void
stg_release_resource(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
if (sc->stg_intrhand)
bus_teardown_intr(dev, sc->irq_res, sc->stg_intrhand);
if (sc->port_res)
bus_release_resource(dev, SYS_RES_IOPORT,
sc->port_rid, sc->port_res);
if (sc->irq_res)
bus_release_resource(dev, SYS_RES_IRQ,
sc->irq_rid, sc->irq_res);
if (sc->mem_res)
bus_release_resource(dev, SYS_RES_MEMORY,
sc->mem_rid, sc->mem_res);
mtx_destroy(&sc->sc_sclow.sl_lock);
}
int
stg_probe(device_t dev)
{
int rv;
struct stg_softc *sc = device_get_softc(dev);
rv = stgprobesubr(sc->port_res,
device_get_flags(dev));
return rv;
}
int
stg_attach(device_t dev)
{
struct stg_softc *sc;
struct scsi_low_softc *slp;
u_int32_t flags = device_get_flags(dev);
sc = device_get_softc(dev);
slp = &sc->sc_sclow;
slp->sl_dev = dev;
slp->sl_hostid = STG_HOSTID;
slp->sl_cfgflags = flags;
stgattachsubr(sc);
return(STGIOSZ);
}
int
stg_detach(device_t dev)
{
struct stg_softc *sc = device_get_softc(dev);
scsi_low_deactivate(&sc->sc_sclow);
scsi_low_detach(&sc->sc_sclow);
stg_release_resource(dev);
return (0);
}
void
stg_intr(void *arg)
{
struct stg_softc *sc;
sc = arg;
SCSI_LOW_LOCK(&sc->sc_sclow);
stgintr(sc);
SCSI_LOW_UNLOCK(&sc->sc_sclow);
}

View File

@ -1,149 +0,0 @@
/* $FreeBSD$ */
/* $NecBSD: tmc18c30reg.h,v 1.4.24.1 2001/06/08 06:27:50 honda Exp $ */
/* $NetBSD$ */
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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.
*/
#ifndef _TMC18C30REG_H_
#define _TMC18C30REG_H_
#define tmc_wdata 0x00
#define tmc_rdata 0x00
#define tmc_bctl 0x01
#define BCTL_BUSFREE 0x00
#define BCTL_RST 0x01
#define BCTL_SEL 0x02
#define BCTL_BSY 0x04
#define BCTL_ATN 0x08
#define BCTL_IO 0x10
#define BCTL_CD 0x20
#define BCTL_MSG 0x40
#define BCTL_BUSEN 0x80
#define tmc_bstat 0x01
#define BSTAT_BSY 0x01
#define BSTAT_MSG 0x02
#define BSTAT_IO 0x04
#define BSTAT_CMD 0x08
#define BSTAT_REQ 0x10
#define BSTAT_SEL 0x20
#define BSTAT_ACK 0x40
#define tmc_ictl 0x02
#define ICTL_FIFO 0x10
#define ICTL_ARBIT 0x20
#define ICTL_SEL 0x40
#define ICTL_CD 0x80
#define ICTL_ALLINT (ICTL_ARBIT | ICTL_CD | ICTL_SEL | ICTL_FIFO)
#define tmc_astat 0x02
#define ASTAT_INT 0x01
#define ASTAT_ARBIT 0x02
#define ASTAT_PARERR 0x04
#define ASTAT_SCSIRST 0x08
#define ASTAT_STATMASK 0x0f
#define ASTAT_FIFODIR 0x10
#define ASTAT_FIFOEN 0x20
#define ASTAT_PARENB 0x40
#define ASTAT_BUSEN 0x80
#define tmc_ssctl 0x03
#define SSCTL_FSYNCHEN 0x40
#define SSCTL_SYNCHEN 0x80
#define tmc_fstat 0x03
#define tmc_fctl 0x04
#define FCTL_CLRFIFO 0x01
#define FCTL_ARBIT 0x04
#define FCTL_PARENB 0x08
#define FCTL_INTEN 0x10
#define FCTL_CLRINT 0x20
#define FCTL_FIFOW 0x40
#define FCTL_FIFOEN 0x80
#define tmc_icnd 0x04
#define tmc_mctl 0x05
#define tmc_idlsb 0x05
#define tmc_idmsb 0x06
#define tmc_wlb 0x07
#define tmc_rlb 0x07
#define tmc_scsiid 0x08
#define tmc_sdna 0x08
#define tmc_istat 0x09
#define ISTAT_INTEN 0x08
#define ISTAT_FIFO 0x10
#define ISTAT_ARBIT 0x20
#define ISTAT_SEL 0x40
#define ISTAT_CD 0x80
#define tmc_cfg1 0x0a
#define tmc_ioctl 0x0b
#define IOCTL_IO32 0x80
#define tmc_cfg2 0x0b
#define tmc_wfifo 0x0c
#define tmc_rfifo 0x0c
#define tmc_fdcnt 0x0e
/* Information transfer phases */
#define BUSFREE_PHASE 0x00
#define DATA_OUT_PHASE (BSTAT_BSY)
#define DATA_IN_PHASE (BSTAT_BSY|BSTAT_IO)
#define COMMAND_PHASE (BSTAT_CMD|BSTAT_BSY)
#define STATUS_PHASE (BSTAT_CMD|BSTAT_BSY|BSTAT_IO)
#define MESSAGE_OUT_PHASE (BSTAT_CMD|BSTAT_MSG|BSTAT_BSY)
#define MESSAGE_IN_PHASE (BSTAT_CMD|BSTAT_MSG|BSTAT_BSY|BSTAT_IO)
#define PHASE_RESELECTED (BSTAT_SEL|BSTAT_IO)
#define BSTAT_PHMASK (BSTAT_MSG | BSTAT_IO | BSTAT_CMD)
#define PHASE_MASK (BSTAT_SEL | BSTAT_BSY | BSTAT_PHMASK)
#define RESEL_PHASE_MASK (BSTAT_SEL | BSTAT_PHMASK)
#define STG_IS_PHASE_DATA(st) \
((((st) & PHASE_MASK) & ~BSTAT_IO) == BSTAT_BSY)
/* chip type */
#define TMCCHIP_UNK 0x00
#define TMCCHIP_1800 0x01
#define TMCCHIP_18C50 0x02
#define TMCCHIP_18C30 0x03
#define STGIOSZ 0x10
#endif /* !_TMC18C30REG_H_ */

View File

@ -1,93 +0,0 @@
/* $FreeBSD$ */
/* $NecBSD: tmc18c30var.h,v 1.12.18.2 2001/06/13 05:51:23 honda Exp $ */
/* $NetBSD$ */
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* [NetBSD for NEC PC-98 series]
* Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
* NetBSD/pc98 porting staff. All rights reserved.
* Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
* Naofumi HONDA. All rights reserved.
* Copyright (c) 1996, 1997, 1998
* Kouichi Matsuda. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY 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.
*/
#ifndef _TMC18C30VAR_H_
#define _TMC18C30VAR_H_
/*****************************************************************
* Host adapter structure
*****************************************************************/
struct stg_softc {
struct scsi_low_softc sc_sclow; /* generic data */
int port_rid;
int irq_rid;
int mem_rid;
struct resource *port_res;
struct resource *irq_res;
struct resource *mem_res;
void *stg_intrhand;
int sc_tmaxcnt;
u_int sc_chip; /* chip type */
u_int sc_fsz; /* fifo size */
u_int sc_idbit; /* host id bit */
u_int sc_wthold; /* write thread */
u_int sc_rthold; /* read thread */
u_int sc_maxwsize; /* max write size */
int sc_dataout_timeout; /* data out timeout counter */
int sc_ubf_timeout; /* unexpected bus free timeout */
u_int8_t sc_fcWinit; /* write flags */
u_int8_t sc_fcRinit; /* read flags */
u_int8_t sc_icinit; /* interrupt masks */
u_int8_t sc_busc; /* default bus control register */
u_int8_t sc_imsg; /* identify msg required */
u_int8_t sc_busimg; /* bus control register image */
};
/*****************************************************************
* Lun information
*****************************************************************/
struct stg_targ_info {
struct targ_info sti_ti; /* generic data */
u_int8_t sti_reg_synch; /* synch register per lun */
};
/*****************************************************************
* Proto
*****************************************************************/
int stgprobesubr(struct resource *, u_int);
void stgattachsubr(struct stg_softc *);
int stgintr(void *);
#endif /* !_TMC18C30VAR_H_ */

View File

@ -656,16 +656,6 @@ device arcmsr # Areca SATA II RAID
options TWA_DEBUG # 0-10; 10 prints the most messages.
device twa # 3ware 9000 series PATA/SATA RAID
#
# SCSI host adapters:
#
# stg: TMC 18C30, 18C50 based SCSI host adapters.
device stg
hint.stg.0.at="isa"
hint.stg.0.port="0x140"
hint.stg.0.port="11"
#
# Adaptec FSA RAID controllers, including integrated DELL controllers,
# the Dell PERC 2/QC and the HP NetRAID-4M

View File

@ -357,7 +357,6 @@ SUBDIR= \
${_splash} \
${_sppp} \
ste \
${_stg} \
stge \
${_sym} \
${_syscons} \
@ -758,7 +757,6 @@ _ncr= ncr
_pcfclock= pcfclock
_pst= pst
_sbni= sbni
_stg= stg
.if ${MK_SOURCELESS_UCODE} != "no"
_ctau= ctau
.endif

View File

@ -1,13 +0,0 @@
# $FreeBSD$
.PATH: ${SRCTOP}/sys/dev/stg
KMOD= stg
SRCS= tmc18c30.c tmc18c30_subr.c \
tmc18c30_isa.c isa_if.h \
tmc18c30_pccard.c card_if.h pccarddevs.h \
tmc18c30_pci.c pci_if.h
SRCS+= device_if.h bus_if.h
SRCS+= opt_cam.h opt_scsi.h opt_ddb.h
.include <bsd.kmod.mk>