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) {

Reply via email to