Waste less space.
This commit is contained in:
parent
f0b48537e8
commit
9009c7d68d
|
@ -17,7 +17,7 @@
|
|||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* ft.c - QIC-40/80 floppy tape driver
|
||||
* $Id: ft.c,v 1.26 1996/06/18 01:22:16 bde Exp $
|
||||
* $Id: ft.c,v 1.27 1996/09/06 23:07:22 phk Exp $
|
||||
*
|
||||
* 01/19/95 ++sg
|
||||
* Cleaned up recalibrate/seek code at attach time for FreeBSD 2.x.
|
||||
|
@ -274,7 +274,7 @@ static struct ft_data {
|
|||
int moving; /* TRUE if tape is moving */
|
||||
int rid[7]; /* read_id return values */
|
||||
|
||||
} ft_data[NFT];
|
||||
} *ft_data[NFT];
|
||||
|
||||
/***********************************************************************\
|
||||
* Throughout this file the following conventions will be used: *
|
||||
|
@ -416,7 +416,8 @@ ftattach(isadev, fdup, unithasfd)
|
|||
char *manu;
|
||||
|
||||
if (ftu >= NFT) return 0;
|
||||
ft = &ft_data[ftu];
|
||||
ft = ft_data[ftu] = malloc(sizeof *ft, M_DEVBUF, M_NOWAIT);
|
||||
bzero(ft, sizeof *ft);
|
||||
|
||||
/* Probe for tape */
|
||||
ft->attaching = 1;
|
||||
|
@ -536,7 +537,7 @@ out:
|
|||
*/
|
||||
static void
|
||||
async_cmd(ftu_t ftu) {
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu;
|
||||
int cmd, i, st0, st3, pcn;
|
||||
static int bitn, retval, retpos, nbits, newcn;
|
||||
|
@ -959,7 +960,7 @@ complete:
|
|||
static void
|
||||
async_req(ftu_t ftu, int from)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
SegReq *sp;
|
||||
static int over_async, lastreq;
|
||||
int cmd;
|
||||
|
@ -1088,7 +1089,7 @@ restate:
|
|||
static void
|
||||
async_read(ftu_t ftu, int from)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
int i, rddta[7];
|
||||
int where;
|
||||
|
@ -1209,7 +1210,7 @@ restate:
|
|||
static void
|
||||
async_write(ftu_t ftu, int from)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
int i, rddta[7];
|
||||
int where;
|
||||
|
@ -1334,7 +1335,7 @@ int
|
|||
ftintr(ftu_t ftu)
|
||||
{
|
||||
int st0, pcn, i;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
int s = splbio();
|
||||
|
||||
|
@ -1412,7 +1413,7 @@ ft_timeout(void *arg1)
|
|||
{
|
||||
int s;
|
||||
ftu_t ftu = (ftu_t)arg1;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
s = splbio();
|
||||
if (ft->active) {
|
||||
|
@ -1439,7 +1440,7 @@ static int
|
|||
ftintr_wait(ftu_t ftu, int cmd, int ticks)
|
||||
{
|
||||
int retries, st0, pcn;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
|
||||
ft->cmd_wait = cmd;
|
||||
|
@ -1501,7 +1502,7 @@ static int
|
|||
tape_recal(ftu_t ftu, int totape)
|
||||
{
|
||||
int s;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
|
||||
DPRT(("tape_recal start\n"));
|
||||
|
@ -1562,7 +1563,7 @@ tape_cmd(ftu_t ftu, int cmd)
|
|||
int newcn;
|
||||
int retries = 0;
|
||||
int s;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
|
||||
DPRT(("===> tape_cmd: %d\n",cmd));
|
||||
|
@ -1603,7 +1604,7 @@ static int
|
|||
tape_status(ftu_t ftu)
|
||||
{
|
||||
int r, err, tries;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
int max = (ft->attaching) ? 2 : 3;
|
||||
|
||||
for (r = -1, tries = 0; r < 0 && tries < max; tries++)
|
||||
|
@ -1648,7 +1649,7 @@ recheck:
|
|||
static void
|
||||
tape_start(ftu_t ftu, int motor)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdc_p fdc = ft->fdc;
|
||||
int s, mbits;
|
||||
static int mbmotor[] = { FDO_MOEN0, FDO_MOEN1, FDO_MOEN2, FDO_MOEN3 };
|
||||
|
@ -1686,7 +1687,7 @@ tape_start(ftu_t ftu, int motor)
|
|||
static void
|
||||
tape_end(ftu_t ftu)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdc_p fdc = ft->fdc;
|
||||
int s;
|
||||
|
||||
|
@ -1720,7 +1721,7 @@ tape_end(ftu_t ftu)
|
|||
static void
|
||||
tape_inactive(ftu_t ftu)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
int s = splbio();
|
||||
|
||||
if (ft->segh != NULL) {
|
||||
|
@ -1753,7 +1754,7 @@ ftgetgeom(ftu_t ftu)
|
|||
int r, i, tries;
|
||||
int cfg, qic80, ext;
|
||||
int sts, fmt, len;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
r = tape_status(ftu);
|
||||
|
||||
|
@ -1847,7 +1848,7 @@ static int
|
|||
set_fdcmode(dev_t dev, int newmode)
|
||||
{
|
||||
ftu_t ftu = FDUNIT(minor(dev));
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdc_p fdc = ft->fdc;
|
||||
static int havebufs = 0;
|
||||
int i;
|
||||
|
@ -1983,7 +1984,7 @@ static int
|
|||
qic_status(ftu_t ftu, int cmd, int nbits)
|
||||
{
|
||||
int st3, r, i;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
fdcu_t fdcu = ft->fdc->fdcu; /* fdc active unit */
|
||||
|
||||
if (tape_cmd(ftu, cmd)) {
|
||||
|
@ -2043,8 +2044,8 @@ ftopen(dev_t dev, int arg2) {
|
|||
/* check bounds */
|
||||
if (ftu >= NFT)
|
||||
return(ENXIO);
|
||||
fdc = ft_data[ftu].fdc;
|
||||
if ((fdc == NULL) || (ft_data[ftu].type == NO_TYPE))
|
||||
fdc = ft_data[ftu]->fdc;
|
||||
if ((fdc == NULL) || (ft_data[ftu]->type == NO_TYPE))
|
||||
return(ENXIO);
|
||||
/* check for controller already busy with tape */
|
||||
if (fdc->flags & FDC_TAPE_BUSY)
|
||||
|
@ -2065,7 +2066,7 @@ int
|
|||
ftclose(dev_t dev, int flags)
|
||||
{
|
||||
ftu_t ftu = FDUNIT(minor(dev));
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
|
||||
/* Wait for any remaining I/O activity to complete. */
|
||||
|
@ -2089,7 +2090,7 @@ ftreq_rw(ftu_t ftu, int cmd, QIC_Segment *sr, struct proc *p)
|
|||
int s;
|
||||
long blk, bad, seg;
|
||||
unsigned char *cp, *cp2;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
if (!ft->active && ft->segh == NULL) {
|
||||
r = tape_status(ftu);
|
||||
|
@ -2241,7 +2242,7 @@ rddone:
|
|||
static int
|
||||
ftreq_rewind(ftu_t ftu)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
tape_cmd(ftu, QC_STOP);
|
||||
|
@ -2264,7 +2265,7 @@ static int
|
|||
ftreq_trkpos(ftu_t ftu, int req)
|
||||
{
|
||||
int curtrk, r, cmd;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
tape_cmd(ftu, QC_STOP);
|
||||
|
@ -2296,7 +2297,7 @@ static int
|
|||
ftreq_trkset(ftu_t ftu, int *trk)
|
||||
{
|
||||
int r;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
tape_cmd(ftu, QC_STOP);
|
||||
|
@ -2322,7 +2323,7 @@ ftreq_trkset(ftu_t ftu, int *trk)
|
|||
static int
|
||||
ftreq_lfwd(ftu_t ftu)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
tape_cmd(ftu, QC_STOP);
|
||||
|
@ -2339,7 +2340,7 @@ ftreq_lfwd(ftu_t ftu)
|
|||
static int
|
||||
ftreq_stop(ftu_t ftu)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
tape_cmd(ftu, QC_STOP);
|
||||
|
@ -2356,7 +2357,7 @@ static int
|
|||
ftreq_setmode(ftu_t ftu, int cmd)
|
||||
{
|
||||
int r;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
tape_inactive(ftu);
|
||||
r = tape_status(ftu);
|
||||
|
@ -2387,7 +2388,7 @@ ftreq_setmode(ftu_t ftu, int cmd)
|
|||
static int
|
||||
ftreq_status(ftu_t ftu, int cmd, int *sts, struct proc *p)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
if (ft->active)
|
||||
*sts = ft->laststs & ~QS_READY;
|
||||
|
@ -2404,7 +2405,7 @@ static int
|
|||
ftreq_config(ftu_t ftu, int cmd, int *cfg, struct proc *p)
|
||||
{
|
||||
int r, tries;
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
|
||||
if (ft->active)
|
||||
r = ft->lastcfg;
|
||||
|
@ -2467,7 +2468,7 @@ ftreq_hwinfo(ftu_t ftu, QIC_HWInfo *hwp)
|
|||
static int
|
||||
ftreq_hdr(ftu_t ftu, int cmd, QIC_Segment *sp)
|
||||
{
|
||||
ft_p ft = &ft_data[ftu];
|
||||
ft_p ft = ft_data[ftu];
|
||||
QIC_Header *h = (QIC_Header *)ft->hdr->buff;
|
||||
|
||||
if (sp == NULL || sp->sg_data == NULL) return(EINVAL);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $Id: psm.c,v 1.28 1996/11/15 06:17:36 nate Exp $
|
||||
* $Id: psm.c,v 1.29 1996/11/15 17:30:29 nate Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -68,6 +68,7 @@
|
|||
#include <sys/proc.h>
|
||||
#include <sys/conf.h>
|
||||
#include <sys/syslog.h>
|
||||
#include <sys/malloc.h>
|
||||
#ifdef DEVFS
|
||||
#include <sys/devfsext.h>
|
||||
#endif
|
||||
|
@ -157,7 +158,7 @@ static struct psm_softc { /* Driver status information */
|
|||
void *devfs_token;
|
||||
void *n_devfs_token;
|
||||
#endif
|
||||
} psm_softc[NPSM];
|
||||
} *psm_softc[NPSM];
|
||||
|
||||
/* driver state flags (state) */
|
||||
#define PSM_VALID 0x80
|
||||
|
@ -432,7 +433,7 @@ psmprobe(struct isa_device *dvp)
|
|||
if (unit >= NPSM)
|
||||
return (0);
|
||||
|
||||
sc = &psm_softc[unit];
|
||||
sc = psm_softc[unit];
|
||||
sc->addr = ioport;
|
||||
if (bootverbose)
|
||||
++verbose;
|
||||
|
@ -619,7 +620,10 @@ static int
|
|||
psmattach(struct isa_device *dvp)
|
||||
{
|
||||
int unit = dvp->id_unit;
|
||||
struct psm_softc *sc = &psm_softc[unit];
|
||||
struct psm_softc *sc = psm_softc[unit] =
|
||||
malloc(sizeof *sc, M_DEVBUF, M_NOWAIT);
|
||||
|
||||
bzero(sc, sizeof *sc);
|
||||
|
||||
/* initial operation mode */
|
||||
sc->mode.accelfactor = PSM_ACCEL;
|
||||
|
@ -661,7 +665,7 @@ psmopen(dev_t dev, int flag, int fmt, struct proc *p)
|
|||
return (ENXIO);
|
||||
|
||||
/* Get device data */
|
||||
sc = &psm_softc[unit];
|
||||
sc = psm_softc[unit];
|
||||
if ((sc->state & PSM_VALID) == 0)
|
||||
return (ENXIO);
|
||||
ioport = sc->addr;
|
||||
|
@ -716,7 +720,7 @@ psmopen(dev_t dev, int flag, int fmt, struct proc *p)
|
|||
static int
|
||||
psmclose(dev_t dev, int flag, int fmt, struct proc *p)
|
||||
{
|
||||
struct psm_softc *sc = &psm_softc[PSM_UNIT(dev)];
|
||||
struct psm_softc *sc = psm_softc[PSM_UNIT(dev)];
|
||||
int ioport = sc->addr;
|
||||
|
||||
/* disable the aux interrupt */
|
||||
|
@ -881,7 +885,7 @@ mkps2(unsigned char *buf, int *len, int maxlen, register mousestatus_t *status)
|
|||
static int
|
||||
psmread(dev_t dev, struct uio *uio, int flag)
|
||||
{
|
||||
register struct psm_softc *sc = &psm_softc[PSM_UNIT(dev)];
|
||||
register struct psm_softc *sc = psm_softc[PSM_UNIT(dev)];
|
||||
unsigned int length;
|
||||
int error;
|
||||
int s;
|
||||
|
@ -938,7 +942,7 @@ psmread(dev_t dev, struct uio *uio, int flag)
|
|||
static int
|
||||
psmioctl(dev_t dev, int cmd, caddr_t addr, int flag, struct proc *p)
|
||||
{
|
||||
struct psm_softc *sc = &psm_softc[PSM_UNIT(dev)];
|
||||
struct psm_softc *sc = psm_softc[PSM_UNIT(dev)];
|
||||
mouseinfo_t info;
|
||||
mousestatus_t *ms;
|
||||
packetfunc_t func;
|
||||
|
@ -1075,7 +1079,7 @@ psmintr(int unit)
|
|||
BUT2STAT, BUT1STAT | BUT2STAT, BUT2STAT | BUT3STAT,
|
||||
BUT1STAT | BUT2STAT | BUT3STAT
|
||||
};
|
||||
register struct psm_softc *sc = &psm_softc[unit];
|
||||
register struct psm_softc *sc = psm_softc[unit];
|
||||
int ioport = sc->addr;
|
||||
mousestatus_t *ms;
|
||||
unsigned char c;
|
||||
|
@ -1171,7 +1175,7 @@ psmintr(int unit)
|
|||
static int
|
||||
psmselect(dev_t dev, int rw, struct proc *p)
|
||||
{
|
||||
struct psm_softc *sc = &psm_softc[PSM_UNIT(dev)];
|
||||
struct psm_softc *sc = psm_softc[PSM_UNIT(dev)];
|
||||
int s, ret;
|
||||
|
||||
/* Silly to select for output */
|
||||
|
|
|
@ -58,8 +58,8 @@ typedef struct qic_segment {
|
|||
typedef struct qic_geom {
|
||||
int g_fmtno; /* Format number */
|
||||
int g_lenno; /* Length number */
|
||||
char g_fmtdesc[16]; /* Format text description */
|
||||
char g_lendesc[16]; /* Length text description */
|
||||
char *g_fmtdesc; /* Format text description */
|
||||
char *g_lendesc; /* Length text description */
|
||||
int g_trktape; /* Number of tracks per tape */
|
||||
int g_segtrk; /* Number of segments per track */
|
||||
int g_blktrk; /* Number of blocks per track */
|
||||
|
|
Loading…
Reference in New Issue