summaryrefslogtreecommitdiffstats
path: root/sys/dev/hfa
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2000-10-12 00:03:50 +0000
committerphk <phk@FreeBSD.org>2000-10-12 00:03:50 +0000
commit4d5d6d69caae71da99ba0702fed86b0546c11270 (patch)
treea68c1b4be98329ceb704b534012c2cb72f2e459f /sys/dev/hfa
parent11037c013d79eae9f06a8e84c4d35cce975567f2 (diff)
downloadFreeBSD-src-4d5d6d69caae71da99ba0702fed86b0546c11270.zip
FreeBSD-src-4d5d6d69caae71da99ba0702fed86b0546c11270.tar.gz
Do some cleanups of the HARP atm codes interface into the system:
Define the NETISR just like all the other NETISRs. unifdef -Usun -D__FreeBSD__ we will probably never support sun4c and if we do we can't use the solaris code anyway and I doubt anybody will be running Fore ATM cards in then in the first place.
Diffstat (limited to 'sys/dev/hfa')
-rw-r--r--sys/dev/hfa/fore_load.c951
-rw-r--r--sys/dev/hfa/fore_var.h3
2 files changed, 0 insertions, 954 deletions
diff --git a/sys/dev/hfa/fore_load.c b/sys/dev/hfa/fore_load.c
index 5f136c8..4748f58 100644
--- a/sys/dev/hfa/fore_load.c
+++ b/sys/dev/hfa/fore_load.c
@@ -46,14 +46,6 @@ __RCSID("@(#) $FreeBSD$");
* Local functions
*/
static int fore_start __P((void));
-#ifdef sun
-static int fore_stop __P((void));
-static int fore_doload __P((void));
-static int fore_dounload __P((void));
-static int fore_identify __P((char *));
-static int fore_attach __P((struct devinfo *));
-#endif
-#ifdef __FreeBSD__
static const char * fore_pci_probe __P((pcici_t, pcidi_t));
static void fore_pci_attach __P((pcici_t, int));
#if BSD < 199506
@@ -61,7 +53,6 @@ static int fore_pci_shutdown __P((struct kern_devconf *, int));
#else
static void fore_pci_shutdown __P((void *, int));
#endif
-#endif
static void fore_unattach __P((Fore_unit *));
static void fore_reset __P((Fore_unit *));
@@ -74,25 +65,7 @@ static int fore_inited = 0;
/*
* Driver entry points
*/
-#ifdef sun
-static struct dev_ops fore_ops = {
- 1, /* revision */
- fore_identify, /* identify */
- fore_attach, /* attach */
- NULL, /* open */
- NULL, /* close */
- NULL, /* read */
- NULL, /* write */
- NULL, /* strategy */
- NULL, /* dump */
- NULL, /* psize */
- NULL, /* ioctl */
- NULL, /* reset */
- NULL /* mmap */
-};
-#endif
-#ifdef __FreeBSD__
static u_long fore_pci_count = 0;
static struct pci_device fore_pci_device = {
@@ -108,7 +81,6 @@ static struct pci_device fore_pci_device = {
};
COMPAT_PCI_DRIVER(fore_pci, fore_pci_device);
-#endif
/*
@@ -156,678 +128,8 @@ fore_start()
}
-#ifdef sun
-
-/*
- * Halt driver processing
- *
- * This will be called just prior to unloading the module from memory.
- * Everything we've setup since we've been loaded must be undone here.
- *
- * Arguments:
- * none
- *
- * Returns:
- * 0 shutdown was successful
- * errno shutdown failed - reason indicated
- *
- */
-static int
-fore_stop()
-{
- int err = 0;
- int s = splimp();
- int i;
-
- /*
- * Stop the watchdog timer
- */
- (void) atm_untimeout(&fore_timer);
-
- /*
- * Clean up each device (if any)
- */
- for ( i = 0; i < fore_nunits; i++ ) {
- Fore_unit *fup = fore_units[i];
-
- if (fup == NULL)
- continue;
-
- /*
- * Deregister device from kernel services
- */
- if (err = atm_physif_deregister((Cmn_unit *)fup)) {
- (void) splx(s);
- return (err);
- }
-
- /*
- * Unattach the device from the system
- */
- fore_unattach(fup);
-
- /*
- * Free any Fore-specific device resources
- */
- fore_interface_free(fup);
-
- /*
- * Free the unit structure
- */
- atm_dev_free(fup);
- fore_units[i] = NULL;
- }
-
- fore_nunits = 0;
-
- /*
- * Now free our global resources
- */
-
- /*
- * Release our storage pools
- */
- atm_release_pool(&fore_vcc_pool);
- atm_release_pool(&fore_nif_pool);
-
- /*
- * Release all DMA mappings
- */
- DMA_RELEASE();
-
- fore_inited = 0;
-
- (void) splx(s);
-
- return (0);
-}
-
-/*
- * Device identify routine
- *
- * Determine if this driver will support the named device. If we claim to
- * support the device, our attach routine will (later) be called for the
- * device.
- *
- * Arguments:
- * name pointer to identifier string from device
- *
- * Returns:
- * 1 driver claims support for this device
- * 0 device not claimed by this driver
- *
- */
-static int
-fore_identify(name)
- char *name;
-{
- int ret = 0;
- int i = 0;
-
- /*
- * Initialize driver stuff
- */
- if (fore_inited == 0) {
- if (fore_start())
- return (0);
- }
-
- while (fore_devices[i].fd_name) {
- if (strcmp(fore_devices[i].fd_name, name) == 0) {
-
- /*
- * We support this device!!
- */
- if (fore_nunits < FORE_MAX_UNITS) {
- fore_nunits++;
- ret = 1;
- } else {
- log(LOG_ERR,
- "fore_identify: Too many devices\n");
- }
- break;
- }
- i++;
- }
- return (ret);
-}
-
-
-/*
- * Device attach routine
- *
- * Attach a device we've previously claimed to support. Walk through its
- * register set and map, as required. Determine what level the device will
- * be interrupting at and then register an interrupt handler for it. If we
- * succeed, then reset the adapter and read useful info from its PROM.
- * Last, register the interface with the kernel ATM services.
- *
- * Arguments:
- * devinfo_p pointer to device information structure
- *
- * Returns:
- * 0 attach was successful
- * -1 attach failed
- *
- */
-static int
-fore_attach(devinfo_p)
- struct dev_info *devinfo_p;
-{
- struct dev_reg *dev_reg_p;
- struct dev_intr *dev_intr_p;
- Fore_unit *fup;
- Atm_config *fcp;
- addr_t valp;
- int val;
- int i;
- int err_count = BOOT_LOOPS;
- static int unit = 0;
-
- /*
- * Sanity check
- */
- if (devinfo_p == NULL)
- return (-1);
-
- /*
- * Make sure this isn't a duplicate unit
- */
- if (fore_units[unit] != NULL)
- return (-1);
-
- /*
- * Allocate a new unit structure
- */
- fup = (Fore_unit *) atm_dev_alloc(sizeof(Fore_unit), sizeof(int), 0);
- if (fup == NULL)
- return (-1);
-
- /*
- * Start initializing it
- */
- fup->fu_unit = unit;
- fup->fu_mtu = FORE_IFF_MTU;
- fup->fu_devinfo = devinfo_p;
- fup->fu_vcc_pool = &fore_vcc_pool;
- fup->fu_nif_pool = &fore_nif_pool;
- fup->fu_ioctl = fore_atm_ioctl;
- fup->fu_instvcc = fore_instvcc;
- fup->fu_openvcc = fore_openvcc;
- fup->fu_closevcc = fore_closevcc;
- fup->fu_output = fore_output;
-
- /*
- * Consider this unit assigned
- */
- fore_units[unit] = fup;
- unit++;
-
- ATM_DEBUG1("fore_attach: fup=%p\n", fup);
- ATM_DEBUG2("\tfu_xmit_q=%p fu_xmit_head=%p\n",
- fup->fu_xmit_q, &fup->fu_xmit_head);
- ATM_DEBUG2("\tfu_recv_q=%p fu_recv_head=%p\n",
- fup->fu_recv_q, &fup->fu_recv_head);
- ATM_DEBUG2("\tfu_buf1s_q=%p fu_buf1s_head=%p\n",
- fup->fu_buf1s_q, &fup->fu_buf1s_head);
- ATM_DEBUG2("\tfu_buf1l_q=%p fu_buf1l_head=%p\n",
- fup->fu_buf1l_q, &fup->fu_buf1l_head);
- ATM_DEBUG2("\tfu_cmd_q=%p fu_cmd_head=%p\n",
- fup->fu_cmd_q, &fup->fu_cmd_head);
- ATM_DEBUG1("\tfu_stats=%p\n",
- &fup->fu_stats);
-
- /*
- * Tell kernel our unit number
- */
- devinfo_p->devi_unit = fup->fu_unit;
-
- /*
- * Figure out what type of device we've got. This should always
- * work since we've already done this at identify time!
- */
- i = 0;
- while (fore_devices[i].fd_name) {
- if (strcmp(fore_devices[i].fd_name, devinfo_p->devi_name) == 0)
- break;
- i++;
- }
- if (fore_devices[i].fd_name == NULL)
- return (-1);
-
- fup->fu_config.ac_device = fore_devices[i].fd_devtyp;
-
- /*
- * Walk through the OPENPROM register information
- * mapping register banks as they are found.
- */
- for ( dev_reg_p = devinfo_p->devi_reg, i = 1;
- i <= devinfo_p->devi_nreg; i++, ++dev_reg_p )
- {
- if ( dev_reg_p == NULL )
- {
- /*
- * Can't happen...
- */
- return ( -1 );
- }
-
- /*
- * Each device type has different register sets
- */
- switch (fup->fu_config.ac_device) {
-
-#ifdef FORE_SBUS
- case DEV_FORE_SBA200E:
-
- switch ( i )
- {
- /*
- * Host Control Register (HCR)
- */
- case 1:
- if ( sizeof(Fore_reg) != dev_reg_p->reg_size )
- {
- return ( -1 );
- }
- fup->fu_ctlreg = (Fore_reg *)
- map_regs ( dev_reg_p->reg_addr,
- sizeof(Fore_reg),
- dev_reg_p->reg_bustype );
- if ( fup->fu_ctlreg == NULL )
- {
- return ( -1 );
- }
- break;
-
- /*
- * SBus Burst Transfer Configuration Register
- */
- case 2:
- /*
- * Not used
- */
- break;
-
- /*
- * SBus Interrupt Level Select Register
- */
- case 3:
- if ( sizeof (Fore_reg) != dev_reg_p->reg_size )
- {
- return ( -1 );
- }
- fup->fu_intlvl = (Fore_reg *)
- map_regs ( dev_reg_p->reg_addr,
- sizeof(Fore_reg),
- dev_reg_p->reg_bustype );
- if ( fup->fu_intlvl == NULL )
- {
- return ( -1 );
- }
- break;
-
- /*
- * i960 RAM
- */
- case 4:
- fup->fu_ram = (Fore_mem *)
- map_regs ( dev_reg_p->reg_addr,
- dev_reg_p->reg_size,
- dev_reg_p->reg_bustype );
- if ( fup->fu_ram == NULL )
- {
- return ( -1 );
- }
- fup->fu_ramsize = dev_reg_p->reg_size;
-
- /*
- * Various versions of the Sun PROM mess with
- * the reg_addr value in unpredictable (to me,
- * at least) ways, so just use the "memoffset"
- * property, which should give us the RAM
- * offset directly.
- */
- val = getprop(devinfo_p->devi_nodeid,
- "memoffset", -1);
- if (val == -1) {
- return (-1);
- }
- fup->fu_config.ac_ram = val;
- fup->fu_config.ac_ramsize = fup->fu_ramsize;
-
- /*
- * Set monitor interface for initializing
- */
- fup->fu_mon = (Mon960 *)
- (fup->fu_ram + MON960_BASE);
- break;
-
- default:
- log(LOG_ERR,
- "fore_attach: Too many registers\n");
- return ( -1 );
- }
- break;
-
- case DEV_FORE_SBA200:
-
- switch ( i )
- {
- /*
- * Board Control Register (BCR)
- */
- case 1:
- if ( sizeof(Fore_reg) != dev_reg_p->reg_size )
- {
- return ( -1 );
- }
- fup->fu_ctlreg = (Fore_reg *)
- map_regs ( dev_reg_p->reg_addr,
- sizeof(Fore_reg),
- dev_reg_p->reg_bustype );
- if ( fup->fu_ctlreg == NULL )
- {
- return ( -1 );
- }
- break;
-
- /*
- * i960 RAM
- */
- case 2:
- fup->fu_ram = (Fore_mem *)
- map_regs ( dev_reg_p->reg_addr,
- dev_reg_p->reg_size,
- dev_reg_p->reg_bustype );
- if ( fup->fu_ram == NULL )
- {
- return ( -1 );
- }
- fup->fu_ramsize = dev_reg_p->reg_size;
-
- /*
- * Various versions of the Sun PROM mess with
- * the reg_addr value in unpredictable (to me,
- * at least) ways, so just use the "memoffset"
- * property, which should give us the RAM
- * offset directly.
- */
- val = getprop(devinfo_p->devi_nodeid,
- "memoffset", -1);
- if (val == -1) {
- return (-1);
- }
- fup->fu_config.ac_ram = val;
- fup->fu_config.ac_ramsize = fup->fu_ramsize;
-
- /*
- * Set monitor interface for initializing
- */
- fup->fu_mon = (Mon960 *)
- (fup->fu_ram + MON960_BASE);
- break;
-
- default:
- log(LOG_ERR,
- "fore_attach: Too many registers\n");
- return ( -1 );
- }
- break;
-#endif /* FORE_SBUS */
-
- default:
- log(LOG_ERR,
- "fore_attach: Unsupported device type %d\n",
- fup->fu_config.ac_device);
- return (-1);
- }
- }
-
- /*
- * Install the device in the interrupt chain.
- *
- * dev_intr_p may be null IFF devi_nintr is zero.
- */
- dev_intr_p = devinfo_p->devi_intr;
- for ( i = devinfo_p->devi_nintr; i > 0; --i, ++dev_intr_p )
- {
-
- if ( dev_intr_p == NULL )
- {
- /*
- * Can't happen.
- */
- return ( -1 );
- }
-
- /*
- * Convert hardware ipl (0-15) into spl level.
- */
- if ( ipltospl ( dev_intr_p->int_pri ) > fup->fu_intrpri )
- {
- fup->fu_intrpri = ipltospl ( dev_intr_p->int_pri );
-
- /*
- * If SBA-200E card, set SBus interrupt level
- * into board register
- */
- if ( fup->fu_intlvl ) {
-#if defined(sun4c)
- *(fup->fu_intlvl) = dev_intr_p->int_pri;
-#elif defined(sun4m)
- extern int svimap[];
-
- *(fup->fu_intlvl) =
- svimap[dev_intr_p->int_pri & 0xf];
-#else
- #error PORT ME;
-#endif
- }
- }
-
- DEVICE_LOCK((Cmn_unit *)fup);
-
- /*
- * Register our interrupt routine.
- */
- (void) addintr ( dev_intr_p->int_pri, fore_poll,
- devinfo_p->devi_name, devinfo_p->devi_unit );
-
- /*
- * If we can do DMA (we can), then DVMA routines need
- * to know the highest IPL level we will interrupt at.
- */
- adddma ( dev_intr_p->int_pri );
-
- DEVICE_UNLOCK((Cmn_unit *)fup);
- }
-
- /*
- * Poke the hardware...boot the CP and prepare it for downloading
- */
- fore_reset(fup);
-
- switch (fup->fu_config.ac_device) {
-
-#ifdef FORE_SBUS
- case DEV_FORE_SBA200E:
- /*
- * Enable interrupts
- */
- SBA200E_HCR_SET(*fup->fu_ctlreg, SBA200E_SBUS_ENA);
- break;
-#endif /* FORE_SBUS */
- }
-
- /*
- * Wait for monitor to perform self-test
- */
- while (CP_READ(fup->fu_mon->mon_bstat) != BOOT_MONREADY) {
- if (CP_READ(fup->fu_mon->mon_bstat) == BOOT_FAILTEST) {
- log(LOG_ERR, "fore_attach: Unit %d failed self-test\n",
- fup->fu_unit);
- return (-1);
- } else if ( --err_count == 0 ) {
- log(LOG_ERR, "fore_attach: Unit %d unable to boot\n",
- fup->fu_unit);
- return (-1);
- }
- DELAY ( BOOT_DELAY );
- }
-
- /*
- * Write a one line message to the console informing
- * that we've attached the device.
- */
- report_dev ( devinfo_p );
-
- /*
- * Get the mac address from the card PROM
- */
- val = getprop ( devinfo_p->devi_nodeid, "macaddress1", -1 );
- if ( val != -1 ) {
- fup->fu_pif.pif_macaddr.ma_data[0] = val & 0xff;
- val = getprop ( devinfo_p->devi_nodeid, "macaddress2", -1 );
- fup->fu_pif.pif_macaddr.ma_data[1] = val & 0xff;
- val = getprop ( devinfo_p->devi_nodeid, "macaddress3", -1 );
- fup->fu_pif.pif_macaddr.ma_data[2] = val & 0xff;
- val = getprop ( devinfo_p->devi_nodeid, "macaddress4", -1 );
- fup->fu_pif.pif_macaddr.ma_data[3] = val & 0xff;
- val = getprop ( devinfo_p->devi_nodeid, "macaddress5", -1 );
- fup->fu_pif.pif_macaddr.ma_data[4] = val & 0xff;
- val = getprop ( devinfo_p->devi_nodeid, "macaddress6", -1 );
- fup->fu_pif.pif_macaddr.ma_data[5] = val & 0xff;
- } else {
- /*
- * Newer PROM - mac addresses have been combined. Also,
- * macaddrlo2 reflects the board serial number.
- */
- val = htonl(getprop(devinfo_p->devi_nodeid, "macaddrlo2", -1));
- KM_COPY ( (caddr_t)&val,
- (caddr_t)&fup->fu_pif.pif_macaddr.ma_data[2],
- sizeof(val) );
- val = htonl(getprop(devinfo_p->devi_nodeid, "macaddrhi4", -1));
- KM_COPY ( (caddr_t)&val,
- (caddr_t)fup->fu_pif.pif_macaddr.ma_data,
- sizeof(val) );
- }
- /*
- * Setup the adapter config info
- */
- fcp = &fup->fu_config;
- fcp->ac_vendor = VENDOR_FORE;
- fcp->ac_vendapi = VENDAPI_FORE_1;
- fcp->ac_macaddr = fup->fu_pif.pif_macaddr;
- val = getprop ( devinfo_p->devi_nodeid, "promversion", -1 );
- if ( val == -1 ) {
- val = getprop ( devinfo_p->devi_nodeid, "hw-version", -1 );
- }
- if (val != -1) {
- snprintf(fcp->ac_hard_vers,
- sizeof(fcp->ac_hard_vers), "%d.%d.%d",
- (val >> 16) & 0xff, (val >> 8) & 0xff, val & 0xff);
- } else
- snprintf(fcp->ac_hard_vers,
- sizeof(fcp->ac_hard_vers), "Unknown");
-
- val = getprop ( devinfo_p->devi_nodeid, "serialnumber", -1 );
- if ( val != -1 )
- fcp->ac_serial = val;
-
- valp = (addr_t)getlongprop ( devinfo_p->devi_nodeid, "model" );
- if ( valp )
- {
- /*
- * Media Type
- */
- switch (fcp->ac_device) {
-
-#ifdef FORE_SBUS
- case DEV_FORE_SBA200E:
- fcp->ac_media = MEDIA_OC3C;
- fup->fu_pif.pif_pcr = ATM_PCR_OC3C;
- break;
-
- case DEV_FORE_SBA200:
- /*
- * Look at the /SSS trailer to determine 4B5B speed
- * TAXI-100 = 125; TAXI-140 = 175
- * Assume that OC3 has no /SSS speed identifier.
- */
- while (*valp && *valp != '/')
- valp++;
- if (*valp == NULL) {
- fcp->ac_media = MEDIA_OC3C;
- fup->fu_pif.pif_pcr = ATM_PCR_OC3C;
- } else if (strcmp(valp, "/125") == 0) {
- fcp->ac_media = MEDIA_TAXI_100;
- fup->fu_pif.pif_pcr = ATM_PCR_TAXI100;
- } else {
- fcp->ac_media = MEDIA_TAXI_140;
- fup->fu_pif.pif_pcr = ATM_PCR_TAXI140;
- }
- break;
-#endif /* FORE_SBUS */
- }
-
- /*
- * Free property space
- */
- KM_FREE(valp, getproplen(devinfo_p->devi_nodeid, "model"), 0);
- }
-
- /*
- * Bus information
- */
- fcp->ac_busslot =
-#ifdef SBUS_SIZE
- (long)(devinfo_p->devi_reg->reg_addr - SBUS_BASE) / SBUS_SIZE;
-#else
- sbusslot((u_long)devinfo_p->devi_reg->reg_addr);
-#endif
-
- val = getprop(devinfo_p->devi_parent->devi_nodeid, "burst-sizes", 0);
- if (val & SBUS_BURST32)
- fcp->ac_bustype = BUS_SBUS_B32;
- else
- fcp->ac_bustype = BUS_SBUS_B16;
-
- /*
- * Set device capabilities
- */
- fup->fu_pif.pif_maxvpi = FORE_MAX_VPI;
- fup->fu_pif.pif_maxvci = FORE_MAX_VCI;
-
- /*
- * Register this interface with ATM core services
- */
- if ( atm_physif_register
- ((Cmn_unit *)fup, FORE_DEV_NAME, fore_services) != 0 )
- {
- /*
- * Registration failed - back everything out
- */
- /*
- * Modload calls UNLOAD if it get's a failure - don't
- * call fore_unload() here.
- */
- return ( -1 );
- }
-
- /*
- * Initialize the CP microcode program.
- */
- fore_initialize(fup);
-
- return (0);
-}
-#endif /* sun */
-
-
-#ifdef __FreeBSD__
/*
* Device probe routine
*
@@ -1136,7 +438,6 @@ fore_pci_shutdown(fup, howto)
return;
}
#endif /* BSD < 199506 */
-#endif /* __FreeBSD__ */
/*
@@ -1155,12 +456,6 @@ static void
fore_unattach(fup)
Fore_unit *fup;
{
-#ifdef sun
- struct dev_info *devinfo_p = fup->fu_devinfo;
- struct dev_reg *dev_reg_p;
- struct dev_intr *dev_intr_p;
- int i;
-#endif
/*
@@ -1181,109 +476,7 @@ fore_unattach(fup)
(void)untimeout((KTimeout_ret(*) __P((void *)))fore_initialize,
(void *)fup, fup->fu_thandle);
-#ifdef sun
- /*
- * Remove any mappings of the device
- */
- for ( dev_reg_p = devinfo_p->devi_reg, i = 1;
- i <= devinfo_p->devi_nreg; i++, ++dev_reg_p )
- {
- if ( dev_reg_p == NULL )
- {
- /*
- * Can't happen...
- */
- break;
- }
-
- /*
- * Each device type has different register sets
- */
- switch (fup->fu_config.ac_device) {
-
-#ifdef FORE_SBUS
- case DEV_FORE_SBA200E:
-
- switch ( i )
- {
- /*
- * Host Control Register (HCR)
- */
- case 1:
- unmap_regs((addr_t)fup->fu_ctlreg,
- sizeof(Fore_reg));
- break;
-
- /*
- * SBus Burst Transfer Configuration Register
- */
- case 2:
- /*
- * Not used
- */
- break;
-
- /*
- * SBus Interrupt Level Select Register
- */
- case 3:
- unmap_regs((addr_t)fup->fu_intlvl,
- sizeof(Fore_reg));
- break;
-
- /*
- * i960 RAM
- */
- case 4:
- unmap_regs((addr_t)fup->fu_ram,
- fup->fu_ramsize);
- break;
- }
- break;
-
- case DEV_FORE_SBA200:
-
- switch ( i )
- {
- /*
- * Board Control Register (BCR)
- */
- case 1:
- unmap_regs((addr_t)fup->fu_ctlreg,
- sizeof(Fore_reg));
- break;
-
- /*
- * i960 RAM
- */
- case 2:
- unmap_regs((addr_t)fup->fu_ram,
- fup->fu_ramsize);
- break;
- }
- break;
-#endif /* FORE_SBUS */
- }
- }
-
- /*
- * Remove the interrupt vector(s)
- */
- dev_intr_p = devinfo_p->devi_intr;
- for ( i = devinfo_p->devi_nintr; i > 0; --i, ++dev_intr_p )
- {
- if ( dev_intr_p == NULL )
- {
- /*
- * Can't happen...
- */
- break;
- }
- (void) remintr ( dev_intr_p->int_pri, fore_poll );
- }
-#endif /* sun */
-#ifdef __FreeBSD__
/*
* Unmap the device interrupt
*/
@@ -1295,7 +488,6 @@ fore_unattach(fup)
#ifdef notdef
(void) pci_unmap_mem(fup->fu_pcitag, PCA200E_PCI_MEMBASE);
#endif
-#endif /* __FreeBSD__ */
DEVICE_UNLOCK((Cmn_unit *)fup);
}
@@ -1375,149 +567,7 @@ fore_reset(fup)
*******************************************************************
*/
-#ifdef sun
-/*
- * Generic module load processing
- *
- * This function is called by an OS-specific function when this
- * module is being loaded.
- *
- * Arguments:
- * none
- *
- * Returns:
- * 0 load was successful
- * errno load failed - reason indicated
- *
- */
-static int
-fore_doload()
-{
- int err = 0;
-
- /*
- * Start us up
- */
- err = fore_start();
- if (err)
- /* Problems, clean up */
- (void)fore_stop();
-
- return (err);
-}
-
-
-/*
- * Generic module unload processing
- *
- * This function is called by an OS-specific function when this
- * module is being unloaded.
- *
- * Arguments:
- * none
- *
- * Returns:
- * 0 unload was successful
- * errno unload failed - reason indicated
- *
- */
-static int
-fore_dounload()
-{
- int err = 0;
-
- /*
- * OK, try to clean up our mess
- */
- err = fore_stop();
-
- return (err);
-}
-
-
-/*
- * Loadable driver description
- */
-static struct vdldrv fore_drv = {
- VDMAGIC_DRV, /* Device Driver */
- "fore_mod", /* name */
- &fore_ops, /* dev_ops */
- NULL, /* bdevsw */
- NULL, /* cdevsw */
- 0, /* blockmajor */
- 0 /* charmajor */
-};
-
-
-/*
- * Loadable module support entry point
- *
- * This is the routine called by the vd driver for all loadable module
- * functions for this pseudo driver. This routine name must be specified
- * on the modload(1) command. This routine will be called whenever the
- * modload(1), modunload(1) or modstat(1) commands are issued for this
- * module.
- *
- * Arguments:
- * cmd vd command code
- * vdp pointer to vd driver's structure
- * vdi pointer to command-specific vdioctl_* structure
- * vds pointer to status structure (VDSTAT only)
- *
- * Returns:
- * 0 command was successful
- * errno command failed - reason indicated
- *
- */
-int
-fore_mod(cmd, vdp, vdi, vds)
- int cmd;
- struct vddrv *vdp;
- caddr_t vdi;
- struct vdstat *vds;
-{
- int err = 0;
-
- switch (cmd) {
-
- case VDLOAD:
- /*
- * Module Load
- *
- * We dont support any user configuration
- */
- err = fore_doload();
- if (err == 0)
- /* Let vd driver know about us */
- vdp->vdd_vdtab = (struct vdlinkage *)&fore_drv;
- break;
-
- case VDUNLOAD:
- /*
- * Module Unload
- */
- err = fore_dounload();
- break;
-
- case VDSTAT:
- /*
- * Module Status
- */
-
- /* Not much to say at the moment */
-
- break;
-
- default:
- log(LOG_ERR, "fore_mod: Unknown vd command 0x%x\n", cmd);
- err = EINVAL;
- }
-
- return (err);
-}
-#endif /* sun */
-#ifdef __FreeBSD__
#ifdef notdef
/*
@@ -1631,7 +681,6 @@ fore_mod(lkmtp, cmd, ver)
#endif
}
#endif /* notdef */
-#endif /* __FreeBSD__ */
#endif /* ATM_LINKED */
diff --git a/sys/dev/hfa/fore_var.h b/sys/dev/hfa/fore_var.h
index 5a1533f..540ec12 100644
--- a/sys/dev/hfa/fore_var.h
+++ b/sys/dev/hfa/fore_var.h
@@ -163,9 +163,6 @@ typedef struct buf_handle Buf_handle;
*/
struct fore_unit {
Cmn_unit fu_cmn; /* Common unit stuff */
-#ifdef sun
- struct dev_info *fu_devinfo; /* Device node for this unit */
-#endif
Fore_reg *fu_ctlreg; /* Device control register */
#ifdef FORE_SBUS
Fore_reg *fu_intlvl; /* Interrupt level register */
OpenPOWER on IntegriCloud