mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-23 21:19:04 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (120 commits) usb: don't update devnum for wusb devices wusb: make ep0_reinit available for modules wusb: devices dont use a set address wusb: teach choose_address() about wireless devices wusb: add link wusb-usb device wusb: add authenticathed bit to usb_dev USB: remove unnecessary type casting of urb->context usb serial: more fixes and groundwork for tty changes USB: replace remaining __FUNCTION__ occurrences USB: usbfs: export the URB_NO_INTERRUPT flag to userspace USB: fix compile problems in ehci-hcd USB: ehci: qh_completions cleanup and bugfix USB: cdc-acm: signedness fix USB: add documentation about callbacks USB: don't explicitly reenable root-hub status interrupts USB: OHCI: turn off RD when remote wakeup is disabled USB: HCDs use the do_remote_wakeup flag USB: g_file_storage: ignore bulk-out data after invalid CBW USB: serial: remove endpoints setting checks from core and header USB: serial: remove unneeded number endpoints settings ...
This commit is contained in:
commit
37b05b1798
185 changed files with 8195 additions and 6540 deletions
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
struct usb_device;
|
||||
struct usb_driver;
|
||||
struct wusb_dev;
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
|
@ -341,103 +342,146 @@ struct usb_bus {
|
|||
|
||||
struct usb_tt;
|
||||
|
||||
/*
|
||||
/**
|
||||
* struct usb_device - kernel's representation of a USB device
|
||||
* @devnum: device number; address on a USB bus
|
||||
* @devpath: device ID string for use in messages (e.g., /port/...)
|
||||
* @state: device state: configured, not attached, etc.
|
||||
* @speed: device speed: high/full/low (or error)
|
||||
* @tt: Transaction Translator info; used with low/full speed dev, highspeed hub
|
||||
* @ttport: device port on that tt hub
|
||||
* @toggle: one bit for each endpoint, with ([0] = IN, [1] = OUT) endpoints
|
||||
* @parent: our hub, unless we're the root
|
||||
* @bus: bus we're part of
|
||||
* @ep0: endpoint 0 data (default control pipe)
|
||||
* @dev: generic device interface
|
||||
* @descriptor: USB device descriptor
|
||||
* @config: all of the device's configs
|
||||
* @actconfig: the active configuration
|
||||
* @ep_in: array of IN endpoints
|
||||
* @ep_out: array of OUT endpoints
|
||||
* @rawdescriptors: raw descriptors for each config
|
||||
* @bus_mA: Current available from the bus
|
||||
* @portnum: parent port number (origin 1)
|
||||
* @level: number of USB hub ancestors
|
||||
* @can_submit: URBs may be submitted
|
||||
* @discon_suspended: disconnected while suspended
|
||||
* @persist_enabled: USB_PERSIST enabled for this device
|
||||
* @have_langid: whether string_langid is valid
|
||||
* @authorized: policy has said we can use it;
|
||||
* (user space) policy determines if we authorize this device to be
|
||||
* used or not. By default, wired USB devices are authorized.
|
||||
* WUSB devices are not, until we authorize them from user space.
|
||||
* FIXME -- complete doc
|
||||
* @authenticated: Crypto authentication passed
|
||||
* @wusb: device is Wireless USB
|
||||
* @string_langid: language ID for strings
|
||||
* @product: iProduct string, if present (static)
|
||||
* @manufacturer: iManufacturer string, if present (static)
|
||||
* @serial: iSerialNumber string, if present (static)
|
||||
* @filelist: usbfs files that are open to this device
|
||||
* @usb_classdev: USB class device that was created for usbfs device
|
||||
* access from userspace
|
||||
* @usbfs_dentry: usbfs dentry entry for the device
|
||||
* @maxchild: number of ports if hub
|
||||
* @children: child devices - USB devices that are attached to this hub
|
||||
* @pm_usage_cnt: usage counter for autosuspend
|
||||
* @quirks: quirks of the whole device
|
||||
* @urbnum: number of URBs submitted for the whole device
|
||||
* @active_duration: total time device is not suspended
|
||||
* @autosuspend: for delayed autosuspends
|
||||
* @pm_mutex: protects PM operations
|
||||
* @last_busy: time of last use
|
||||
* @autosuspend_delay: in jiffies
|
||||
* @connect_time: time device was first connected
|
||||
* @auto_pm: autosuspend/resume in progress
|
||||
* @do_remote_wakeup: remote wakeup should be enabled
|
||||
* @reset_resume: needs reset instead of resume
|
||||
* @autosuspend_disabled: autosuspend disabled by the user
|
||||
* @autoresume_disabled: autoresume disabled by the user
|
||||
* @skip_sys_resume: skip the next system resume
|
||||
*
|
||||
* FIXME: Write the kerneldoc!
|
||||
*
|
||||
* Notes:
|
||||
* Usbcore drivers should not set usbdev->state directly. Instead use
|
||||
* usb_set_device_state().
|
||||
*
|
||||
* @authorized: (user space) policy determines if we authorize this
|
||||
* device to be used or not. By default, wired USB
|
||||
* devices are authorized. WUSB devices are not, until we
|
||||
* authorize them from user space. FIXME -- complete doc
|
||||
*/
|
||||
struct usb_device {
|
||||
int devnum; /* Address on USB bus */
|
||||
char devpath [16]; /* Use in messages: /port/port/... */
|
||||
enum usb_device_state state; /* configured, not attached, etc */
|
||||
enum usb_device_speed speed; /* high/full/low (or error) */
|
||||
int devnum;
|
||||
char devpath [16];
|
||||
enum usb_device_state state;
|
||||
enum usb_device_speed speed;
|
||||
|
||||
struct usb_tt *tt; /* low/full speed dev, highspeed hub */
|
||||
int ttport; /* device port on that tt hub */
|
||||
struct usb_tt *tt;
|
||||
int ttport;
|
||||
|
||||
unsigned int toggle[2]; /* one bit for each endpoint
|
||||
* ([0] = IN, [1] = OUT) */
|
||||
unsigned int toggle[2];
|
||||
|
||||
struct usb_device *parent; /* our hub, unless we're the root */
|
||||
struct usb_bus *bus; /* Bus we're part of */
|
||||
struct usb_device *parent;
|
||||
struct usb_bus *bus;
|
||||
struct usb_host_endpoint ep0;
|
||||
|
||||
struct device dev; /* Generic device interface */
|
||||
struct device dev;
|
||||
|
||||
struct usb_device_descriptor descriptor;/* Descriptor */
|
||||
struct usb_host_config *config; /* All of the configs */
|
||||
struct usb_device_descriptor descriptor;
|
||||
struct usb_host_config *config;
|
||||
|
||||
struct usb_host_config *actconfig;/* the active configuration */
|
||||
struct usb_host_config *actconfig;
|
||||
struct usb_host_endpoint *ep_in[16];
|
||||
struct usb_host_endpoint *ep_out[16];
|
||||
|
||||
char **rawdescriptors; /* Raw descriptors for each config */
|
||||
char **rawdescriptors;
|
||||
|
||||
unsigned short bus_mA; /* Current available from the bus */
|
||||
u8 portnum; /* Parent port number (origin 1) */
|
||||
u8 level; /* Number of USB hub ancestors */
|
||||
unsigned short bus_mA;
|
||||
u8 portnum;
|
||||
u8 level;
|
||||
|
||||
unsigned can_submit:1; /* URBs may be submitted */
|
||||
unsigned discon_suspended:1; /* Disconnected while suspended */
|
||||
unsigned have_langid:1; /* whether string_langid is valid */
|
||||
unsigned authorized:1; /* Policy has said we can use it */
|
||||
unsigned wusb:1; /* Device is Wireless USB */
|
||||
int string_langid; /* language ID for strings */
|
||||
unsigned can_submit:1;
|
||||
unsigned discon_suspended:1;
|
||||
unsigned persist_enabled:1;
|
||||
unsigned have_langid:1;
|
||||
unsigned authorized:1;
|
||||
unsigned authenticated:1;
|
||||
unsigned wusb:1;
|
||||
int string_langid;
|
||||
|
||||
/* static strings from the device */
|
||||
char *product; /* iProduct string, if present */
|
||||
char *manufacturer; /* iManufacturer string, if present */
|
||||
char *serial; /* iSerialNumber string, if present */
|
||||
char *product;
|
||||
char *manufacturer;
|
||||
char *serial;
|
||||
|
||||
struct list_head filelist;
|
||||
#ifdef CONFIG_USB_DEVICE_CLASS
|
||||
struct device *usb_classdev;
|
||||
#endif
|
||||
#ifdef CONFIG_USB_DEVICEFS
|
||||
struct dentry *usbfs_dentry; /* usbfs dentry entry for the device */
|
||||
struct dentry *usbfs_dentry;
|
||||
#endif
|
||||
/*
|
||||
* Child devices - these can be either new devices
|
||||
* (if this is a hub device), or different instances
|
||||
* of this same device.
|
||||
*
|
||||
* Each instance needs its own set of data structures.
|
||||
*/
|
||||
|
||||
int maxchild; /* Number of ports if hub */
|
||||
int maxchild;
|
||||
struct usb_device *children[USB_MAXCHILDREN];
|
||||
|
||||
int pm_usage_cnt; /* usage counter for autosuspend */
|
||||
u32 quirks; /* quirks of the whole device */
|
||||
atomic_t urbnum; /* number of URBs submitted for
|
||||
the whole device */
|
||||
int pm_usage_cnt;
|
||||
u32 quirks;
|
||||
atomic_t urbnum;
|
||||
|
||||
unsigned long active_duration; /* total time device is not suspended */
|
||||
unsigned long active_duration;
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
struct delayed_work autosuspend; /* for delayed autosuspends */
|
||||
struct mutex pm_mutex; /* protects PM operations */
|
||||
struct delayed_work autosuspend;
|
||||
struct mutex pm_mutex;
|
||||
|
||||
unsigned long last_busy; /* time of last use */
|
||||
int autosuspend_delay; /* in jiffies */
|
||||
unsigned long connect_time; /* time device was first connected */
|
||||
unsigned long last_busy;
|
||||
int autosuspend_delay;
|
||||
unsigned long connect_time;
|
||||
|
||||
unsigned auto_pm:1; /* autosuspend/resume in progress */
|
||||
unsigned do_remote_wakeup:1; /* remote wakeup should be enabled */
|
||||
unsigned reset_resume:1; /* needs reset instead of resume */
|
||||
unsigned persist_enabled:1; /* USB_PERSIST enabled for this dev */
|
||||
unsigned autosuspend_disabled:1; /* autosuspend and autoresume */
|
||||
unsigned autoresume_disabled:1; /* disabled by the user */
|
||||
unsigned skip_sys_resume:1; /* skip the next system resume */
|
||||
unsigned auto_pm:1;
|
||||
unsigned do_remote_wakeup:1;
|
||||
unsigned reset_resume:1;
|
||||
unsigned autosuspend_disabled:1;
|
||||
unsigned autoresume_disabled:1;
|
||||
unsigned skip_sys_resume:1;
|
||||
#endif
|
||||
struct wusb_dev *wusb_dev;
|
||||
};
|
||||
#define to_usb_device(d) container_of(d, struct usb_device, dev)
|
||||
|
||||
|
|
@ -898,10 +942,11 @@ struct usbdrv_wrap {
|
|||
* and should normally be the same as the module name.
|
||||
* @probe: Called to see if the driver is willing to manage a particular
|
||||
* interface on a device. If it is, probe returns zero and uses
|
||||
* dev_set_drvdata() to associate driver-specific data with the
|
||||
* usb_set_intfdata() to associate driver-specific data with the
|
||||
* interface. It may also use usb_set_interface() to specify the
|
||||
* appropriate altsetting. If unwilling to manage the interface,
|
||||
* return a negative errno value.
|
||||
* return -ENODEV, if genuine IO errors occured, an appropriate
|
||||
* negative errno value.
|
||||
* @disconnect: Called when the interface is no longer accessible, usually
|
||||
* because its device has been (or is being) disconnected or the
|
||||
* driver module is being unloaded.
|
||||
|
|
@ -916,10 +961,7 @@ struct usbdrv_wrap {
|
|||
* @pre_reset: Called by usb_reset_composite_device() when the device
|
||||
* is about to be reset.
|
||||
* @post_reset: Called by usb_reset_composite_device() after the device
|
||||
* has been reset, or in lieu of @resume following a reset-resume
|
||||
* (i.e., the device is reset instead of being resumed, as might
|
||||
* happen if power was lost). The second argument tells which is
|
||||
* the reason.
|
||||
* has been reset
|
||||
* @id_table: USB drivers use ID table to support hotplugging.
|
||||
* Export this with MODULE_DEVICE_TABLE(usb,...). This must be set
|
||||
* or your driver's probe function will never get called.
|
||||
|
|
@ -1411,6 +1453,7 @@ extern int usb_submit_urb(struct urb *urb, gfp_t mem_flags);
|
|||
extern int usb_unlink_urb(struct urb *urb);
|
||||
extern void usb_kill_urb(struct urb *urb);
|
||||
extern void usb_kill_anchored_urbs(struct usb_anchor *anchor);
|
||||
extern void usb_unlink_anchored_urbs(struct usb_anchor *anchor);
|
||||
extern void usb_anchor_urb(struct urb *urb, struct usb_anchor *anchor);
|
||||
extern void usb_unanchor_urb(struct urb *urb);
|
||||
extern int usb_wait_anchor_empty_timeout(struct usb_anchor *anchor,
|
||||
|
|
@ -1661,13 +1704,12 @@ extern void usb_unregister_notify(struct notifier_block *nb);
|
|||
#define dbg(format, arg...) do {} while (0)
|
||||
#endif
|
||||
|
||||
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n" , \
|
||||
__FILE__ , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n" , \
|
||||
__FILE__ , ## arg)
|
||||
#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n" , \
|
||||
__FILE__ , ## arg)
|
||||
|
||||
#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \
|
||||
format "\n" , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " \
|
||||
format "\n" , ## arg)
|
||||
#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " \
|
||||
format "\n" , ## arg)
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
|
|
|
|||
|
|
@ -50,4 +50,4 @@ struct usb_ac_header_descriptor_##n { \
|
|||
__u8 baInterfaceNr[n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
#endif
|
||||
#endif /* __LINUX_USB_AUDIO_H */
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
* firmware based USB peripherals.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_CDC_H
|
||||
#define __LINUX_USB_CDC_H
|
||||
|
||||
#define USB_CDC_SUBCLASS_ACM 0x02
|
||||
#define USB_CDC_SUBCLASS_ETHERNET 0x06
|
||||
#define USB_CDC_SUBCLASS_WHCM 0x08
|
||||
|
|
@ -221,3 +224,4 @@ struct usb_cdc_notification {
|
|||
__le16 wLength;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#endif /* __LINUX_USB_CDC_H */
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@
|
|||
#define USB_RECIP_ENDPOINT 0x02
|
||||
#define USB_RECIP_OTHER 0x03
|
||||
/* From Wireless USB 1.0 */
|
||||
#define USB_RECIP_PORT 0x04
|
||||
#define USB_RECIP_RPIPE 0x05
|
||||
#define USB_RECIP_PORT 0x04
|
||||
#define USB_RECIP_RPIPE 0x05
|
||||
|
||||
/*
|
||||
* Standard requests, for the bRequest field of a SETUP packet.
|
||||
|
|
@ -102,10 +102,16 @@
|
|||
#define USB_REQ_LOOPBACK_DATA_READ 0x16
|
||||
#define USB_REQ_SET_INTERFACE_DS 0x17
|
||||
|
||||
/* The Link Power Mangement (LPM) ECN defines USB_REQ_TEST_AND_SET command,
|
||||
* used by hubs to put ports into a new L1 suspend state, except that it
|
||||
* forgot to define its number ...
|
||||
*/
|
||||
|
||||
/*
|
||||
* USB feature flags are written using USB_REQ_{CLEAR,SET}_FEATURE, and
|
||||
* are read as a bit array returned by USB_REQ_GET_STATUS. (So there
|
||||
* are at most sixteen features of each type.)
|
||||
* are at most sixteen features of each type.) Hubs may also support a
|
||||
* new USB_REQ_TEST_AND_SET_FEATURE to put ports into L1 suspend.
|
||||
*/
|
||||
#define USB_DEVICE_SELF_POWERED 0 /* (read only) */
|
||||
#define USB_DEVICE_REMOTE_WAKEUP 1 /* dev may initiate wakeup */
|
||||
|
|
@ -180,6 +186,7 @@ struct usb_ctrlrequest {
|
|||
#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
|
||||
#define USB_DT_WIRE_ADAPTER 0x21
|
||||
#define USB_DT_RPIPE 0x22
|
||||
#define USB_DT_CS_RADIO_CONTROL 0x23
|
||||
|
||||
/* Conventional codes for class-specific descriptors. The convention is
|
||||
* defined in the USB "Common Class" Spec (3.11). Individual class specs
|
||||
|
|
@ -574,7 +581,9 @@ enum usb_device_state {
|
|||
/* NOTE: there are actually four different SUSPENDED
|
||||
* states, returning to POWERED, DEFAULT, ADDRESS, or
|
||||
* CONFIGURED respectively when SOF tokens flow again.
|
||||
* At this level there's no difference between L1 and L2
|
||||
* suspend states. (L2 being original USB 1.1 suspend.)
|
||||
*/
|
||||
};
|
||||
|
||||
#endif /* __LINUX_USB_CH9_H */
|
||||
#endif /* __LINUX_USB_CH9_H */
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_G_PRINTER_H
|
||||
#define __LINUX_USB_G_PRINTER_H
|
||||
|
||||
#define PRINTER_NOT_ERROR 0x08
|
||||
#define PRINTER_SELECTED 0x10
|
||||
|
|
@ -29,3 +31,5 @@
|
|||
*/
|
||||
#define GADGET_GET_PRINTER_STATUS _IOR('g', 0x21, unsigned char)
|
||||
#define GADGET_SET_PRINTER_STATUS _IOWR('g', 0x22, unsigned char)
|
||||
|
||||
#endif /* __LINUX_USB_G_PRINTER_H */
|
||||
|
|
|
|||
|
|
@ -846,4 +846,4 @@ extern struct usb_ep *usb_ep_autoconfig(struct usb_gadget *,
|
|||
|
||||
extern void usb_ep_autoconfig_reset(struct usb_gadget *) __devinit;
|
||||
|
||||
#endif /* __LINUX_USB_GADGET_H */
|
||||
#endif /* __LINUX_USB_GADGET_H */
|
||||
|
|
|
|||
|
|
@ -1,11 +1,3 @@
|
|||
#ifndef __LINUX_USB_GADGETFS_H
|
||||
#define __LINUX_USB_GADGETFS_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <asm/ioctl.h>
|
||||
|
||||
#include <linux/usb/ch9.h>
|
||||
|
||||
/*
|
||||
* Filesystem based user-mode API to USB Gadget controller hardware
|
||||
*
|
||||
|
|
@ -23,6 +15,14 @@
|
|||
* then performing data transfers by reading or writing.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_GADGETFS_H
|
||||
#define __LINUX_USB_GADGETFS_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <asm/ioctl.h>
|
||||
|
||||
#include <linux/usb/ch9.h>
|
||||
|
||||
/*
|
||||
* Events are delivered on the ep0 file descriptor, when the user mode driver
|
||||
* reads from this file descriptor after writing the descriptors. Don't
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
#ifndef __USB_INPUT_H
|
||||
#define __USB_INPUT_H
|
||||
|
||||
/*
|
||||
* Copyright (C) 2005 Dmitry Torokhov
|
||||
*
|
||||
|
|
@ -9,6 +6,9 @@
|
|||
* the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_INPUT_H
|
||||
#define __LINUX_USB_INPUT_H
|
||||
|
||||
#include <linux/usb.h>
|
||||
#include <linux/input.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
|
@ -22,4 +22,4 @@ usb_to_input_id(const struct usb_device *dev, struct input_id *id)
|
|||
id->version = le16_to_cpu(dev->descriptor.bcdDevice);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif /* __LINUX_USB_INPUT_H */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef _IOWARRIOR_H_
|
||||
#define _IOWARRIOR_H_
|
||||
#ifndef __LINUX_USB_IOWARRIOR_H
|
||||
#define __LINUX_USB_IOWARRIOR_H
|
||||
|
||||
#define CODEMERCS_MAGIC_NUMBER 0xC0 /* like COde Mercenaries */
|
||||
|
||||
|
|
@ -39,4 +39,4 @@ struct iowarrior_info {
|
|||
*/
|
||||
#define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
|
||||
|
||||
#endif /* _IOWARRIOR_H_ */
|
||||
#endif /* __LINUX_USB_IOWARRIOR_H */
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
|
||||
/*
|
||||
* Board initialization code should put one of these into dev->platform_data
|
||||
* and place the isp116x onto platform_bus.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_ISP116X_H
|
||||
#define __LINUX_USB_ISP116X_H
|
||||
|
||||
struct isp116x_platform_data {
|
||||
/* Enable internal resistors on downstream ports */
|
||||
unsigned sel15Kres:1;
|
||||
|
|
@ -27,3 +29,5 @@ struct isp116x_platform_data {
|
|||
*/
|
||||
void (*delay) (struct device *dev, int delay);
|
||||
};
|
||||
|
||||
#endif /* __LINUX_USB_ISP116X_H */
|
||||
|
|
|
|||
|
|
@ -109,4 +109,4 @@ struct usb_ms_endpoint_descriptor_##n { \
|
|||
__u8 baAssocJackID[n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
#endif
|
||||
#endif /* __LINUX_USB_MIDI_H */
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
/*
|
||||
* NetChip 2280 high/full speed USB device controller.
|
||||
* Unlike many such controllers, this one talks PCI.
|
||||
*/
|
||||
#ifndef __LINUX_USB_NET2280_H
|
||||
#define __LINUX_USB_NET2280_H
|
||||
|
||||
/*
|
||||
*
|
||||
* Copyright (C) 2002 NetChip Technology, Inc. (http://www.netchip.com)
|
||||
* Copyright (C) 2003 David Brownell
|
||||
*
|
||||
|
|
@ -24,6 +20,9 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_NET2280_H
|
||||
#define __LINUX_USB_NET2280_H
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/* NET2280 MEMORY MAPPED REGISTERS
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
/* USB OTG (On The Go) defines */
|
||||
|
||||
/*
|
||||
*
|
||||
* These APIs may be used between USB controllers. USB device drivers
|
||||
* (for either host or peripheral roles) don't use these calls; they
|
||||
* continue to use just usb_device and usb_gadget.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_OTG_H
|
||||
#define __LINUX_USB_OTG_H
|
||||
|
||||
/* OTG defines lots of enumeration states before device reset */
|
||||
enum usb_otg_state {
|
||||
|
|
@ -129,3 +131,5 @@ otg_start_srp(struct otg_transceiver *otg)
|
|||
|
||||
/* for OTG controller drivers (and maybe other stuff) */
|
||||
extern int usb_bus_start_enum(struct usb_bus *bus, unsigned port_num);
|
||||
|
||||
#endif /* __LINUX_USB_OTG_H */
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
* belong here.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_QUIRKS_H
|
||||
#define __LINUX_USB_QUIRKS_H
|
||||
|
||||
/* string descriptors must not be fetched using a 255-byte read */
|
||||
#define USB_QUIRK_STRING_FETCH_255 0x00000001
|
||||
|
||||
|
|
@ -12,3 +15,5 @@
|
|||
|
||||
/* device can't handle Set-Interface requests */
|
||||
#define USB_QUIRK_NO_SET_INTF 0x00000004
|
||||
|
||||
#endif /* __LINUX_USB_QUIRKS_H */
|
||||
|
|
|
|||
|
|
@ -17,10 +17,8 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __RNDIS_HOST_H
|
||||
#define __RNDIS_HOST_H
|
||||
|
||||
#ifndef __LINUX_USB_RNDIS_HOST_H
|
||||
#define __LINUX_USB_RNDIS_HOST_H
|
||||
|
||||
/*
|
||||
* CONTROL uses CDC "encapsulated commands" with funky notifications.
|
||||
|
|
@ -270,5 +268,4 @@ extern int rndis_rx_fixup(struct usbnet *dev, struct sk_buff *skb);
|
|||
extern struct sk_buff *
|
||||
rndis_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags);
|
||||
|
||||
#endif /* __RNDIS_HOST_H */
|
||||
|
||||
#endif /* __LINUX_USB_RNDIS_HOST_H */
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __LINUX_USB_SERIAL_H
|
||||
#define __LINUX_USB_SERIAL_H
|
||||
|
||||
|
|
@ -146,8 +145,6 @@ struct usb_serial {
|
|||
};
|
||||
#define to_usb_serial(d) container_of(d, struct usb_serial, kref)
|
||||
|
||||
#define NUM_DONT_CARE 99
|
||||
|
||||
/* get and set the serial private data pointer helper functions */
|
||||
static inline void *usb_get_serial_data(struct usb_serial *serial)
|
||||
{
|
||||
|
|
@ -165,18 +162,6 @@ static inline void usb_set_serial_data(struct usb_serial *serial, void *data)
|
|||
* used in the syslog messages when a device is inserted or removed.
|
||||
* @id_table: pointer to a list of usb_device_id structures that define all
|
||||
* of the devices this structure can support.
|
||||
* @num_interrupt_in: If a device doesn't have this many interrupt-in
|
||||
* endpoints, it won't be sent to the driver's attach() method.
|
||||
* (But it might still be sent to the probe() method.)
|
||||
* @num_interrupt_out: If a device doesn't have this many interrupt-out
|
||||
* endpoints, it won't be sent to the driver's attach() method.
|
||||
* (But it might still be sent to the probe() method.)
|
||||
* @num_bulk_in: If a device doesn't have this many bulk-in
|
||||
* endpoints, it won't be sent to the driver's attach() method.
|
||||
* (But it might still be sent to the probe() method.)
|
||||
* @num_bulk_out: If a device doesn't have this many bulk-out
|
||||
* endpoints, it won't be sent to the driver's attach() method.
|
||||
* (But it might still be sent to the probe() method.)
|
||||
* @num_ports: the number of different ports this device will have.
|
||||
* @calc_num_ports: pointer to a function to determine how many ports this
|
||||
* device has dynamically. It will be called after the probe()
|
||||
|
|
@ -212,10 +197,6 @@ static inline void usb_set_serial_data(struct usb_serial *serial, void *data)
|
|||
struct usb_serial_driver {
|
||||
const char *description;
|
||||
const struct usb_device_id *id_table;
|
||||
char num_interrupt_in;
|
||||
char num_interrupt_out;
|
||||
char num_bulk_in;
|
||||
char num_bulk_out;
|
||||
char num_ports;
|
||||
|
||||
struct list_head driver_list;
|
||||
|
|
@ -340,5 +321,5 @@ static inline void usb_serial_debug_data(int debug,
|
|||
|
||||
|
||||
|
||||
#endif /* ifdef __LINUX_USB_SERIAL_H */
|
||||
#endif /* __LINUX_USB_SERIAL_H */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
|
||||
/*
|
||||
* board initialization should put one of these into dev->platform_data
|
||||
* and place the sl811hs onto platform_bus named "sl811-hcd".
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_USB_SL811_H
|
||||
#define __LINUX_USB_SL811_H
|
||||
|
||||
struct sl811_platform_data {
|
||||
unsigned can_wakeup:1;
|
||||
|
||||
|
|
@ -24,3 +26,4 @@ struct sl811_platform_data {
|
|||
/* void (*clock_enable)(struct device *dev, int is_on); */
|
||||
};
|
||||
|
||||
#endif /* __LINUX_USB_SL811_H */
|
||||
|
|
|
|||
|
|
@ -19,10 +19,8 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __USBNET_H
|
||||
#define __USBNET_H
|
||||
|
||||
#ifndef __LINUX_USB_USBNET_H
|
||||
#define __LINUX_USB_USBNET_H
|
||||
|
||||
/* interface from usbnet core to each USB networking link we handle */
|
||||
struct usbnet {
|
||||
|
|
@ -211,4 +209,4 @@ extern int usbnet_nway_reset(struct net_device *net);
|
|||
printk(KERN_INFO "%s: " fmt "\n" , (usbnet)->net->name , ## arg); \
|
||||
|
||||
|
||||
#endif /* __USBNET_H */
|
||||
#endif /* __LINUX_USB_USBNET_H */
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ enum { US_DO_ALL_FLAGS };
|
|||
#define US_SC_LOCKABLE 0x07 /* Password-protected */
|
||||
|
||||
#define US_SC_ISD200 0xf0 /* ISD200 ATA */
|
||||
#define US_SC_CYP_ATACB 0xf1 /* Cypress ATACB */
|
||||
#define US_SC_DEVICE 0xff /* Use device's value */
|
||||
|
||||
/* Protocols */
|
||||
|
|
|
|||
|
|
@ -77,8 +77,11 @@ struct usbdevfs_connectinfo {
|
|||
unsigned char slow;
|
||||
};
|
||||
|
||||
#define USBDEVFS_URB_SHORT_NOT_OK 1
|
||||
#define USBDEVFS_URB_ISO_ASAP 2
|
||||
#define USBDEVFS_URB_SHORT_NOT_OK 0x01
|
||||
#define USBDEVFS_URB_ISO_ASAP 0x02
|
||||
#define USBDEVFS_URB_NO_FSBR 0x20
|
||||
#define USBDEVFS_URB_ZERO_PACKET 0x40
|
||||
#define USBDEVFS_URB_NO_INTERRUPT 0x80
|
||||
|
||||
#define USBDEVFS_URB_TYPE_ISO 0
|
||||
#define USBDEVFS_URB_TYPE_INTERRUPT 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue