diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/devio.c | 6 | ||||
-rw-r--r-- | drivers/usb/core/file.c | 6 | ||||
-rw-r--r-- | drivers/usb/core/hcd.c | 5 | ||||
-rw-r--r-- | drivers/usb/gadget/Makefile | 23 | ||||
-rw-r--r-- | drivers/usb/gadget/cdc2.c | 25 | ||||
-rw-r--r-- | drivers/usb/gadget/ether.c | 28 | ||||
-rw-r--r-- | drivers/usb/gadget/f_ecm.c | 108 | ||||
-rw-r--r-- | drivers/usb/gadget/f_loopback.c | 34 | ||||
-rw-r--r-- | drivers/usb/gadget/f_subset.c | 44 | ||||
-rw-r--r-- | drivers/usb/gadget/file_storage.c | 12 | ||||
-rw-r--r-- | drivers/usb/gadget/gmidi.c | 15 | ||||
-rw-r--r-- | drivers/usb/gadget/printer.c | 18 | ||||
-rw-r--r-- | drivers/usb/gadget/rndis.c | 115 | ||||
-rw-r--r-- | drivers/usb/gadget/serial.c | 18 | ||||
-rw-r--r-- | drivers/usb/gadget/u_ether.c | 4 | ||||
-rw-r--r-- | drivers/usb/gadget/zero.c | 17 | ||||
-rw-r--r-- | drivers/usb/host/uhci-q.c | 24 | ||||
-rw-r--r-- | drivers/usb/misc/phidgetkit.c | 5 | ||||
-rw-r--r-- | drivers/usb/misc/phidgetmotorcontrol.c | 5 | ||||
-rw-r--r-- | drivers/usb/misc/phidgetservo.c | 5 | ||||
-rw-r--r-- | drivers/usb/mon/mon_bin.c | 6 |
21 files changed, 310 insertions, 213 deletions
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 20290c5b156..7a4fa791dc1 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -1729,9 +1729,9 @@ static int usb_classdev_add(struct usb_device *dev) { struct device *cldev; - cldev = device_create_drvdata(usb_classdev_class, &dev->dev, - dev->dev.devt, NULL, "usbdev%d.%d", - dev->bus->busnum, dev->devnum); + cldev = device_create(usb_classdev_class, &dev->dev, dev->dev.devt, + NULL, "usbdev%d.%d", dev->bus->busnum, + dev->devnum); if (IS_ERR(cldev)) return PTR_ERR(cldev); dev->usb_classdev = cldev; diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index 6b1b229e38c..55f7f310924 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c @@ -196,9 +196,9 @@ int usb_register_dev(struct usb_interface *intf, ++temp; else temp = name; - intf->usb_dev = device_create_drvdata(usb_class->class, &intf->dev, - MKDEV(USB_MAJOR, minor), NULL, - "%s", temp); + intf->usb_dev = device_create(usb_class->class, &intf->dev, + MKDEV(USB_MAJOR, minor), NULL, + "%s", temp); if (IS_ERR(intf->usb_dev)) { down_write(&minor_rwsem); usb_minors[intf->minor] = NULL; diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 8ab389dca2b..c8035a8216b 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -818,9 +818,8 @@ static int usb_register_bus(struct usb_bus *bus) set_bit (busnum, busmap.busmap); bus->busnum = busnum; - bus->dev = device_create_drvdata(usb_host_class, bus->controller, - MKDEV(0, 0), bus, - "usb_host%d", busnum); + bus->dev = device_create(usb_host_class, bus->controller, MKDEV(0, 0), + bus, "usb_host%d", busnum); result = PTR_ERR(bus->dev); if (IS_ERR(bus->dev)) goto error_create_class_dev; diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile index fcb5cb9094d..2267fa0b51b 100644 --- a/drivers/usb/gadget/Makefile +++ b/drivers/usb/gadget/Makefile @@ -22,24 +22,15 @@ obj-$(CONFIG_USB_M66592) += m66592-udc.o # # USB gadget drivers # -C_UTILS = composite.o usbstring.o config.o epautoconf.o - -g_zero-objs := zero.o f_sourcesink.o f_loopback.o $(C_UTILS) -g_ether-objs := ether.o u_ether.o f_subset.o f_ecm.o $(C_UTILS) -g_serial-objs := serial.o u_serial.o f_acm.o f_serial.o $(C_UTILS) -g_midi-objs := gmidi.o usbstring.o config.o epautoconf.o +g_zero-objs := zero.o +g_ether-objs := ether.o +g_serial-objs := serial.o +g_midi-objs := gmidi.o gadgetfs-objs := inode.o -g_file_storage-objs := file_storage.o usbstring.o config.o \ - epautoconf.o -g_printer-objs := printer.o usbstring.o config.o \ - epautoconf.o -g_cdc-objs := cdc2.o u_ether.o f_ecm.o \ - u_serial.o f_acm.o $(C_UTILS) +g_file_storage-objs := file_storage.o +g_printer-objs := printer.o +g_cdc-objs := cdc2.o -ifeq ($(CONFIG_USB_ETH_RNDIS),y) - g_ether-objs += f_rndis.o rndis.o -endif - obj-$(CONFIG_USB_ZERO) += g_zero.o obj-$(CONFIG_USB_ETH) += g_ether.o obj-$(CONFIG_USB_GADGETFS) += gadgetfs.o diff --git a/drivers/usb/gadget/cdc2.c b/drivers/usb/gadget/cdc2.c index a39a4b940c3..a724fc14985 100644 --- a/drivers/usb/gadget/cdc2.c +++ b/drivers/usb/gadget/cdc2.c @@ -43,6 +43,25 @@ /*-------------------------------------------------------------------------*/ +/* + * Kbuild is not very cooperative with respect to linking separately + * compiled library objects into one module. So for now we won't use + * separate compilation ... ensuring init/exit sections work to shrink + * the runtime footprint, and giving us at least some parts of what + * a "gcc --combine ... part1.c part2.c part3.c ... " build would. + */ + +#include "composite.c" +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" +#include "u_serial.c" +#include "f_acm.c" +#include "f_ecm.c" +#include "u_ether.c" + +/*-------------------------------------------------------------------------*/ + static struct usb_device_descriptor device_desc = { .bLength = sizeof device_desc, .bDescriptorType = USB_DT_DEVICE, @@ -148,7 +167,8 @@ static int __init cdc_bind(struct usb_composite_dev *cdev) int status; if (!can_support_ecm(cdev->gadget)) { - ERROR(cdev, "controller '%s' not usable\n", gadget->name); + dev_err(&gadget->dev, "controller '%s' not usable\n", + gadget->name); return -EINVAL; } @@ -203,7 +223,8 @@ static int __init cdc_bind(struct usb_composite_dev *cdev) if (status < 0) goto fail1; - INFO(cdev, "%s, version: " DRIVER_VERSION "\n", DRIVER_DESC); + dev_info(&gadget->dev, "%s, version: " DRIVER_VERSION "\n", + DRIVER_DESC); return 0; diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index bcac2e68660..944c8e889ab 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -96,6 +96,28 @@ static inline bool has_rndis(void) /*-------------------------------------------------------------------------*/ +/* + * Kbuild is not very cooperative with respect to linking separately + * compiled library objects into one module. So for now we won't use + * separate compilation ... ensuring init/exit sections work to shrink + * the runtime footprint, and giving us at least some parts of what + * a "gcc --combine ... part1.c part2.c part3.c ... " build would. + */ +#include "composite.c" +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" + +#include "f_ecm.c" +#include "f_subset.c" +#ifdef CONFIG_USB_ETH_RNDIS +#include "f_rndis.c" +#include "rndis.c" +#endif +#include "u_ether.c" + +/*-------------------------------------------------------------------------*/ + /* DO NOT REUSE THESE IDs with a protocol-incompatible driver!! Ever!! * Instead: allocate your own, using normal USB-IF procedures. */ @@ -293,7 +315,8 @@ static int __init eth_bind(struct usb_composite_dev *cdev) * but if the controller isn't recognized at all then * that assumption is a bit more likely to be wrong. */ - WARNING(cdev, "controller '%s' not recognized; trying %s\n", + dev_warn(&gadget->dev, + "controller '%s' not recognized; trying %s\n", gadget->name, eth_config_driver.label); device_desc.bcdDevice = @@ -332,7 +355,8 @@ static int __init eth_bind(struct usb_composite_dev *cdev) if (status < 0) goto fail; - INFO(cdev, "%s, version: " DRIVER_VERSION "\n", DRIVER_DESC); + dev_info(&gadget->dev, "%s, version: " DRIVER_VERSION "\n", + DRIVER_DESC); return 0; diff --git a/drivers/usb/gadget/f_ecm.c b/drivers/usb/gadget/f_ecm.c index a2b5c092bda..4ae579948e5 100644 --- a/drivers/usb/gadget/f_ecm.c +++ b/drivers/usb/gadget/f_ecm.c @@ -83,7 +83,7 @@ static inline struct f_ecm *func_to_ecm(struct usb_function *f) } /* peak (theoretical) bulk transfer rate in bits-per-second */ -static inline unsigned bitrate(struct usb_gadget *g) +static inline unsigned ecm_bitrate(struct usb_gadget *g) { if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH) return 13 * 512 * 8 * 1000 * 8; @@ -107,7 +107,7 @@ static inline unsigned bitrate(struct usb_gadget *g) */ #define LOG2_STATUS_INTERVAL_MSEC 5 /* 1 << 5 == 32 msec */ -#define STATUS_BYTECOUNT 16 /* 8 byte header + data */ +#define ECM_STATUS_BYTECOUNT 16 /* 8 byte header + data */ /* interface descriptor: */ @@ -125,8 +125,8 @@ static struct usb_interface_descriptor ecm_control_intf __initdata = { /* .iInterface = DYNAMIC */ }; -static struct usb_cdc_header_desc header_desc __initdata = { - .bLength = sizeof header_desc, +static struct usb_cdc_header_desc ecm_header_desc __initdata = { + .bLength = sizeof ecm_header_desc, .bDescriptorType = USB_DT_CS_INTERFACE, .bDescriptorSubType = USB_CDC_HEADER_TYPE, @@ -141,8 +141,8 @@ static struct usb_cdc_union_desc ecm_union_desc __initdata = { /* .bSlaveInterface0 = DYNAMIC */ }; -static struct usb_cdc_ether_desc ether_desc __initdata = { - .bLength = sizeof ether_desc, +static struct usb_cdc_ether_desc ecm_desc __initdata = { + .bLength = sizeof ecm_desc, .bDescriptorType = USB_DT_CS_INTERFACE, .bDescriptorSubType = USB_CDC_ETHERNET_TYPE, @@ -186,17 +186,17 @@ static struct usb_interface_descriptor ecm_data_intf __initdata = { /* full speed support: */ -static struct usb_endpoint_descriptor fs_notify_desc __initdata = { +static struct usb_endpoint_descriptor fs_ecm_notify_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_INT, - .wMaxPacketSize = __constant_cpu_to_le16(STATUS_BYTECOUNT), + .wMaxPacketSize = __constant_cpu_to_le16(ECM_STATUS_BYTECOUNT), .bInterval = 1 << LOG2_STATUS_INTERVAL_MSEC, }; -static struct usb_endpoint_descriptor fs_in_desc __initdata = { +static struct usb_endpoint_descriptor fs_ecm_in_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -204,7 +204,7 @@ static struct usb_endpoint_descriptor fs_in_desc __initdata = { .bmAttributes = USB_ENDPOINT_XFER_BULK, }; -static struct usb_endpoint_descriptor fs_out_desc __initdata = { +static struct usb_endpoint_descriptor fs_ecm_out_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -212,34 +212,34 @@ static struct usb_endpoint_descriptor fs_out_desc __initdata = { .bmAttributes = USB_ENDPOINT_XFER_BULK, }; -static struct usb_descriptor_header *eth_fs_function[] __initdata = { +static struct usb_descriptor_header *ecm_fs_function[] __initdata = { /* CDC ECM control descriptors */ (struct usb_descriptor_header *) &ecm_control_intf, - (struct usb_descriptor_header *) &header_desc, + (struct usb_descriptor_header *) &ecm_header_desc, (struct usb_descriptor_header *) &ecm_union_desc, - (struct usb_descriptor_header *) ðer_desc, + (struct usb_descriptor_header *) &ecm_desc, /* NOTE: status endpoint might need to be removed */ - (struct usb_descriptor_header *) &fs_notify_desc, + (struct usb_descriptor_header *) &fs_ecm_notify_desc, /* data interface, altsettings 0 and 1 */ (struct usb_descriptor_header *) &ecm_data_nop_intf, (struct usb_descriptor_header *) &ecm_data_intf, - (struct usb_descriptor_header *) &fs_in_desc, - (struct usb_descriptor_header *) &fs_out_desc, + (struct usb_descriptor_header *) &fs_ecm_in_desc, + (struct usb_descriptor_header *) &fs_ecm_out_desc, NULL, }; /* high speed support: */ -static struct usb_endpoint_descriptor hs_notify_desc __initdata = { +static struct usb_endpoint_descriptor hs_ecm_notify_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_INT, - .wMaxPacketSize = __constant_cpu_to_le16(STATUS_BYTECOUNT), + .wMaxPacketSize = __constant_cpu_to_le16(ECM_STATUS_BYTECOUNT), .bInterval = LOG2_STATUS_INTERVAL_MSEC + 4, }; -static struct usb_endpoint_descriptor hs_in_desc __initdata = { +static struct usb_endpoint_descriptor hs_ecm_in_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -248,7 +248,7 @@ static struct usb_endpoint_descriptor hs_in_desc __initdata = { .wMaxPacketSize = __constant_cpu_to_le16(512), }; -static struct usb_endpoint_descriptor hs_out_desc __initdata = { +static struct usb_endpoint_descriptor hs_ecm_out_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -257,19 +257,19 @@ static struct usb_endpoint_descriptor hs_out_desc __initdata = { .wMaxPacketSize = __constant_cpu_to_le16(512), }; -static struct usb_descriptor_header *eth_hs_function[] __initdata = { +static struct usb_descriptor_header *ecm_hs_function[] __initdata = { /* CDC ECM control descriptors */ (struct usb_descriptor_header *) &ecm_control_intf, - (struct usb_descriptor_header *) &header_desc, + (struct usb_descriptor_header *) &ecm_header_desc, (struct usb_descriptor_header *) &ecm_union_desc, - (struct usb_descriptor_header *) ðer_desc, + (struct usb_descriptor_header *) &ecm_desc, /* NOTE: status endpoint might need to be removed */ - (struct usb_descriptor_header *) &hs_notify_desc, + (struct usb_descriptor_header *) &hs_ecm_notify_desc, /* data interface, altsettings 0 and 1 */ (struct usb_descriptor_header *) &ecm_data_nop_intf, (struct usb_descriptor_header *) &ecm_data_intf, - (struct usb_descriptor_header *) &hs_in_desc, - (struct usb_descriptor_header *) &hs_out_desc, + (struct usb_descriptor_header *) &hs_ecm_in_desc, + (struct usb_descriptor_header *) &hs_ecm_out_desc, NULL, }; @@ -329,14 +329,14 @@ static void ecm_do_notify(struct f_ecm *ecm) event->bNotificationType = USB_CDC_NOTIFY_SPEED_CHANGE; event->wValue = cpu_to_le16(0); event->wLength = cpu_to_le16(8); - req->length = STATUS_BYTECOUNT; + req->length = ECM_STATUS_BYTECOUNT; /* SPEED_CHANGE data is up/down speeds in bits/sec */ data = req->buf + sizeof *event; - data[0] = cpu_to_le32(bitrate(cdev->gadget)); + data[0] = cpu_to_le32(ecm_bitrate(cdev->gadget)); data[1] = data[0]; - DBG(cdev, "notify speed %d\n", bitrate(cdev->gadget)); + DBG(cdev, "notify speed %d\n", ecm_bitrate(cdev->gadget)); ecm->notify_state = ECM_NOTIFY_NONE; break; } @@ -628,13 +628,13 @@ ecm_bind(struct usb_configuration *c, struct usb_function *f) status = -ENODEV; /* allocate instance-specific endpoints */ - ep = usb_ep_autoconfig(cdev->gadget, &fs_in_desc); + ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_in_desc); if (!ep) goto fail; ecm->port.in_ep = ep; ep->driver_data = cdev; /* claim */ - ep = usb_ep_autoconfig(cdev->gadget, &fs_out_desc); + ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_out_desc); if (!ep) goto fail; ecm->port.out_ep = ep; @@ -644,7 +644,7 @@ ecm_bind(struct usb_configuration *c, struct usb_function *f) * don't treat it that way. It's simpler, and some newer CDC * profiles (wireless handsets) no longer treat it as optional. */ - ep = usb_ep_autoconfig(cdev->gadget, &fs_notify_desc); + ep = usb_ep_autoconfig(cdev->gadget, &fs_ecm_notify_desc); if (!ep) goto fail; ecm->notify = ep; @@ -656,47 +656,47 @@ ecm_bind(struct usb_configuration *c, struct usb_function *f) ecm->notify_req = usb_ep_alloc_request(ep, GFP_KERNEL); if (!ecm->notify_req) goto fail; - ecm->notify_req->buf = kmalloc(STATUS_BYTECOUNT, GFP_KERNEL); + ecm->notify_req->buf = kmalloc(ECM_STATUS_BYTECOUNT, GFP_KERNEL); if (!ecm->notify_req->buf) goto fail; ecm->notify_req->context = ecm; ecm->notify_req->complete = ecm_notify_complete; /* copy descriptors, and track endpoint copies */ - f->descriptors = usb_copy_descriptors(eth_fs_function); + f->descriptors = usb_copy_descriptors(ecm_fs_function); if (!f->descriptors) goto fail; - ecm->fs.in = usb_find_endpoint(eth_fs_function, - f->descriptors, &fs_in_desc); - ecm->fs.out = usb_find_endpoint(eth_fs_function, - f->descriptors, &fs_out_desc); - ecm->fs.notify = usb_find_endpoint(eth_fs_function, - f->descriptors, &fs_notify_desc); + ecm->fs.in = usb_find_endpoint(ecm_fs_function, + f->descriptors, &fs_ecm_in_desc); + ecm->fs.out = usb_find_endpoint(ecm_fs_function, + f->descriptors, &fs_ecm_out_desc); + ecm->fs.notify = usb_find_endpoint(ecm_fs_function, + f->descriptors, &fs_ecm_notify_desc); /* support all relevant hardware speeds... we expect that when * hardware is dual speed, all bulk-capable endpoints work at * both speeds */ if (gadget_is_dualspeed(c->cdev->gadget)) { - hs_in_desc.bEndpointAddress = - fs_in_desc.bEndpointAddress; - hs_out_desc.bEndpointAddress = - fs_out_desc.bEndpointAddress; - hs_notify_desc.bEndpointAddress = - fs_notify_desc.bEndpointAddress; + hs_ecm_in_desc.bEndpointAddress = + fs_ecm_in_desc.bEndpointAddress; + hs_ecm_out_desc.bEndpointAddress = + fs_ecm_out_desc.bEndpointAddress; + hs_ecm_notify_desc.bEndpointAddress = + fs_ecm_notify_desc.bEndpointAddress; /* copy descriptors, and track endpoint copies */ - f->hs_descriptors = usb_copy_descriptors(eth_hs_function); + f->hs_descriptors = usb_copy_descriptors(ecm_hs_function); if (!f->hs_descriptors) goto fail; - ecm->hs.in = usb_find_endpoint(eth_hs_function, - f->hs_descriptors, &hs_in_desc); - ecm->hs.out = usb_find_endpoint(eth_hs_function, - f->hs_descriptors, &hs_out_desc); - ecm->hs.notify = usb_find_endpoint(eth_hs_function, - f->hs_descriptors, &hs_notify_desc); + ecm->hs.in = usb_find_endpoint(ecm_hs_function, + f->hs_descriptors, &hs_ecm_in_desc); + ecm->hs.out = usb_find_endpoint(ecm_hs_function, + f->hs_descriptors, &hs_ecm_out_desc); + ecm->hs.notify = usb_find_endpoint(ecm_hs_function, + f->hs_descriptors, &hs_ecm_notify_desc); } /* NOTE: all that is done without knowing or caring about @@ -795,7 +795,7 @@ int __init ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]) if (status < 0) return status; ecm_string_defs[1].id = status; - ether_desc.iMACAddress = status; + ecm_desc.iMACAddress = status; } /* allocate and initialize one new instance */ diff --git a/drivers/usb/gadget/f_loopback.c b/drivers/usb/gadget/f_loopback.c index eda4cde72c8..87dde012dac 100644 --- a/drivers/usb/gadget/f_loopback.c +++ b/drivers/usb/gadget/f_loopback.c @@ -70,7 +70,7 @@ static struct usb_interface_descriptor loopback_intf = { /* full speed support: */ -static struct usb_endpoint_descriptor fs_source_desc = { +static struct usb_endpoint_descriptor fs_loop_source_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -78,7 +78,7 @@ static struct usb_endpoint_descriptor fs_source_desc = { .bmAttributes = USB_ENDPOINT_XFER_BULK, }; -static struct usb_endpoint_descriptor fs_sink_desc = { +static struct usb_endpoint_descriptor fs_loop_sink_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -88,14 +88,14 @@ static struct usb_endpoint_descriptor fs_sink_desc = { static struct usb_descriptor_header *fs_loopback_descs[] = { (struct usb_descriptor_header *) &loopback_intf, - (struct usb_descriptor_header *) &fs_sink_desc, - (struct usb_descriptor_header *) &fs_source_desc, + (struct usb_descriptor_header *) &fs_loop_sink_desc, + (struct usb_descriptor_header *) &fs_loop_source_desc, NULL, }; /* high speed support: */ -static struct usb_endpoint_descriptor hs_source_desc = { +static struct usb_endpoint_descriptor hs_loop_source_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -103,7 +103,7 @@ static struct usb_endpoint_descriptor hs_source_desc = { .wMaxPacketSize = __constant_cpu_to_le16(512), }; -static struct usb_endpoint_descriptor hs_sink_desc = { +static struct usb_endpoint_descriptor hs_loop_sink_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -113,8 +113,8 @@ static struct usb_endpoint_descriptor hs_sink_desc = { static struct usb_descriptor_header *hs_loopback_descs[] = { (struct usb_descriptor_header *) &loopback_intf, - (struct usb_descriptor_header *) &hs_source_desc, - (struct usb_descriptor_header *) &hs_sink_desc, + (struct usb_descriptor_header *) &hs_loop_source_desc, + (struct usb_descriptor_header *) &hs_loop_sink_desc, NULL, }; @@ -152,7 +152,7 @@ loopback_bind(struct usb_configuration *c, struct usb_function *f) /* allocate endpoints */ - loop->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_source_desc); + loop->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_source_desc); if (!loop->in_ep) { autoconf_fail: ERROR(cdev, "%s: can't autoconfigure on %s\n", @@ -161,17 +161,17 @@ autoconf_fail: } loop->in_ep->driver_data = cdev; /* claim */ - loop->out_ep = usb_ep_autoconfig(cdev->gadget, &fs_sink_desc); + loop->out_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_sink_desc); if (!loop->out_ep) goto autoconf_fail; loop->out_ep->driver_data = cdev; /* claim */ /* support high speed hardware */ if (gadget_is_dualspeed(c->cdev->gadget)) { - hs_source_desc.bEndpointAddress = - fs_source_desc.bEndpointAddress; - hs_sink_desc.bEndpointAddress = - fs_sink_desc.bEndpointAddress; + hs_loop_source_desc.bEndpointAddress = + fs_loop_source_desc.bEndpointAddress; + hs_loop_sink_desc.bEndpointAddress = + fs_loop_sink_desc.bEndpointAddress; f->hs_descriptors = hs_loopback_descs; } @@ -255,8 +255,10 @@ enable_loopback(struct usb_composite_dev *cdev, struct f_loopback *loop) struct usb_request *req; unsigned i; - src = ep_choose(cdev->gadget, &hs_source_desc, &fs_source_desc); - sink = ep_choose(cdev->gadget, &hs_sink_desc, &fs_sink_desc); + src = ep_choose(cdev->gadget, + &hs_loop_source_desc, &fs_loop_source_desc); + sink = ep_choose(cdev->gadget, + &hs_loop_sink_desc, &fs_loop_sink_desc); /* one endpoint writes data back IN to the host */ ep = loop->in_ep; diff --git a/drivers/usb/gadget/f_subset.c b/drivers/usb/gadget/f_subset.c index acb8d233aa1..fe183287577 100644 --- a/drivers/usb/gadget/f_subset.c +++ b/drivers/usb/gadget/f_subset.c @@ -103,8 +103,8 @@ static struct usb_interface_descriptor subset_data_intf __initdata = { /* .iInterface = DYNAMIC */ }; -static struct usb_cdc_header_desc header_desc __initdata = { - .bLength = sizeof header_desc, +static struct usb_cdc_header_desc mdlm_header_desc __initdata = { + .bLength = sizeof mdlm_header_desc, .bDescriptorType = USB_DT_CS_INTERFACE, .bDescriptorSubType = USB_CDC_HEADER_TYPE, @@ -152,7 +152,7 @@ static struct usb_cdc_ether_desc ether_desc __initdata = { /* full speed support: */ -static struct usb_endpoint_descriptor fs_in_desc __initdata = { +static struct usb_endpoint_descriptor fs_subset_in_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -160,7 +160,7 @@ static struct usb_endpoint_descriptor fs_in_desc __initdata = { .bmAttributes = USB_ENDPOINT_XFER_BULK, }; -static struct usb_endpoint_descriptor fs_out_desc __initdata = { +static struct usb_endpoint_descriptor fs_subset_out_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -170,18 +170,18 @@ static struct usb_endpoint_descriptor fs_out_desc __initdata = { static struct usb_descriptor_header *fs_eth_function[] __initdata = { (struct usb_descriptor_header *) &subset_data_intf, - (struct usb_descriptor_header *) &header_desc, + (struct usb_descriptor_header *) &mdlm_header_desc, (struct usb_descriptor_header *) &mdlm_desc, (struct usb_descriptor_header *) &mdlm_detail_desc, (struct usb_descriptor_header *) ðer_desc, - (struct usb_descriptor_header *) &fs_in_desc, - (struct usb_descriptor_header *) &fs_out_desc, + (struct usb_descriptor_header *) &fs_subset_in_desc, + (struct usb_descriptor_header *) &fs_subset_out_desc, NULL, }; /* high speed support: */ -static struct usb_endpoint_descriptor hs_in_desc __initdata = { +static struct usb_endpoint_descriptor hs_subset_in_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -189,7 +189,7 @@ static struct usb_endpoint_descriptor hs_in_desc __initdata = { .wMaxPacketSize = __constant_cpu_to_le16(512), }; -static struct usb_endpoint_descriptor hs_out_desc __initdata = { +static struct usb_endpoint_descriptor hs_subset_out_desc __initdata = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, @@ -199,12 +199,12 @@ static struct usb_endpoint_descriptor hs_out_desc __initdata = { static struct usb_descriptor_header *hs_eth_function[] __initdata = { (struct usb_descriptor_header *) &subset_data_intf, - (struct usb_descriptor_header *) &header_desc, + (struct usb_descriptor_header *) &mdlm_header_desc, (struct usb_descriptor_header *) &mdlm_desc, (struct usb_descriptor_header *) &mdlm_detail_desc, (struct usb_descriptor_header *) ðer_desc, - (struct usb_descriptor_header *) &hs_in_desc, - (struct usb_descriptor_header *) &hs_out_desc, + (struct usb_descriptor_header *) &hs_subset_in_desc, + (struct usb_descriptor_header *) &hs_subset_out_desc, NULL, }; @@ -281,13 +281,13 @@ geth_bind(struct usb_configuration *c, struct usb_function *f) status = -ENODEV; /* allocate instance-specific endpoints */ - ep = usb_ep_autoconfig(cdev->gadget, &fs_in_desc); + ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_in_desc); if (!ep) goto fail; geth->port.in_ep = ep; ep->driver_data = cdev; /* claim */ - ep = usb_ep_autoconfig(cdev->gadget, &fs_out_desc); + ep = usb_ep_autoconfig(cdev->gadget, &fs_subset_out_desc); if (!ep) goto fail; geth->port.out_ep = ep; @@ -297,9 +297,9 @@ geth_bind(struct usb_configuration *c, struct usb_function *f) f->descriptors = usb_copy_descriptors(fs_eth_function); geth->fs.in = usb_find_endpoint(fs_eth_function, - f->descriptors, &fs_in_desc); + f->descriptors, &fs_subset_in_desc); geth->fs.out = usb_find_endpoint(fs_eth_function, - f->descriptors, &fs_out_desc); + f->descriptors, &fs_subset_out_desc); /* support all relevant hardware speeds... we expect that when @@ -307,18 +307,18 @@ geth_bind(struct usb_configuration *c, struct usb_function *f) * both speeds */ if (gadget_is_dualspeed(c->cdev->gadget)) { - hs_in_desc.bEndpointAddress = - fs_in_desc.bEndpointAddress; - hs_out_desc.bEndpointAddress = - fs_out_desc.bEndpointAddress; + hs_subset_in_desc.bEndpointAddress = + fs_subset_in_desc.bEndpointAddress; + hs_subset_out_desc.bEndpointAddress = + fs_subset_out_desc.bEndpointAddress; /* copy descriptors, and track endpoint copies */ f->hs_descriptors = usb_copy_descriptors(hs_eth_function); geth->hs.in = usb_find_endpoint(hs_eth_function, - f->hs_descriptors, &hs_in_desc); + f->hs_descriptors, &hs_subset_in_desc); geth->hs.out = usb_find_endpoint(hs_eth_function, - f->hs_descriptors, &hs_out_desc); + f->hs_descriptors, &hs_subset_out_desc); } /* NOTE: all that is done without knowing or caring about diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c index ea2c31d1808..0c632d22a63 100644 --- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c @@ -245,6 +245,18 @@ #include "gadget_chips.h" + +/* + * Kbuild is not very cooperative with respect to linking separately + * compiled library objects into one module. So for now we won't use + * separate compilation ... ensuring init/exit sections work to shrink + * the runtime footprint, and giving us at least some parts of what + * a "gcc --combine ... part1.c part2.c part3.c ... " build would. + */ +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" + /*-------------------------------------------------------------------------*/ #define DRIVER_DESC "File-backed Storage Gadget" diff --git a/drivers/usb/gadget/gmidi.c b/drivers/usb/gadget/gmidi.c index ea8651e3da1..6eee760410d 100644 --- a/drivers/usb/gadget/gmidi.c +++ b/drivers/usb/gadget/gmidi.c @@ -35,6 +35,21 @@ #include "gadget_chips.h" + +/* + * Kbuild is not very cooperative with respect to linking separately + * compiled library objects into one module. So for now we won't use + * separate compilation ... ensuring init/exit sections work to shrink + * the runtime footprint, and giving us at least some parts of what + * a "gcc --combine ... part1.c part2.c part3.c ... " build would. + */ +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" + +/*-------------------------------------------------------------------------*/ + + MODULE_AUTHOR("Ben Williamson"); MODULE_LICENSE("GPL v2"); diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c index e0090085b78..2b3b9e1dd2e 100644 --- a/drivers/usb/gadget/printer.c +++ b/drivers/usb/gadget/printer.c @@ -53,6 +53,20 @@ #include "gadget_chips.h" + +/* + * Kbuild is not very cooperative with respect to linking separately + * compiled library objects into one module. So for now we won't use + * separate compilation ... ensuring init/exit sections work to shrink + * the runtime footprint, and giving us at least some parts of what + * a "gcc --combine ... part1.c part2.c part3.c ... " build would. + */ +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" + +/*-------------------------------------------------------------------------*/ + #define DRIVER_DESC "Printer Gadget" #define DRIVER_VERSION "2007 OCT 06" @@ -1360,8 +1374,8 @@ printer_bind(struct usb_gadget *gadget) /* Setup the sysfs files for the printer gadget. */ - dev->pdev = device_create_drvdata(usb_gadget_class, NULL, - g_printer_devno, NULL, "g_printer"); + dev->pdev = device_create(usb_gadget_class, NULL, g_printer_devno, + NULL, "g_printer"); if (IS_ERR(dev->pdev)) { ERROR(dev, "Failed to create device: g_printer\n"); goto fail; diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c index 7228e856223..8c26f5ea2b8 100644 --- a/drivers/usb/gadget/rndis.c +++ b/drivers/usb/gadget/rndis.c @@ -57,11 +57,6 @@ MODULE_PARM_DESC (rndis_debug, "enable debugging"); #define rndis_debug 0 #endif -#define DBG(str,args...) do { \ - if (rndis_debug) \ - pr_debug(str , ## args); \ - } while (0) - #define RNDIS_MAX_CONFIGS 1 @@ -183,9 +178,9 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len, if (!resp) return -ENOMEM; if (buf_len && rndis_debug > 1) { - DBG("query OID %08x value, len %d:\n", OID, buf_len); + pr_debug("query OID %08x value, len %d:\n", OID, buf_len); for (i = 0; i < buf_len; i += 16) { - DBG("%03d: %08x %08x %08x %08x\n", i, + pr_debug("%03d: %08x %08x %08x %08x\n", i, get_unaligned_le32(&buf[i]), get_unaligned_le32(&buf[i + 4]), get_unaligned_le32(&buf[i + 8]), @@ -209,7 +204,7 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len, /* mandatory */ case OID_GEN_SUPPORTED_LIST: - DBG("%s: OID_GEN_SUPPORTED_LIST\n", __func__); + pr_debug("%s: OID_GEN_SUPPORTED_LIST\n", __func__); length = sizeof (oid_supported_list); count = length / sizeof (u32); for (i = 0; i < count; i++) @@ -219,7 +214,7 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len, /* mandatory */ case OID_GEN_HARDWARE_STATUS: - DBG("%s: OID_GEN_HARDWARE_STATUS\n", __func__); + pr_debug("%s: OID_GEN_HARDWARE_STATUS\n", __func__); /* Bogus question! * Hardware must be r |