Module Name: src Committed By: tsutsui Date: Mon Jul 5 14:51:23 UTC 2021
Modified Files: src/sys/arch/hp300/dev: ct.c ctreg.h hpibvar.h rd.c rdreg.h rdvar.h src/sys/arch/hp300/stand/common: ct.c hpibvar.h rd.c Log Message: Cleanup duplicated CS/80 indentify structures. From OpenBSD. https://marc.info/?l=openbsd-cvs&m=113227249626888&w=2 > Define the CS/80 identify structure only once and correctly, instead of > duplicating it in every CS/80 driver and using an hardcoded number for > its size. > No functional change. https://marc.info/?l=openbsd-cvs&m=113273001020159&w=2 > Pick HP-IB describe structures changes from main kernel code here as well. To generate a diff of this commit: cvs rdiff -u -r1.62 -r1.63 src/sys/arch/hp300/dev/ct.c cvs rdiff -u -r1.10 -r1.11 src/sys/arch/hp300/dev/ctreg.h cvs rdiff -u -r1.22 -r1.23 src/sys/arch/hp300/dev/hpibvar.h cvs rdiff -u -r1.106 -r1.107 src/sys/arch/hp300/dev/rd.c cvs rdiff -u -r1.14 -r1.15 src/sys/arch/hp300/dev/rdreg.h cvs rdiff -u -r1.24 -r1.25 src/sys/arch/hp300/dev/rdvar.h cvs rdiff -u -r1.7 -r1.8 src/sys/arch/hp300/stand/common/ct.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/hp300/stand/common/hpibvar.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/hp300/stand/common/rd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/hp300/dev/ct.c diff -u src/sys/arch/hp300/dev/ct.c:1.62 src/sys/arch/hp300/dev/ct.c:1.63 --- src/sys/arch/hp300/dev/ct.c:1.62 Mon Jul 5 14:03:46 2021 +++ src/sys/arch/hp300/dev/ct.c Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ct.c,v 1.62 2021/07/05 14:03:46 tsutsui Exp $ */ +/* $NetBSD: ct.c,v 1.63 2021/07/05 14:51:23 tsutsui Exp $ */ /*- * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ct.c,v 1.62 2021/07/05 14:03:46 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ct.c,v 1.63 2021/07/05 14:51:23 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -257,7 +257,7 @@ ctattach(device_t parent, device_t self, static int ctident(device_t parent, struct ct_softc *sc, struct hpibbus_attach_args *ha) { - struct ct_describe desc; + struct cs80_describe desc; u_char stat, cmd[3]; char name[7]; int i, id, n, type, canstream; @@ -284,9 +284,10 @@ ctident(device_t parent, struct ct_softc cmd[1] = C_SVOL(0); cmd[2] = C_DESC; hpibsend(device_unit(parent), ha->ha_slave, C_CMD, cmd, sizeof(cmd)); - hpibrecv(device_unit(parent), ha->ha_slave, C_EXEC, &desc, 37); + hpibrecv(device_unit(parent), ha->ha_slave, C_EXEC, &desc, + sizeof(desc)); hpibrecv(device_unit(parent), ha->ha_slave, C_QSTAT, &stat, - sizeof(stat)); + sizeof(stat)); memset(name, 0, sizeof(name)); if (stat == 0) { Index: src/sys/arch/hp300/dev/ctreg.h diff -u src/sys/arch/hp300/dev/ctreg.h:1.10 src/sys/arch/hp300/dev/ctreg.h:1.11 --- src/sys/arch/hp300/dev/ctreg.h:1.10 Sun Dec 11 12:17:13 2005 +++ src/sys/arch/hp300/dev/ctreg.h Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ctreg.h,v 1.10 2005/12/11 12:17:13 christos Exp $ */ +/* $NetBSD: ctreg.h,v 1.11 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990, 1993 @@ -98,30 +98,6 @@ struct ct_clearcmd { char cmd; }; -struct ct_describe { - u_int d_iuw:16, /* controller: installed unit word */ - d_cmaxxfr:16, /* controller: max transfer rate (Kb) */ - d_ctype:8, /* controller: controller type */ - d_utype:8, /* unit: unit type */ - d_name:24, /* unit: name (6 BCD digits) */ - d_sectsize:16, /* unit: # of bytes per block (sector) */ - d_blkbuf:8, /* unit: # of blocks which can be buffered */ - d_burstsize:8, /* unit: recommended burst size */ - d_blocktime:16, /* unit: block time (u-sec) */ - d_uavexfr:16, /* unit: average transfer rate (Kb) */ - d_retry:16, /* unit: optimal retry time (1/100-sec) */ - d_access:16, /* unit: access time param (1/100-sec) */ - d_maxint:8, /* unit: maximum interleave */ - d_fvbyte:8, /* unit: fixed volume byte */ - d_rvbyte:8, /* unit: removable volume byte */ - d_maxcyl:24, /* volume: maximum cylinder */ - d_maxhead:8, /* volume: maximum head */ - d_maxsect:16, /* volume: maximum sector on track */ - d_maxvsecth:16, /* volume: maximum sector on volume (MSW) */ - d_maxvsectl:32, /* volume: maximum sector on volume (LSWs) */ - d_interleave:8; /* volume: current interleave */ - }; - #define CT7946ID 0x220 #define CT9145ID 0x268 #define CT9144ID 0x260 Index: src/sys/arch/hp300/dev/hpibvar.h diff -u src/sys/arch/hp300/dev/hpibvar.h:1.22 src/sys/arch/hp300/dev/hpibvar.h:1.23 --- src/sys/arch/hp300/dev/hpibvar.h:1.22 Mon Jul 5 14:03:46 2021 +++ src/sys/arch/hp300/dev/hpibvar.h Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: hpibvar.h,v 1.22 2021/07/05 14:03:46 tsutsui Exp $ */ +/* $NetBSD: hpibvar.h,v 1.23 2021/07/05 14:51:23 tsutsui Exp $ */ /*- * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. @@ -60,8 +60,6 @@ * @(#)hpibvar.h 8.1 (Berkeley) 6/10/93 */ -#include <sys/queue.h> - #define HPIB_IPL(x) ((((x) >> 4) & 0x3) + 3) #define HPIBA 32 @@ -93,6 +91,36 @@ #define C_UNT_P 0xdf /* with odd parity */ #define C_SCG 0x60 /* Secondary group commands */ +/* + * Description structure for CS/80 devices. + */ +struct cs80_describe { + u_int d_iuw:16, /* controller: installed unit word */ + d_cmaxxfr:16, /* controller: max transfer rate (Kb) */ + d_ctype:8, /* controller: controller type */ + d_utype:8, /* unit: unit type */ + d_name:24, /* unit: name (6 BCD digits) */ + d_sectsize:16, /* unit: # of bytes per block (sector) */ + d_blkbuf:8, /* unit: # of blocks which can be buffered */ + d_burstsize:8, /* unit: recommended burst size */ + d_blocktime:16, /* unit: block time (u-sec) */ + d_uavexfr:16, /* unit: average transfer rate (Kb) */ + d_retry:16, /* unit: optimal retry time (1/100-sec) */ + d_access:16, /* unit: access time param (1/100-sec) */ + d_maxint:8, /* unit: maximum interleave */ + d_fvbyte:8, /* unit: fixed volume byte */ + d_rvbyte:8, /* unit: removable volume byte */ + d_maxcyl:24, /* volume: maximum cylinder */ + d_maxhead:8, /* volume: maximum head */ + d_maxsect:16, /* volume: maximum sector on track */ + d_maxvsecth:16, /* volume: maximum sector on volume (MSW) */ + d_maxvsectl:32, /* volume: maximum sector on volume (LSWs) */ + d_interleave:8; /* volume: current interleave */ +} __attribute__((__packed__)); + +#ifdef _KERNEL +#include <sys/queue.h> + struct hpibbus_softc; /* @@ -184,7 +212,6 @@ struct hpibbus_softc { #define HPIBF_TIMO 0x10 #define HPIBF_DMA16 0x8000 -#ifdef _KERNEL extern void *internalhpib; extern int hpibtimeout; extern int hpibdmathresh; Index: src/sys/arch/hp300/dev/rd.c diff -u src/sys/arch/hp300/dev/rd.c:1.106 src/sys/arch/hp300/dev/rd.c:1.107 --- src/sys/arch/hp300/dev/rd.c:1.106 Mon Jul 5 14:15:16 2021 +++ src/sys/arch/hp300/dev/rd.c Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: rd.c,v 1.106 2021/07/05 14:15:16 tsutsui Exp $ */ +/* $NetBSD: rd.c,v 1.107 2021/07/05 14:51:23 tsutsui Exp $ */ /*- * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. @@ -72,7 +72,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rd.c,v 1.106 2021/07/05 14:15:16 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rd.c,v 1.107 2021/07/05 14:51:23 tsutsui Exp $"); #include "opt_useleds.h" @@ -178,7 +178,7 @@ static const char *err_info[] = { #define RDB_IO 0x08 #define RDB_ASYNC 0x10 #define RDB_ERROR 0x80 -int rddebug = HDB_ERROR | HDB_IDENT; +int rddebug = RDB_ERROR | RDB_IDENT; #endif /* @@ -381,7 +381,7 @@ rdattach(device_t parent, device_t self, static int rdident(device_t parent, struct rd_softc *sc, struct hpibbus_attach_args *ha) { - struct rd_describe *desc = sc != NULL ? &sc->sc_rddesc : NULL; + struct cs80_describe desc; u_char stat, cmd[3]; char name[7]; int i, id, n, ctlr, slave; @@ -416,11 +416,11 @@ rdident(device_t parent, struct rd_softc cmd[1] = C_SVOL(0); cmd[2] = C_DESC; hpibsend(ctlr, slave, C_CMD, cmd, sizeof(cmd)); - hpibrecv(ctlr, slave, C_EXEC, desc, 37); + hpibrecv(ctlr, slave, C_EXEC, &desc, sizeof(desc)); hpibrecv(ctlr, slave, C_QSTAT, &stat, sizeof(stat)); memset(name, 0, sizeof(name)); if (stat == 0) { - n = desc->d_name; + n = desc.d_name; for (i = 5; i >= 0; i--) { name[i] = (n & 0xf) + '0'; n >>= 4; @@ -431,21 +431,21 @@ rdident(device_t parent, struct rd_softc if (rddebug & RDB_IDENT) { aprint_normal("\n"); aprint_normal_dev(sc->sc_dev, "id: 0x%04x, name: %x ('%s')\n", - ha->ha_id, desc->d_name, name); + ha->ha_id, desc.d_name, name); aprint_normal(" iuw %x, maxxfr %d, ctype %d\n", - desc->d_iuw, desc->d_cmaxxfr, desc->d_ctype); + desc.d_iuw, desc.d_cmaxxfr, desc.d_ctype); aprint_normal(" utype %d, bps %d, blkbuf %d, burst %d," " blktime %d\n", - desc->d_utype, desc->d_sectsize, - desc->d_blkbuf, desc->d_burstsize, desc->d_blocktime); + desc.d_utype, desc.d_sectsize, + desc.d_blkbuf, desc.d_burstsize, desc.d_blocktime); aprint_normal(" avxfr %d, ort %d, atp %d, maxint %d, fv %x" ", rv %x\n", - desc->d_uavexfr, desc->d_retry, desc->d_access, - desc->d_maxint, desc->d_fvbyte, desc->d_rvbyte); + desc.d_uavexfr, desc.d_retry, desc.d_access, + desc.d_maxint, desc.d_fvbyte, desc.d_rvbyte); aprint_normal(" maxcyl/head/sect %d/%d/%d, maxvsect %d," " inter %d\n", - desc->d_maxcyl, desc->d_maxhead, desc->d_maxsect, - desc->d_maxvsectl, desc->d_interleave); + desc.d_maxcyl, desc.d_maxhead, desc.d_maxsect, + desc.d_maxvsectl, desc.d_interleave); aprint_normal("%s", device_xname(sc->sc_dev)); } #endif Index: src/sys/arch/hp300/dev/rdreg.h diff -u src/sys/arch/hp300/dev/rdreg.h:1.14 src/sys/arch/hp300/dev/rdreg.h:1.15 --- src/sys/arch/hp300/dev/rdreg.h:1.14 Tue May 18 15:21:41 2021 +++ src/sys/arch/hp300/dev/rdreg.h Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: rdreg.h,v 1.14 2021/05/18 15:21:41 tsutsui Exp $ */ +/* $NetBSD: rdreg.h,v 1.15 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -103,30 +103,6 @@ struct rd_clearcmd { char c_cmd; } __attribute__((__packed__)); -struct rd_describe { - u_int d_iuw:16, /* controller: installed unit word */ - d_cmaxxfr:16, /* controller: max transfer rate (Kb) */ - d_ctype:8, /* controller: controller type */ - d_utype:8, /* unit: unit type */ - d_name:24, /* unit: name (6 BCD digits) */ - d_sectsize:16, /* unit: # of bytes per block (sector) */ - d_blkbuf:8, /* unit: # of blocks which can be buffered */ - d_burstsize:8, /* unit: recommended burst size */ - d_blocktime:16, /* unit: block time (u-sec) */ - d_uavexfr:16, /* unit: average transfer rate (Kb) */ - d_retry:16, /* unit: optimal retry time (1/100-sec) */ - d_access:16, /* unit: access time param (1/100-sec) */ - d_maxint:8, /* unit: maximum interleave */ - d_fvbyte:8, /* unit: fixed volume byte */ - d_rvbyte:8, /* unit: removable volume byte */ - d_maxcyl:24, /* volume: maximum cylinder */ - d_maxhead:8, /* volume: maximum head */ - d_maxsect:16, /* volume: maximum sector on track */ - d_maxvsecth:16, /* volume: maximum sector on volume (MSW) */ - d_maxvsectl:32, /* volume: maximum sector on volume (LSWs) */ - d_interleave:8; /* volume: current interleave */ -} __attribute__((__packed__)); - /* HW ids */ #define RD7946AID 0x220 /* also 7945A */ #define RD9134DID 0x221 /* also 9122S */ Index: src/sys/arch/hp300/dev/rdvar.h diff -u src/sys/arch/hp300/dev/rdvar.h:1.24 src/sys/arch/hp300/dev/rdvar.h:1.25 --- src/sys/arch/hp300/dev/rdvar.h:1.24 Fri Jun 4 17:12:08 2021 +++ src/sys/arch/hp300/dev/rdvar.h Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: rdvar.h,v 1.24 2021/06/04 17:12:08 tsutsui Exp $ */ +/* $NetBSD: rdvar.h,v 1.25 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -69,7 +69,6 @@ struct rd_softc { short sc_type; char *sc_addr; int sc_resid; - struct rd_describe sc_rddesc; struct hpibqueue sc_hq; /* hpib job queue entry */ struct rd_iocmd sc_ioc; struct rd_rscmd sc_rsc; Index: src/sys/arch/hp300/stand/common/ct.c diff -u src/sys/arch/hp300/stand/common/ct.c:1.7 src/sys/arch/hp300/stand/common/ct.c:1.8 --- src/sys/arch/hp300/stand/common/ct.c:1.7 Sun Jul 17 20:54:40 2011 +++ src/sys/arch/hp300/stand/common/ct.c Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ct.c,v 1.7 2011/07/17 20:54:40 joerg Exp $ */ +/* $NetBSD: ct.c,v 1.8 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990, 1993 @@ -106,7 +106,7 @@ ctinit(int ctlr, int unit) int ctident(int ctlr, int unit) { - struct ct_describe desc; + struct cs80_describe desc; uint8_t stat, cmd[3]; char name[7]; int id, i; @@ -131,7 +131,7 @@ ctident(int ctlr, int unit) cmd[1] = C_SVOL(0); cmd[2] = C_DESC; hpibsend(ctlr, unit, C_CMD, cmd, sizeof(cmd)); - hpibrecv(ctlr, unit, C_EXEC, (uint8_t *)&desc, 37); + hpibrecv(ctlr, unit, C_EXEC, (uint8_t *)&desc, sizeof(desc)); hpibrecv(ctlr, unit, C_QSTAT, &stat, sizeof(stat)); memset(name, 0, sizeof(name)); if (!stat) { Index: src/sys/arch/hp300/stand/common/hpibvar.h diff -u src/sys/arch/hp300/stand/common/hpibvar.h:1.5 src/sys/arch/hp300/stand/common/hpibvar.h:1.6 --- src/sys/arch/hp300/stand/common/hpibvar.h:1.5 Sun Jun 25 17:37:43 2006 +++ src/sys/arch/hp300/stand/common/hpibvar.h Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: hpibvar.h,v 1.5 2006/06/25 17:37:43 tsutsui Exp $ */ +/* $NetBSD: hpibvar.h,v 1.6 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990, 1993 @@ -31,21 +31,7 @@ * @(#)hpibvar.h 8.1 (Berkeley) 6/10/93 */ -#define HPIBA 32 -#define HPIBB 1 -#define HPIBC 8 -#define HPIBA_BA 21 -#define HPIBC_BA 30 - -#define CSA_BA 0x1F - -#define C_DCL 20 -#define C_LAG 32 -#define C_UNL 63 -#define C_TAG 64 -#define C_UNA 94 -#define C_UNT 95 -#define C_SCG 96 +#include <hp300/dev/hpibvar.h> struct hpib_softc { char sc_alive; Index: src/sys/arch/hp300/stand/common/rd.c diff -u src/sys/arch/hp300/stand/common/rd.c:1.10 src/sys/arch/hp300/stand/common/rd.c:1.11 --- src/sys/arch/hp300/stand/common/rd.c:1.10 Sun Jul 17 20:54:40 2011 +++ src/sys/arch/hp300/stand/common/rd.c Mon Jul 5 14:51:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: rd.c,v 1.10 2011/07/17 20:54:40 joerg Exp $ */ +/* $NetBSD: rd.c,v 1.11 2021/07/05 14:51:23 tsutsui Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -144,7 +144,7 @@ rdreset(int ctlr, int unit) static int rdident(int ctlr, int unit) { - struct rd_describe desc; + struct cs80_describe desc; uint8_t stat, cmd[3]; char name[7]; int id, i; @@ -163,7 +163,7 @@ rdident(int ctlr, int unit) cmd[1] = C_SVOL(0); cmd[2] = C_DESC; hpibsend(ctlr, unit, C_CMD, cmd, sizeof(cmd)); - hpibrecv(ctlr, unit, C_EXEC, (uint8_t *)&desc, 37); + hpibrecv(ctlr, unit, C_EXEC, (uint8_t *)&desc, sizeof(desc)); hpibrecv(ctlr, unit, C_QSTAT, &stat, sizeof(stat)); memset(name, 0, sizeof(name)); if (!stat) {