Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Oct 2002 15:00:01 +0400 (MSD)
From:      Maxim Maximov <mcsi@agava.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/43889: fix build of misc/ezload
Message-ID:  <200210101100.g9AB01UN096648@ultra.domain>

next in thread | raw e-mail | index | archive | help

>Number:         43889
>Category:       ports
>Synopsis:       fix build of misc/ezload
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 10 04:00:19 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Maxim Maximov
>Release:        FreeBSD 4.7-RC i386
>Organization:
>Environment:
System: FreeBSD ultra.domain 4.7-RC FreeBSD 4.7-RC #9: Fri Oct 4 12:38:44 MSD 2002 mcsi@ultra.domain:/usr/obj/usr/src/sys/ULTRA i386


	
>Description:
	
fixing the build of misc/ezload by adjusting struct members names from dev/usb/usb.h
>How-To-Repeat:
	
>Fix:

--- ezupload/ezupload.c.orig	Thu Oct 10 14:33:34 2002
+++ ezupload/ezupload.c	Thu Oct 10 14:34:49 2002
@@ -179,15 +179,15 @@
 			l = en-at;
 
 #ifdef BSD
-		ur.request.bmRequestType= 0xC0;		/* see Anchor TRM v1.6 page 64 */
-		ur.request.bRequest 	= 0xA0; 	/* Anchor Down/Upload */
+		ur.ucr_request.bmRequestType= 0xC0;		/* see Anchor TRM v1.6 page 64 */
+		ur.ucr_request.bRequest 	= 0xA0; 	/* Anchor Down/Upload */
 
-		USETW(ur.request.wValue,at);		/* Starting Address */
-		USETW(ur.request.wIndex,0);		/* unused */
-		USETW(ur.request.wLength,l);		/* payload len in bytes */
+		USETW(ur.ucr_request.wValue,at);		/* Starting Address */
+		USETW(ur.ucr_request.wIndex,0);		/* unused */
+		USETW(ur.ucr_request.wLength,l);		/* payload len in bytes */
 	
-		ur.flags = 0;
-		ur.actlen = 0;
+		ur.ucr_flags = 0;
+		ur.ucr_actlen = 0;
 #else
                 ur.requesttype= 0xC0;           /* see Anchor TRM v1.6 page 64 */
                 ur.request      = 0xA0;         /* Anchor Down/Upload */
@@ -195,7 +195,7 @@
                 ur.index = 0;           /* unused */
                 ur.length = l;          /* payload len in bytes */
 #endif
-		ur.data	= (void *)d;
+		ur.ucr_data	= (void *)d;
 
 #ifdef BSD
         	if(ioctl(fd, USB_DO_REQUEST,&ur)) {
@@ -207,7 +207,7 @@
 			break;
 		}
 #ifdef BSD
-		if (ur.actlen != l) {
+		if (ur.ucr_actlen != l) {
 			fprintf(stderr,"Failed to get full %d chunk at adr %X: %s\nAborted\n",
 				l,at,strerror(errno));
 			break;
--- ezdownload/ezdownload.c.orig	Thu Oct 10 14:36:01 2002
+++ ezdownload/ezdownload.c	Thu Oct 10 14:51:28 2002
@@ -268,13 +268,13 @@
 	int err;
 
 #ifdef BSD
-	ur.request.bmRequestType= 0x40;		/* see TRM v1.6 page 64 */
-	ur.request.bRequest = 0xA0;		/* Anchor Download */
-	USETW(ur.request.wValue, at);		/* Starting Address */
-	USETW(ur.request.wIndex, 0);		/* unused */
-	USETW(ur.request.wLength, len);		/* payload len in bytes */
-	ur.flags = 0;
-	ur.actlen = 0;
+	ur.ucr_request.bmRequestType= 0x40;		/* see TRM v1.6 page 64 */
+	ur.ucr_request.bRequest = 0xA0;		/* Anchor Download */
+	USETW(ur.ucr_request.wValue, at);		/* Starting Address */
+	USETW(ur.ucr_request.wIndex, 0);		/* unused */
+	USETW(ur.ucr_request.wLength, len);		/* payload len in bytes */
+	ur.ucr_flags = 0;
+	ur.ucr_actlen = 0;
 #else
 	ur.requesttype= 0x40;           /* see TRM v1.6 page 64 */
 	ur.request = 0xA0;              /* Anchor Download */
@@ -282,7 +282,7 @@
 	ur.index = 0;                   /* unused */
 	ur.length = len;                /* payload len in bytes */
 #endif
-	ur.data	= (void *) d;
+	ur.ucr_data	= (void *) d;
 
 	/* Although USB does not limit you here, the Anchor docs
    	 * quote 64 as a limit, and Mato@activewireinc.com suggested
@@ -304,7 +304,7 @@
 		return err;
 
 #ifdef BSD
-	if (ur.actlen != len)
+	if (ur.ucr_actlen != len)
 		return EAGAIN;			/* or too obscure ? */
 #endif
 
@@ -386,16 +386,29 @@
 	};
 #define	SURE(x) (((x!=NULL) && (*x !='\0')) ? x : "<not defined>")
 	if (verbose)
+#ifdef BSD
+		printf("Device information: vendor %04x (%s) product %04x (%s) rev 0x%04x addr %x\n",
+			udi.udi_vendorNo, SURE(udi.udi_vendor), 
+			udi.udi_productNo, SURE(udi.udi_product),
+			udi.udi_releaseNo, udi.udi_addr);
+#else
 		printf("Device information: vendor %04x (%s) product %04x (%s) rev 0x%04x addr %x\n",
 			udi.vendorNo, SURE(udi.vendor), 
 			udi.productNo, SURE(udi.product),
 			udi.releaseNo, udi.addr);
+#endif
 
 	/* standard setup for AnchorChips ISAIK
 	 */
+#ifdef BSD
+        ai.uai_config_index         = 0;
+        ai.uai_interface_index      = 0;
+        ai.uai_alt_no               = 0;
+#else
         ai.config_index         = 0;
         ai.interface_index      = 0;
         ai.alt_no               = 0;
+#endif
 
         if ( ioctl(fd, USB_SET_ALTINTERFACE, &ai) == -1 ) {
                 fprintf(stderr, "ioctl 1 returned: %s\n",
@@ -425,8 +438,13 @@
 			/* XXX  is the revision # really hardware specific ? Is it a string
 			 *	or a BCD number ? 
 			 */
+#ifdef BSD
+			snprintf(tmp,sizeof(tmp),"%s/%04x.%04x.%04x.hex",
+				dir,udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 			snprintf(tmp,sizeof(tmp),"%s/%04x.%04x.%04x.hex",
 				dir,udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 
 			/* we could just do a loop through the directory
 			 * and slack compare ?
@@ -439,9 +457,15 @@
 				printf("No %s\n",tmp);
 		};
 		if (!hexfile) {
+#ifdef BSD
+			fprintf(stderr,"No hexfile with firmware for "
+				"%04x.%04x.%04x available.\n",
+				udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 			fprintf(stderr,"No hexfile with firmware for "
 				"%04x.%04x.%04x available.\n",
 				udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 			if (!force) return(1);
 		};
 	} else {
@@ -453,8 +477,13 @@
 		else
 			l++;
 
+#ifdef BSD
+		snprintf(tmp,sizeof(tmp),"%04x.%04x.%04x",
+			udi.udi_vendorNo,udi.udi_productNo,udi.udi_releaseNo);
+#else
 		snprintf(tmp,sizeof(tmp),"%04x.%04x.%04x",
 			udi.vendorNo,udi.productNo,udi.releaseNo);
+#endif
 
 		if (strncmp(l,tmp,strlen(tmp))) {
 			fprintf(stderr,"The firmware specified does not match the device: %s\n",tmp);
--- aw/aw.c.orig	Thu Oct 10 14:51:43 2002
+++ aw/aw.c	Thu Oct 10 14:55:06 2002
@@ -83,15 +83,26 @@
 #define SURE(x) \
 	(((x!=NULL) && (*x !='\0')) ? x : "<not defined>")
 
+#ifdef __FreeBSD__
+        printf("Device information: vendor %04x (%s) product %04x (%s) rev %s addr %x\n",
+                        udi.udi_vendorNo, SURE(udi.udi_vendor), 
+                        udi.udi_productNo, SURE(udi.udi_product),
+                        SURE(udi.udi_release), udi.udi_addr);
+#else
         printf("Device information: vendor %04x (%s) product %04x (%s) rev %s addr %x\n",
                         udi.vendorNo, SURE(udi.vendor), 
                         udi.productNo, SURE(udi.product),
                         SURE(udi.release), udi.addr);
+#endif
 	close(fd);
 
 	/* vendor 0854 (ActiveWire, Inc.) product 0101 (ActiveWire USB) rev 0.00 
 	 */
+#ifdef __FreeBSD__
+	if ((udi.udi_vendorNo != 0x854) || (udi.udi_productNo != 0x101)) {
+#else
 	if ((udi.vendorNo != 0x854) || (udi.productNo != 0x101)) {
+#endif
 		fprintf(stderr,"Sorry, does not seem to be an ActiveWire board. Aborted\n");
 		exit(1);
 	}
	


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210101100.g9AB01UN096648>