This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Error while compiling usbhost.c with a Linux Target (with package linux-kernel-headers-2.5.999)


Hi all,

I ran into a compilitation problem while compiling eCos for a Linux Synth 
Target on my Linux Platform ( gcc version 3.3.6 on a Debian platform)

Apparently the fields in struct usbdevfs_ctrltransfer structure are now named 
differently  ( see /usr/include/linux/usbdevice_fs.h) . 

On my Debian distrib, this file is part of the "linux-kernel-headers" package 
as shown :
dpkg --search usbdevice_fs.h :
linux-kernel-headers: /usr/include/linux/usbdevice_fs.h
I use a it with version 2.5.999 :
dpkg  -l | grep linux-kernel
ii  linux-kernel-h 2.5.999-test7- Linux Kernel Headers for development

Here's a proposed patch for eCOS , it is brutal : I have simply renamed the 
fields which could be annoying for backward compatibility.

Thanks for all your good work. Have a nice day.

Index: packages/io/usb/slave/current/host/usbhost.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/usb/slave/current/host/usbhost.c,v
retrieving revision 1.2
diff -B -b -w -U3 -r1.2 usbhost.c
--- packages/io/usb/slave/current/host/usbhost.c	21 Sep 2002 22:06:59 -0000	
1.2
+++ packages/io/usb/slave/current/host/usbhost.c	3 Jun 2005 14:12:17 -0000
@@ -308,22 +308,22 @@
             int this_len = length - 1;
             int ioctl_result;
             
-            transfer.requesttype    = USB_TYPE_CLASS | USB_RECIP_DEVICE;
+            transfer.bRequestType     = USB_TYPE_CLASS | USB_RECIP_DEVICE;      
             if (this_len > 4) {
                 this_len = 4;
             }
             switch (this_len) {
-              case 1: transfer.request  = USBTEST_CONTROL_DATA1; break;
-              case 2: transfer.request  = USBTEST_CONTROL_DATA2; break;
-              case 3: transfer.request  = USBTEST_CONTROL_DATA3; break;
-              case 4: transfer.request  = USBTEST_CONTROL_DATA4; break;
+              case 1: transfer.bRequest  = USBTEST_CONTROL_DATA1; break;
+              case 2: transfer.bRequest  = USBTEST_CONTROL_DATA2; break;
+              case 3: transfer.bRequest  = USBTEST_CONTROL_DATA3; break;
+              case 4: transfer.bRequest  = USBTEST_CONTROL_DATA4; break;
               default:
                 fprintf(stderr, "usbhost: internal error, confusion about 
transfer length.\n");
                 exit(EXIT_FAILURE);
             }
-            transfer.value      = (buf[i]   << 8) | buf[i+1];   // Possible 
read beyond end of buffer,
-            transfer.index      = (buf[i+2] << 8) | buf[i+3];   // but not 
worth worrying about.
-            transfer.length     = 0;
+            transfer.wValue      = (buf[i]   << 8) | buf[i+1];   // Possible 
read beyond end of buffer,
+            transfer.wIndex      = (buf[i+2] << 8) | buf[i+3];   // but not 
worth worrying about.
+            transfer.wLength     = 0;
             transfer.timeout    = 10 * 1000; // ten seconds, the target 
should always accept data faster than this.
             transfer.data       = NULL;
 
@@ -339,11 +339,11 @@
         length = 0;
     }
 #endif    
-    transfer.requesttype        = request_type;
-    transfer.request            = request;
-    transfer.value              = value;
-    transfer.index              = index;
-    transfer.length             = length;
+    transfer.bRequestType        = request_type;
+    transfer.bRequest            = request;
+    transfer.wValue              = value;
+    transfer.wIndex              = index;
+    transfer.wLength             = length;
     transfer.timeout            = 10000;
     transfer.data               = data;
 

-- 
 Campagne du ruban ASCII - Contre les mails en HTML     ()
      ASCII Ribbon Campaign - Against HTML mails              /\

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]