bt(4): Remove support for ISA adapters.
authorSascha Wildner <saw@online.de>
Thu, 29 Nov 2012 00:52:11 +0000 (01:52 +0100)
committerSascha Wildner <saw@online.de>
Thu, 29 Nov 2012 00:52:11 +0000 (01:52 +0100)
The driver also supports PCI cards and we do want to keep this support,
because it is offered by current VirtualBox, for example.

12 files changed:
share/man/man4/bt.4
share/man/man4/isa.4
sys/conf/files
sys/config/GENERIC
sys/config/LINT
sys/config/LINT64
sys/config/X86_64_GENERIC
sys/dev/disk/buslogic/bt.c
sys/dev/disk/buslogic/bt_isa.c [deleted file]
sys/dev/disk/buslogic/bt_pci.c
sys/dev/disk/buslogic/btreg.h
sys/platform/pc32/i386/userconfig.c

index 417996b..d911014 100644 (file)
 .\"
 .\" $FreeBSD: src/share/man/man4/bt.4,v 1.10.4.6 2001/10/01 13:07:23 dd Exp $
 .\"
-.Dd October 16, 1998
+.Dd November 29, 2012
 .Dt BT 4
 .Os
 .Sh NAME
 .Nm bt
 .Nd Buslogic/Mylex MultiMaster SCSI host adapter driver
 .Sh SYNOPSIS
-.Cd "device bt0 at isa? port ? irq ?"
-.Cd device scbus0 at bt0
+.Cd device scbus
+.Cd device bt
 .Sh DESCRIPTION
 This driver provides access to the
 .Tn SCSI
 bus connected to a Buslogic/Mylex MultiMaster or compatible controller:
 .Bd -ragged -offset indent
-.Bl -column "BT-956CD " "ISA " "Commands " Description
+.Bl -column "BT-956CD " "PCI " "Commands " Description
 MultiMaster "W" Series Host Adapters:
 .Pp
 .Em "Adapter   Bus   Commands  Description"
@@ -48,38 +48,21 @@ BT-948    PCI     192     ULtra SCSI-3
 BT-958    PCI     192     Wide ULtra SCSI-3
 BT-958D   PCI     192     Wide Differential ULtra SCSI-3
 .El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
+.Bl -column "BT-956CD " "PCI " "Commands " Description
 MultiMaster "C" Series Host Adapters:
 .Pp
 .Em "Adapter   Bus   Commands  Description"
 BT-946C   PCI     100     Fast SCSI-2
 BT-956C   PCI     100     Wide Fast SCSI-2
 BT-956CD  PCI     100     Wide Differential Fast SCSI-2
-BT-545C   ISA      50     Fast SCSI-2
-BT-540CF  ISA      50     Fast SCSI-2
-.El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
-MultiMaster "S" Series Host Adapters:
-.Pp
-.Em "Adapter   Bus   Commands  Description"
-BT-545S   ISA      30     Fast SCSI-2
-BT-542D   ISA      30     Differential Fast SCSI-2
-BT-542B   ISA      30     SCSI-2 (542B revision H)
-.El
-.Bl -column "BT-956CD " "ISA " "Commands " Description
-MultiMaster "A" Series Host Adapters:
-.Pp
-.Em "Adapter   Bus   Commands  Description"
-BT-542B   ISA      30     SCSI-2 (542B revisions A - G)
 .El
 .Ed
 .Pp
 AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also
 supported by this driver.
 .Pp
-Tagged queueing is supported on 'W' series adapters, 'C' series adapters
-with firmware of rev 4.42 and higher, and 'S' series adapters with firmware
-of rev 3.35 and higher.
+Tagged queueing is supported on 'W' series adapters and 'C' series adapters
+with firmware of rev 4.42 and higher.
 .Pp
 Boards with certain firmware revisions may lock up under heavy load to
 certain devices, especially if tagged queueing is used.  Should you encounter
@@ -93,8 +76,6 @@ Core Driver Implementation
 MultiMaster Register Set and Core Driver Data Structures
 .It Pa /sys/dev/disk/buslogic/bt_pci.c
 PCI Bus Driver Attachment
-.It Pa /sys/dev/disk/buslogic/bt_isa.c
-ISA Bus Driver Attachment
 .El
 .Sh SEE ALSO
 .Xr cd 4 ,
index 892ce28..9310c11 100644 (file)
@@ -31,7 +31,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd May 6, 2012
+.Dd November 29, 2012
 .Dt ISA 4
 .Os
 .Sh NAME
@@ -60,8 +60,6 @@ Note that not all architectures support all devices.
 .Bl -tag -width 12n -offset indent -compact
 .It Xr adv 4
 Advansys SCSI host adapter driver
-.It Xr bt 4
-Buslogic/Mylex MultiMaster SCSI host adapter driver
 .It Xr stg 4
 Future Domain based SCSI controller driver
 .El
index 807fe49..59a4448 100644 (file)
@@ -281,7 +281,6 @@ dev/netif/bfe/if_bfe.c                      optional bfe
 dev/netif/bge/if_bge.c                 optional bge
 dev/netif/bnx/if_bnx.c                 optional bnx
 dev/disk/buslogic/bt.c                 optional bt
-dev/disk/buslogic/bt_isa.c             optional bt isa
 dev/disk/buslogic/bt_pci.c             optional bt pci
 dev/disk/ccd/ccd.c                     optional ccd
 dev/raid/ciss/ciss.c                   optional ciss
index 1305773..09c5951 100644 (file)
@@ -120,7 +120,7 @@ options     SYM_SETUP_LP_PROBE_MAP=0x40
 
 device         adv0    at isa?
 device         adw
-device         bt0     at isa?
+device         bt
 device         aic
 
 device         ncv             # NCR 53C500
index 8e109ef..b1c4b5e 100644 (file)
@@ -1162,7 +1162,7 @@ device            npx0    at nexus? port IO_NPX flags 0x0 irq 13
 #
 
 #
-# SCSI host adapters: `bt'
+# SCSI host adapters
 #
 # adv: All Narrow SCSI bus AdvanSys controllers.
 # adw: Second Generation AdvanSys controllers including the ADV940UW.
@@ -1177,7 +1177,7 @@ device            npx0    at nexus? port IO_NPX flags 0x0 irq 13
 # probed correctly.
 #
 
-device         bt0     at isa? port IO_BT0
+device         bt
 device         adv0    at isa?
 device         adw
 device         aic
index ba5315b..5789a94 100644 (file)
@@ -982,7 +982,7 @@ options     SC_TWOBUTTON_MOUSE
 #options       SC_NO_SYSMOUSE
 
 #
-# SCSI host adapters: `bt'
+# SCSI host adapters
 #
 # adv: All Narrow SCSI bus AdvanSys controllers.
 # adw: Second Generation AdvanSys controllers including the ADV940UW.
@@ -997,7 +997,7 @@ options     SC_TWOBUTTON_MOUSE
 # probed correctly.
 #
 
-device         bt0     at isa? port IO_BT0
+device         bt
 device         adv0    at isa?
 device         adw
 device         aic
index 08ddb2b..671eff1 100644 (file)
@@ -107,7 +107,7 @@ options     SYM_SETUP_LP_PROBE_MAP=0x40
 
 device         adv0    at isa?
 device         adw
-device         bt0     at isa?
+device         bt
 device         aic
 
 device         ncv             # NCR 53C500
index e0fe2e3..ea5c30b 100644 (file)
@@ -1,7 +1,6 @@
 /*
  * Generic driver for the BusLogic MultiMaster SCSI host adapters
  * Product specific probe and attach routines can be found in:
- * sys/dev/buslogic/bt_isa.c   BT-54X, BT-445 cards
  * sys/dev/buslogic/bt_pci.c   BT-946, BT-948, BT-956, BT-958 cards
  *
  * Copyright (c) 1998, 1999 Justin T. Gibbs.
@@ -160,36 +159,6 @@ timeout_t bttimeout;
 
 u_long bt_unit = 0;
 
-/*
- * XXX
- * Do our own re-probe protection until a configuration
- * manager can do it for us.  This ensures that we don't
- * reprobe a card already found by the PCI probes.
- */
-struct bt_isa_port bt_isa_ports[] =
-{
-       { 0x130, 0, 4 },
-       { 0x134, 0, 5 },
-       { 0x230, 0, 2 },
-       { 0x234, 0, 3 },
-       { 0x330, 0, 0 },
-       { 0x334, 0, 1 }
-};
-
-/*
- * I/O ports listed in the order enumerated by the
- * card for certain op codes.
- */
-u_int16_t bt_board_ports[] =
-{
-       0x330,
-       0x334,
-       0x230,
-       0x234,
-       0x130,
-       0x134
-};
-
 /* Exported functions */
 void
 bt_init_softc(device_t dev, struct resource *port,
@@ -260,68 +229,6 @@ bt_free_softc(device_t dev)
        }
 }
 
-int
-bt_port_probe(device_t dev, struct bt_probe_info *info)
-{
-       struct bt_softc *bt = device_get_softc(dev);
-       config_data_t config_data;
-       int error;
-
-       /* See if there is really a card present */
-       if (bt_probe(dev) || bt_fetch_adapter_info(dev))
-               return(1);
-
-       /*
-        * Determine our IRQ, and DMA settings and
-        * export them to the configuration system.
-        */
-       error = bt_cmd(bt, BOP_INQUIRE_CONFIG, NULL, /*parmlen*/0,
-                      (u_int8_t*)&config_data, sizeof(config_data),
-                      DEFAULT_CMD_TIMEOUT);
-       if (error != 0) {
-               kprintf("bt_port_probe: Could not determine IRQ or DMA "
-                      "settings for adapter.\n");
-               return (1);
-       }
-
-       if (bt->model[0] == '5') {
-               /* DMA settings only make sense for ISA cards */
-               switch (config_data.dma_chan) {
-               case DMA_CHAN_5:
-                       info->drq = 5;
-                       break;
-               case DMA_CHAN_6:
-                       info->drq = 6;
-                       break;
-               case DMA_CHAN_7:
-                       info->drq = 7;
-                       break;
-               default:
-                       kprintf("bt_port_probe: Invalid DMA setting "
-                              "detected for adapter.\n");
-                       return (1);
-               }
-       } else {
-               /* VL/EISA/PCI DMA */
-               info->drq = -1;
-       }
-       switch (config_data.irq) {
-       case IRQ_9:
-       case IRQ_10:
-       case IRQ_11:
-       case IRQ_12:
-       case IRQ_14:
-       case IRQ_15:
-               info->irq = ffs(config_data.irq) + 8;
-               break;
-       default:
-               kprintf("bt_port_probe: Invalid IRQ setting %x"
-                      "detected for adapter.\n", config_data.irq);
-               return (1);
-       }
-       return (0);
-}
-
 /*
  * Probe the adapter and verify that the card is a BusLogic.
  */
@@ -855,80 +762,6 @@ bt_attach(device_t dev)
        return (0);
 }
 
-int
-bt_check_probed_iop(u_int ioport)
-{
-       u_int i;
-
-       for (i = 0; i < BT_NUM_ISAPORTS; i++) {
-               if (bt_isa_ports[i].addr == ioport) {
-                       if (bt_isa_ports[i].probed != 0)
-                               return (1);
-                       else {
-                               return (0);
-                       }
-               }
-       }
-       return (1);
-}
-
-void
-bt_mark_probed_bio(isa_compat_io_t port)
-{
-       if (port < BIO_DISABLED)
-               bt_mark_probed_iop(bt_board_ports[port]);
-}
-
-void
-bt_mark_probed_iop(u_int ioport)
-{
-       u_int i;
-
-       for (i = 0; i < BT_NUM_ISAPORTS; i++) {
-               if (ioport == bt_isa_ports[i].addr) {
-                       bt_isa_ports[i].probed = 1;
-                       break;
-               }
-       }
-}
-
-void
-bt_find_probe_range(int ioport, int *port_index, int *max_port_index)
-{
-       if (ioport > 0) {
-               int i;
-
-               for (i = 0;i < BT_NUM_ISAPORTS; i++)
-                       if (ioport <= bt_isa_ports[i].addr)
-                               break;
-               if ((i >= BT_NUM_ISAPORTS)
-                || (ioport != bt_isa_ports[i].addr)) {
-                       kprintf("\nbt_isa_probe: Invalid baseport of 0x%x specified.\n"
-                              "bt_isa_probe: Nearest valid baseport is 0x%x.\n"
-                              "bt_isa_probe: Failing probe.\n",
-                              ioport,
-                              (i < BT_NUM_ISAPORTS)
-                                   ? bt_isa_ports[i].addr
-                                   : bt_isa_ports[BT_NUM_ISAPORTS - 1].addr);
-                       *port_index = *max_port_index = -1;
-                       return;
-               }
-               *port_index = *max_port_index = bt_isa_ports[i].bio;
-       } else {
-               *port_index = 0;
-               *max_port_index = BT_NUM_ISAPORTS - 1;
-       }
-}
-
-int
-bt_iop_from_bio(isa_compat_io_t bio_index)
-{
-       if (bio_index >= 0 && bio_index < BT_NUM_ISAPORTS)
-               return (bt_board_ports[bio_index]);
-       return (-1);
-}
-
-
 static void
 btallocccbs(struct bt_softc *bt)
 {
diff --git a/sys/dev/disk/buslogic/bt_isa.c b/sys/dev/disk/buslogic/bt_isa.c
deleted file mode 100644 (file)
index 2405102..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Product specific probe and attach routines for:
- *      Buslogic BT-54X and BT-445 cards
- *
- * Copyright (c) 1998, 1999 Justin T. Gibbs
- * 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,
- *    without modification, immediately at the beginning of the file.
- * 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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: src/sys/dev/buslogic/bt_isa.c,v 1.18 1999/10/12 21:35:43 dfr Exp $
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/module.h>
-#include <sys/bus.h>
-#include <sys/rman.h>
-#include <sys/machintr.h>
-
-#include <bus/isa/isavar.h>
-#include "btreg.h"
-
-#include <bus/cam/scsi/scsi_all.h>
-
-static bus_dmamap_callback_t btmapsensebuffers;
-
-static int
-bt_isa_alloc_resources(device_t dev, u_long portstart, u_long portend)
-{
-       int rid;
-       struct resource *port;
-       struct resource *irq;
-       struct resource *drq;
-
-       rid = 0;
-       port = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid,
-                                 portstart, portend, BT_NREGS, RF_ACTIVE);
-       if (!port)
-               return (ENOMEM);
-
-       if (isa_get_irq(dev) != -1) {
-               rid = 0;
-               irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid,
-                                        0, ~0, 1, RF_ACTIVE);
-               if (!irq) {
-                       if (port)
-                               bus_release_resource(dev, SYS_RES_IOPORT,
-                                                    0, port);
-                       return (ENOMEM);
-               }
-       } else
-               irq = NULL;
-
-       if (isa_get_drq(dev) != -1) {
-               rid = 0;
-               drq = bus_alloc_resource(dev, SYS_RES_DRQ, &rid,
-                                        0, ~0, 1, RF_ACTIVE);
-               if (!drq) {
-                       if (port)
-                               bus_release_resource(dev, SYS_RES_IOPORT,
-                                                    0, port);
-                       if (irq)
-                               bus_release_resource(dev, SYS_RES_IRQ,
-                                                    0, irq);
-                       return (ENOMEM);
-               }
-       } else
-               drq = NULL;
-
-       bt_init_softc(dev, port, irq, drq);
-
-       return (0);
-}
-
-static void
-bt_isa_release_resources(device_t dev)
-{
-       struct  bt_softc *bt = device_get_softc(dev);
-
-       if (bt->port)
-               bus_release_resource(dev, SYS_RES_IOPORT, 0, bt->port);
-       if (bt->irq)
-               bus_release_resource(dev, SYS_RES_IRQ, 0, bt->irq);
-       if (bt->drq)
-               bus_release_resource(dev, SYS_RES_DRQ, 0, bt->drq);
-       bt_free_softc(dev);
-}
-
-/*
- * Check if the device can be found at the port given
- * and if so, set it up ready for further work
- * as an argument, takes the isa_device structure from
- * autoconf.c
- */
-static int
-bt_isa_probe(device_t dev)
-{
-       /*
-        * find unit and check we have that many defined
-        */
-       int     port_index;
-        int    max_port_index;
-
-       /* No pnp support */
-       if (isa_get_vendorid(dev))
-               return (ENXIO);
-
-       port_index = 0;
-       max_port_index = BT_NUM_ISAPORTS - 1;
-       /*
-        * Bound our board search if the user has
-        * specified an exact port.
-        */
-       bt_find_probe_range(isa_get_port(dev), &port_index, &max_port_index);
-
-       if (port_index < 0)
-               return (ENXIO);
-
-       /* Attempt to find an adapter */
-       for (;port_index <= max_port_index; port_index++) {
-               struct bt_probe_info info;
-               u_int ioport;
-
-               ioport = bt_iop_from_bio(port_index);
-
-               /*
-                * Ensure this port has not already been claimed already
-                * by a PCI, EISA or ISA adapter.
-                */
-               if (bt_check_probed_iop(ioport) != 0)
-                       continue;
-
-               /* Initialise the softc for use during probing */
-               if (bt_isa_alloc_resources(dev, ioport,
-                                          ioport + BT_NREGS -1) != 0)
-                       continue;
-
-               /* We're going to attempt to probe it now, so mark it probed */
-               bt_mark_probed_bio(port_index);
-
-               if (bt_port_probe(dev, &info) != 0) {
-                       if (bootverbose)
-                               kprintf("bt_isa_probe: Probe failed at 0x%x\n",
-                                      ioport);
-                       bt_isa_release_resources(dev);
-                       continue;
-               }
-
-               bt_isa_release_resources(dev);
-
-               bus_set_resource(dev, SYS_RES_DRQ, 0, info.drq, 1, -1);
-               bus_set_resource(dev, SYS_RES_IRQ, 0, info.irq, 1,
-                   machintr_legacy_intr_cpuid(info.irq));
-
-               return (0);
-       }
-
-       return (ENXIO);
-}
-
-/*
- * Attach all the sub-devices we can find
- */
-static int
-bt_isa_attach(device_t dev)
-{
-       struct  bt_softc *bt = device_get_softc(dev);
-       bus_dma_filter_t *filter;
-       void             *filter_arg;
-       bus_addr_t       lowaddr;
-       int              error, drq;
-
-       /* Initialise softc */
-       error = bt_isa_alloc_resources(dev, 0, ~0);
-       if (error) {
-               device_printf(dev, "can't allocate resources in bt_isa_attach\n");
-               return error;
-       }
-
-       /* Program the DMA channel for external control */
-       if ((drq = isa_get_drq(dev)) != -1)
-               isa_dmacascade(drq);
-
-       /* Allocate our parent dmatag */
-       filter = NULL;
-       filter_arg = NULL;
-       lowaddr = BUS_SPACE_MAXADDR_24BIT;
-
-       /* XXX Should be a child of the ISA bus dma tag */
-       if (bus_dma_tag_create(/*parent*/NULL, /*alignemnt*/1, /*boundary*/0,
-                               lowaddr, /*highaddr*/BUS_SPACE_MAXADDR,
-                               filter, filter_arg,
-                               /*maxsize*/BUS_SPACE_MAXSIZE_32BIT,
-                               /*nsegments*/BUS_SPACE_UNRESTRICTED,
-                               /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
-                               /*flags*/0, &bt->parent_dmat) != 0) {
-               bt_isa_release_resources(dev);
-                return (ENOMEM);
-        }                              
-
-        error = bt_init(dev);
-        if (error) {
-               bt_isa_release_resources(dev);
-                return (ENOMEM);
-        }
-
-       if (lowaddr != BUS_SPACE_MAXADDR_32BIT) {
-               /* DMA tag for our sense buffers */
-               if (bus_dma_tag_create(bt->parent_dmat, /*alignment*/1,
-                                      /*boundary*/0,
-                                      /*lowaddr*/BUS_SPACE_MAXADDR,
-                                      /*highaddr*/BUS_SPACE_MAXADDR,
-                                      /*filter*/NULL, /*filterarg*/NULL,
-                                      bt->max_ccbs
-                                          * sizeof(struct scsi_sense_data),
-                                      /*nsegments*/1,
-                                      /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
-                                      /*flags*/0, &bt->sense_dmat) != 0) {
-                       bt_isa_release_resources(dev);
-                       return (ENOMEM);
-               }
-
-               bt->init_level++;
-
-               /* Allocation of sense buffers */
-               if (bus_dmamem_alloc(bt->sense_dmat,
-                                    (void *)&bt->sense_buffers,
-                                    BUS_DMA_NOWAIT, &bt->sense_dmamap) != 0) {
-                       bt_isa_release_resources(dev);
-                       return (ENOMEM);
-               }
-
-               bt->init_level++;
-
-               /* And permanently map them */
-               bus_dmamap_load(bt->sense_dmat, bt->sense_dmamap,
-                                       bt->sense_buffers,
-                               bt->max_ccbs * sizeof(*bt->sense_buffers),
-                               btmapsensebuffers, bt, /*flags*/0);
-
-               bt->init_level++;
-       }
-
-       error = bt_attach(dev);
-       if (error) {
-               bt_isa_release_resources(dev);
-               return (error);
-       }
-
-       return (0);
-}
-
-#define BIOS_MAP_SIZE (16 * 1024)
-
-static void
-btmapsensebuffers(void *arg, bus_dma_segment_t *segs, int nseg, int error)
-{
-       struct bt_softc* bt;
-
-       bt = (struct bt_softc*)arg;
-       bt->sense_buffers_physbase = segs->ds_addr;
-}
-
-static device_method_t bt_isa_methods[] = {
-       /* Device interface */
-       DEVMETHOD(device_probe,         bt_isa_probe),
-       DEVMETHOD(device_attach,        bt_isa_attach),
-
-       { 0, 0 }
-};
-
-static driver_t bt_isa_driver = {
-       "bt",
-       bt_isa_methods,
-       sizeof(struct bt_softc),
-};
-
-static devclass_t bt_devclass;
-
-DRIVER_MODULE(bt, isa, bt_isa_driver, bt_devclass, NULL, NULL);
index 84e1b24..30c1cf9 100644 (file)
@@ -46,7 +46,6 @@
 
 #define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER     0x1040104Bul
 #define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC  0x0140104Bul
-#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT      0x8130104Bul
 
 static int
 bt_pci_alloc_resources(device_t dev)
@@ -108,49 +107,14 @@ bt_pci_probe(device_t dev)
        switch (pci_get_devid(dev)) {
                case PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER:
                case PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC:
-               {
-                       struct bt_softc   *bt = device_get_softc(dev);
-                       pci_info_data_t pci_info;
-                       int error;
-
-                       error = bt_pci_alloc_resources(dev);
-                       if (error)
-                               return (error);
-
-                       /*
-                        * Determine if an ISA compatible I/O port has been
-                        * enabled.  If so, record the port so it will not
-                        * be probed by our ISA probe.  If the PCI I/O port
-                        * was not set to the compatibility port, disable it.
-                        */
-                       error = bt_cmd(bt, BOP_INQUIRE_PCI_INFO,
-                                      /*param*/NULL, /*paramlen*/0,
-                                      (u_int8_t*)&pci_info, sizeof(pci_info),
-                                      DEFAULT_CMD_TIMEOUT);
-                       if (error == 0
-                        && pci_info.io_port < BIO_DISABLED) {
-                               bt_mark_probed_bio(pci_info.io_port);
-                               if (rman_get_start(bt->port) !=
-                                   bt_iop_from_bio(pci_info.io_port)) {
-                                       u_int8_t new_addr;
-
-                                       new_addr = BIO_DISABLED;
-                                       bt_cmd(bt, BOP_MODIFY_IO_ADDR,
-                                              /*param*/&new_addr,
-                                              /*paramlen*/1, /*reply_buf*/NULL,
-                                              /*reply_len*/0,
-                                              DEFAULT_CMD_TIMEOUT);
-                               }
-                       }
-                       bt_pci_release_resources(dev);
-                       device_set_desc(dev, "Buslogic Multi-Master SCSI Host Adapter");
-                       return (0);
-               }
-               default:
+                       device_set_desc(dev,
+                           "Buslogic Multi-Master SCSI Host Adapter");
                        break;
+               default:
+                       return (ENXIO);
        }
 
-       return (ENXIO);
+       return (BUS_PROBE_DEFAULT);
 }
 
 static int
index bc02800..f3d43bf 100644 (file)
@@ -2,7 +2,6 @@
  * Generic register and struct definitions for the BusLogic
  * MultiMaster SCSI host adapters.  Product specific probe and
  * attach routines can be found in:
- * sys/dev/buslogic/bt_isa.c   BT-54X, BT-445 cards
  * sys/dev/buslogic/bt_pci.c   BT-946, BT-948, BT-956, BT-958 cards
  *
  * Copyright (c) 1998, 1999 Justin T. Gibbs.
@@ -402,27 +401,6 @@ typedef struct {
        u_int8_t        checksum[2];
 } auto_scsi_data_t;
 
-struct bt_isa_port {
-       u_int16_t addr;
-       u_int8_t  probed;
-       u_int8_t  bio;
-};
-
-extern struct bt_isa_port bt_isa_ports[];
-
-#define BT_NUM_ISAPORTS 6
-
-typedef enum {
-       BIO_330         = 0,
-       BIO_334         = 1,
-       BIO_230         = 2,
-       BIO_234         = 3,
-       BIO_130         = 4,
-       BIO_134         = 5,
-       BIO_DISABLED    = 6,
-       BIO_DISABLED2   = 7
-} isa_compat_io_t;
-
 typedef struct {
        u_int8_t io_port;
        u_int8_t irq_num;
@@ -669,21 +647,11 @@ void                      bt_init_softc(device_t dev,
                                      struct resource *irq,
                                      struct resource *drq);
 void                   bt_free_softc(device_t dev);
-int                    bt_port_probe(device_t dev,
-                                     struct bt_probe_info *info);
 int                    bt_probe(device_t dev);
 int                    bt_fetch_adapter_info(device_t dev);
 int                    bt_init(device_t dev); 
 int                    bt_attach(device_t dev);
 void                   bt_intr(void *arg);
-int                    bt_check_probed_iop(u_int ioport);
-void                   bt_mark_probed_bio(isa_compat_io_t port);
-void                   bt_mark_probed_iop(u_int ioport);
-void                   bt_find_probe_range(int ioport,
-                                           int *port_index,
-                                           int *max_port_index);
-
-int                    bt_iop_from_bio(isa_compat_io_t bio_index);
 
 #define DEFAULT_CMD_TIMEOUT 100000     /* 10 sec */
 int                    bt_cmd(struct bt_softc *bt, bt_op_t opcode,
index a293ead..5e334b0 100644 (file)
@@ -331,7 +331,6 @@ static DEVCLASS_INFO devclass_names[] = {
 static DEV_INFO device_info[] = {
 /*---Name-----   ---Description---------------------------------------------- */
 {"adv",         "AdvanSys SCSI narrow controller",     0,              CLS_STORAGE},
-{"bt",          "Buslogic SCSI controller",            0,              CLS_STORAGE},
 {"nca",         "ProAudio Spectrum SCSI and compatibles",      0,      CLS_STORAGE},
 {"sea",         "Seagate ST01/ST02 SCSI and compatibles",      0,      CLS_STORAGE},
 {"stg",         "TMC 18C30/18C50 based SCSI cards",    0,              CLS_STORAGE},