|
@@ -27,7 +27,7 @@
|
|
#define _USB_H_
|
|
#define _USB_H_
|
|
|
|
|
|
#include <usb_defs.h>
|
|
#include <usb_defs.h>
|
|
-#include <usbdescriptors.h>
|
|
|
|
|
|
+#include <linux/usb/ch9.h>
|
|
|
|
|
|
/*
|
|
/*
|
|
* The EHCI spec says that we must align to at least 32 bytes. However,
|
|
* The EHCI spec says that we must align to at least 32 bytes. However,
|
|
@@ -67,12 +67,6 @@ struct devrequest {
|
|
unsigned short length;
|
|
unsigned short length;
|
|
} __attribute__ ((packed));
|
|
} __attribute__ ((packed));
|
|
|
|
|
|
-/* All standard descriptors have these 2 fields in common */
|
|
|
|
-struct usb_descriptor_header {
|
|
|
|
- unsigned char bLength;
|
|
|
|
- unsigned char bDescriptorType;
|
|
|
|
-} __attribute__ ((packed));
|
|
|
|
-
|
|
|
|
/* Interface */
|
|
/* Interface */
|
|
struct usb_interface {
|
|
struct usb_interface {
|
|
struct usb_interface_descriptor desc;
|
|
struct usb_interface_descriptor desc;
|
|
@@ -86,7 +80,7 @@ struct usb_interface {
|
|
|
|
|
|
/* Configuration information.. */
|
|
/* Configuration information.. */
|
|
struct usb_config {
|
|
struct usb_config {
|
|
- struct usb_configuration_descriptor desc;
|
|
|
|
|
|
+ struct usb_config_descriptor desc;
|
|
|
|
|
|
unsigned char no_of_if; /* number of interfaces */
|
|
unsigned char no_of_if; /* number of interfaces */
|
|
struct usb_interface if_desc[USB_MAXINTERFACES];
|
|
struct usb_interface if_desc[USB_MAXINTERFACES];
|
|
@@ -285,7 +279,6 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);
|
|
* - device: bits 8-14
|
|
* - device: bits 8-14
|
|
* - endpoint: bits 15-18
|
|
* - endpoint: bits 15-18
|
|
* - Data0/1: bit 19
|
|
* - Data0/1: bit 19
|
|
- * - speed: bit 26 (0 = Full, 1 = Low Speed, 2 = High)
|
|
|
|
* - pipe type: bits 30-31 (00 = isochronous, 01 = interrupt,
|
|
* - pipe type: bits 30-31 (00 = isochronous, 01 = interrupt,
|
|
* 10 = control, 11 = bulk)
|
|
* 10 = control, 11 = bulk)
|
|
*
|
|
*
|
|
@@ -297,7 +290,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);
|
|
/* Create various pipes... */
|
|
/* Create various pipes... */
|
|
#define create_pipe(dev,endpoint) \
|
|
#define create_pipe(dev,endpoint) \
|
|
(((dev)->devnum << 8) | ((endpoint) << 15) | \
|
|
(((dev)->devnum << 8) | ((endpoint) << 15) | \
|
|
- ((dev)->speed << 26) | (dev)->maxpacketsize)
|
|
|
|
|
|
+ (dev)->maxpacketsize)
|
|
#define default_pipe(dev) ((dev)->speed << 26)
|
|
#define default_pipe(dev) ((dev)->speed << 26)
|
|
|
|
|
|
#define usb_sndctrlpipe(dev, endpoint) ((PIPE_CONTROL << 30) | \
|
|
#define usb_sndctrlpipe(dev, endpoint) ((PIPE_CONTROL << 30) | \
|
|
@@ -348,8 +341,6 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate);
|
|
#define usb_pipe_endpdev(pipe) (((pipe) >> 8) & 0x7ff)
|
|
#define usb_pipe_endpdev(pipe) (((pipe) >> 8) & 0x7ff)
|
|
#define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf)
|
|
#define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf)
|
|
#define usb_pipedata(pipe) (((pipe) >> 19) & 1)
|
|
#define usb_pipedata(pipe) (((pipe) >> 19) & 1)
|
|
-#define usb_pipespeed(pipe) (((pipe) >> 26) & 3)
|
|
|
|
-#define usb_pipeslow(pipe) (usb_pipespeed(pipe) == USB_SPEED_LOW)
|
|
|
|
#define usb_pipetype(pipe) (((pipe) >> 30) & 3)
|
|
#define usb_pipetype(pipe) (((pipe) >> 30) & 3)
|
|
#define usb_pipeisoc(pipe) (usb_pipetype((pipe)) == PIPE_ISOCHRONOUS)
|
|
#define usb_pipeisoc(pipe) (usb_pipetype((pipe)) == PIPE_ISOCHRONOUS)
|
|
#define usb_pipeint(pipe) (usb_pipetype((pipe)) == PIPE_INTERRUPT)
|
|
#define usb_pipeint(pipe) (usb_pipetype((pipe)) == PIPE_INTERRUPT)
|