usb: Upgrade to Linux-3.9.0-rc8 stack

This commit is contained in:
Sebastian Sumpf 2013-04-23 16:03:55 +02:00 committed by Norman Feske
parent 529e791d66
commit 5c78ef20a2
12 changed files with 214 additions and 181 deletions

View File

@ -9,9 +9,9 @@ VERBOSE ?= @
ECHO = @echo ECHO = @echo
PATCHES := $(shell find patches -name \*.patch) PATCHES := $(shell find patches -name \*.patch)
LINUX = linux-3.8.6 LINUX = linux-3.9-rc8
LINUX_TBZ2 = $(LINUX).tar.bz2 LINUX_TBZ2 = $(LINUX).tar.bz2
LINUX_URL = http://www.kernel.org/pub/linux/kernel/v3.x/$(LINUX_TBZ2) LINUX_URL = http://www.kernel.org/pub/linux/kernel/v3.x/testing/$(LINUX_TBZ2)
# Linux utilities # Linux utilities
CONTENT += include/linux/list.h CONTENT += include/linux/list.h
@ -30,8 +30,8 @@ CONTENT += include/uapi/asm-generic/ioctl.h
# USB core # USB core
CONTENT_CORE = buffer.c config.c devices.c driver.c endpoint.c file.c generic.c \ CONTENT_CORE = buffer.c config.c devices.c driver.c endpoint.c file.c generic.c \
hcd.c hcd-pci.c hub.c message.c notify.c quirks.c urb.c \ hcd.c hcd-pci.c hub.h hub.c message.c notify.c quirks.c port.c \
usb.c usb.h urb.c usb.c usb.h
CONTENT += $(addprefix drivers/usb/core/,$(CONTENT_CORE)) CONTENT += $(addprefix drivers/usb/core/,$(CONTENT_CORE))
CONTENT += drivers/usb/usb-common.c CONTENT += drivers/usb/usb-common.c
CONTENT_INCLUDE_USB := ehci_def.h hcd.h input.h otg.h quirks.h storage.h CONTENT_INCLUDE_USB := ehci_def.h hcd.h input.h otg.h quirks.h storage.h
@ -78,8 +78,10 @@ CONTENT_NET += asix_devices.c asix_common.c ax88172a.c asix.h
CONTENT += $(addprefix drivers/net/usb/,$(CONTENT_NET)) CONTENT += $(addprefix drivers/net/usb/,$(CONTENT_NET))
CONTENT += include/linux/usb/usbnet.h include/linux/netdev_features.h CONTENT += include/linux/usb/usbnet.h include/linux/netdev_features.h
# OMAP
CONTENT += include/linux/platform_data/usb-omap.h
# Arndale # Arndale
CONTENT_ARNDALE = ehci.h usb-phy.h
CONTENT += arch/arm/plat-samsung/include/plat/usb-phy.h CONTENT += arch/arm/plat-samsung/include/plat/usb-phy.h
CONTENT += include/linux/platform_data/usb-ehci-s5p.h CONTENT += include/linux/platform_data/usb-ehci-s5p.h

View File

@ -87,7 +87,6 @@ $(SRC_C:.c=.o) $(SRC_CC:.cc=.o): $(GEN_INCLUDES)
# Add suffix, since there are two hid-core.c with the same module init function # Add suffix, since there are two hid-core.c with the same module init function
# #
hid/hid-core.o: MOD_SUFFIX="_core" hid/hid-core.o: MOD_SUFFIX="_core"
hid/hid-generic.o: MOD_SUFFIX="_generic"
$(GEN_INCLUDES): $(GEN_INCLUDES):
$(VERBOSE)mkdir -p $(dir $@) $(VERBOSE)mkdir -p $(dir $@)

View File

@ -1,7 +1,7 @@
diff -r c094ecb374e9 drivers/net/usb/smsc95xx.c diff -r d30e545c9a57 drivers/net/usb/smsc95xx.c
--- a/drivers/net/usb/smsc95xx.c Thu Apr 11 15:47:15 2013 +0200 --- a/drivers/net/usb/smsc95xx.c Mon Apr 22 16:19:09 2013 +0200
+++ b/drivers/net/usb/smsc95xx.c Thu Apr 11 15:52:01 2013 +0200 +++ b/drivers/net/usb/smsc95xx.c Mon Apr 22 16:19:46 2013 +0200
@@ -1747,7 +1747,13 @@ @@ -1714,7 +1714,13 @@
static void smsc95xx_rx_csum_offload(struct sk_buff *skb) static void smsc95xx_rx_csum_offload(struct sk_buff *skb)
{ {

View File

@ -1,6 +1,6 @@
diff -r 3e2b660685e7 drivers/input/evdev.c diff -r 2949c3919d29 drivers/input/evdev.c
--- a/drivers/input/evdev.c Wed Apr 17 11:36:09 2013 +0200 --- a/drivers/input/evdev.c Mon Apr 22 16:19:56 2013 +0200
+++ b/drivers/input/evdev.c Wed Apr 17 11:36:46 2013 +0200 +++ b/drivers/input/evdev.c Mon Apr 22 16:20:32 2013 +0200
@@ -1008,6 +1008,9 @@ @@ -1008,6 +1008,9 @@
if (error) if (error)
goto err_cleanup_evdev; goto err_cleanup_evdev;

View File

@ -1,6 +1,6 @@
diff -r 7c6a35bba203 drivers/hid/usbhid/hid-core.c diff -r d22e0f3e9541 drivers/hid/usbhid/hid-core.c
--- a/drivers/hid/usbhid/hid-core.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/hid/usbhid/hid-core.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/hid/usbhid/hid-core.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/hid/usbhid/hid-core.c Mon Apr 22 16:22:55 2013 +0200
@@ -895,7 +895,7 @@ @@ -895,7 +895,7 @@
&usbhid->inbuf_dma); &usbhid->inbuf_dma);
usbhid->outbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL, usbhid->outbuf = usb_alloc_coherent(dev, usbhid->bufsize, GFP_KERNEL,
@ -19,13 +19,9 @@ diff -r 7c6a35bba203 drivers/hid/usbhid/hid-core.c
dbg_hid("couldn't allocate rdesc memory\n"); dbg_hid("couldn't allocate rdesc memory\n");
return -ENOMEM; return -ENOMEM;
} }
diff -r 7c6a35bba203 drivers/net/usb/.smsc95xx.c.swp diff -r d22e0f3e9541 drivers/net/usb/usbnet.c
Binary file drivers/net/usb/.smsc95xx.c.swp has changed --- a/drivers/net/usb/usbnet.c Mon Apr 22 16:20:42 2013 +0200
diff -r 7c6a35bba203 drivers/net/usb/.usbnet.c.swp +++ b/drivers/net/usb/usbnet.c Mon Apr 22 16:22:55 2013 +0200
Binary file drivers/net/usb/.usbnet.c.swp has changed
diff -r 7c6a35bba203 drivers/net/usb/usbnet.c
--- a/drivers/net/usb/usbnet.c Thu Apr 18 14:21:39 2013 +0200
+++ b/drivers/net/usb/usbnet.c Fri Apr 19 14:53:15 2013 +0200
@@ -234,7 +234,7 @@ @@ -234,7 +234,7 @@
period = max ((int) dev->status->desc.bInterval, period = max ((int) dev->status->desc.bInterval,
(dev->udev->speed == USB_SPEED_HIGH) ? 7 : 3); (dev->udev->speed == USB_SPEED_HIGH) ? 7 : 3);
@ -86,12 +82,12 @@ diff -r 7c6a35bba203 drivers/net/usb/usbnet.c
- req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_ATOMIC); - req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_ATOMIC);
+ req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_NOIO); + req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_NOIO);
if (!req) { if (!req)
netdev_err(dev->net, "Failed to allocate memory for %s\n", goto fail_free_buf;
__func__);
diff -r 7c6a35bba203 drivers/usb/core/config.c diff -r d22e0f3e9541 drivers/usb/core/config.c
--- a/drivers/usb/core/config.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/core/config.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/core/config.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/core/config.c Mon Apr 22 16:22:55 2013 +0200
@@ -689,7 +689,7 @@ @@ -689,7 +689,7 @@
if (!dev->rawdescriptors) if (!dev->rawdescriptors)
goto err2; goto err2;
@ -110,10 +106,10 @@ diff -r 7c6a35bba203 drivers/usb/core/config.c
if (!bigbuffer) { if (!bigbuffer) {
result = -ENOMEM; result = -ENOMEM;
goto err; goto err;
diff -r 7c6a35bba203 drivers/usb/core/devices.c diff -r d22e0f3e9541 drivers/usb/core/devices.c
--- a/drivers/usb/core/devices.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/core/devices.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/core/devices.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/core/devices.c Mon Apr 22 16:22:55 2013 +0200
@@ -506,7 +506,7 @@ @@ -513,7 +513,7 @@
return 0; return 0;
/* allocate 2^1 pages = 8K (on i386); /* allocate 2^1 pages = 8K (on i386);
* should be more than enough for one device */ * should be more than enough for one device */
@ -122,10 +118,10 @@ diff -r 7c6a35bba203 drivers/usb/core/devices.c
if (!pages_start) if (!pages_start)
return -ENOMEM; return -ENOMEM;
diff -r 7c6a35bba203 drivers/usb/core/hub.c diff -r d22e0f3e9541 drivers/usb/core/hub.c
--- a/drivers/usb/core/hub.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/core/hub.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/core/hub.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/core/hub.c Mon Apr 22 16:22:55 2013 +0200
@@ -1077,7 +1077,7 @@ @@ -1049,7 +1049,7 @@
hcd = bus_to_hcd(hdev->bus); hcd = bus_to_hcd(hdev->bus);
if (hcd->driver->update_hub_device) { if (hcd->driver->update_hub_device) {
ret = hcd->driver->update_hub_device(hcd, hdev, ret = hcd->driver->update_hub_device(hcd, hdev,
@ -134,7 +130,7 @@ diff -r 7c6a35bba203 drivers/usb/core/hub.c
if (ret < 0) { if (ret < 0) {
dev_err(hub->intfdev, "Host not " dev_err(hub->intfdev, "Host not "
"accepting hub info " "accepting hub info "
@@ -1217,7 +1217,7 @@ @@ -1195,7 +1195,7 @@
init3: init3:
hub->quiescing = 0; hub->quiescing = 0;
@ -143,9 +139,9 @@ diff -r 7c6a35bba203 drivers/usb/core/hub.c
if (status < 0) if (status < 0)
dev_err(hub->intfdev, "activate --> %d\n", status); dev_err(hub->intfdev, "activate --> %d\n", status);
if (hub->has_indicators && blinkenlights) if (hub->has_indicators && blinkenlights)
@@ -1352,20 +1352,20 @@ @@ -1286,20 +1286,20 @@
int maxp, ret, i; unsigned unit_load;
char *message = "out of memory"; unsigned full_load;
- hub->buffer = kmalloc(sizeof(*hub->buffer), GFP_KERNEL); - hub->buffer = kmalloc(sizeof(*hub->buffer), GFP_KERNEL);
+ hub->buffer = kmalloc(sizeof(*hub->buffer), GFP_NOIO); + hub->buffer = kmalloc(sizeof(*hub->buffer), GFP_NOIO);
@ -167,7 +163,7 @@ diff -r 7c6a35bba203 drivers/usb/core/hub.c
if (!hub->descriptor) { if (!hub->descriptor) {
ret = -ENOMEM; ret = -ENOMEM;
goto fail; goto fail;
@@ -3437,9 +3437,9 @@ @@ -3444,9 +3444,9 @@
/* /*
* usb_enable_lpm() can be called as part of a failed device reset, * usb_enable_lpm() can be called as part of a failed device reset,
* which may be initiated by an error path of a mass storage driver. * which may be initiated by an error path of a mass storage driver.
@ -179,7 +175,7 @@ diff -r 7c6a35bba203 drivers/usb/core/hub.c
if (!sel_values) if (!sel_values)
return -ENOMEM; return -ENOMEM;
@@ -4921,7 +4921,7 @@ @@ -4942,7 +4942,7 @@
len = max(len, old_length); len = max(len, old_length);
} }
@ -188,9 +184,9 @@ diff -r 7c6a35bba203 drivers/usb/core/hub.c
if (buf == NULL) { if (buf == NULL) {
dev_err(&udev->dev, "no mem to re-read configs after reset\n"); dev_err(&udev->dev, "no mem to re-read configs after reset\n");
/* assume the worst */ /* assume the worst */
diff -r 7c6a35bba203 drivers/usb/core/message.c diff -r d22e0f3e9541 drivers/usb/core/message.c
--- a/drivers/usb/core/message.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/core/message.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/core/message.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/core/message.c Mon Apr 22 16:22:55 2013 +0200
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
init_completion(&ctx.done); init_completion(&ctx.done);
urb->context = &ctx; urb->context = &ctx;
@ -250,9 +246,9 @@ diff -r 7c6a35bba203 drivers/usb/core/message.c
if (!new_interfaces[n]) { if (!new_interfaces[n]) {
dev_err(&dev->dev, "Out of memory\n"); dev_err(&dev->dev, "Out of memory\n");
ret = -ENOMEM; ret = -ENOMEM;
diff -r 7c6a35bba203 drivers/usb/storage/alauda.c diff -r d22e0f3e9541 drivers/usb/storage/alauda.c
--- a/drivers/usb/storage/alauda.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/alauda.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/alauda.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/alauda.c Mon Apr 22 16:22:55 2013 +0200
@@ -448,8 +448,8 @@ @@ -448,8 +448,8 @@
num_zones = MEDIA_INFO(us).capacity >> (MEDIA_INFO(us).zoneshift num_zones = MEDIA_INFO(us).capacity >> (MEDIA_INFO(us).zoneshift
@ -311,9 +307,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/alauda.c
if (!us->extra) { if (!us->extra) {
US_DEBUGP("init_alauda: Gah! Can't allocate storage for" US_DEBUGP("init_alauda: Gah! Can't allocate storage for"
"alauda info struct!\n"); "alauda info struct!\n");
diff -r 7c6a35bba203 drivers/usb/storage/datafab.c diff -r d22e0f3e9541 drivers/usb/storage/datafab.c
--- a/drivers/usb/storage/datafab.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/datafab.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/datafab.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/datafab.c Mon Apr 22 16:22:55 2013 +0200
@@ -174,7 +174,7 @@ @@ -174,7 +174,7 @@
// bounce buffer and the actual transfer buffer. // bounce buffer and the actual transfer buffer.
@ -359,9 +355,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/datafab.c
if (!us->extra) { if (!us->extra) {
US_DEBUGP("datafab_transport: Gah! " US_DEBUGP("datafab_transport: Gah! "
"Can't allocate storage for Datafab info struct!\n"); "Can't allocate storage for Datafab info struct!\n");
diff -r 7c6a35bba203 drivers/usb/storage/jumpshot.c diff -r d22e0f3e9541 drivers/usb/storage/jumpshot.c
--- a/drivers/usb/storage/jumpshot.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/jumpshot.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/jumpshot.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/jumpshot.c Mon Apr 22 16:22:55 2013 +0200
@@ -188,7 +188,7 @@ @@ -188,7 +188,7 @@
// bounce buffer and the actual transfer buffer. // bounce buffer and the actual transfer buffer.
@ -398,9 +394,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/jumpshot.c
if (!us->extra) { if (!us->extra) {
US_DEBUGP("jumpshot_transport: Gah! Can't allocate storage for jumpshot info struct!\n"); US_DEBUGP("jumpshot_transport: Gah! Can't allocate storage for jumpshot info struct!\n");
return USB_STOR_TRANSPORT_ERROR; return USB_STOR_TRANSPORT_ERROR;
diff -r 7c6a35bba203 drivers/usb/storage/karma.c diff -r d22e0f3e9541 drivers/usb/storage/karma.c
--- a/drivers/usb/storage/karma.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/karma.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/karma.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/karma.c Mon Apr 22 16:22:55 2013 +0200
@@ -182,11 +182,11 @@ @@ -182,11 +182,11 @@
static int rio_karma_init(struct us_data *us) static int rio_karma_init(struct us_data *us)
{ {
@ -415,9 +411,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/karma.c
if (!data->recv) { if (!data->recv) {
kfree(data); kfree(data);
goto out; goto out;
diff -r 7c6a35bba203 drivers/usb/storage/onetouch.c diff -r d22e0f3e9541 drivers/usb/storage/onetouch.c
--- a/drivers/usb/storage/onetouch.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/onetouch.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/onetouch.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/onetouch.c Mon Apr 22 16:22:55 2013 +0200
@@ -163,7 +163,7 @@ @@ -163,7 +163,7 @@
usb_kill_urb(onetouch->irq); usb_kill_urb(onetouch->irq);
break; break;
@ -427,9 +423,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/onetouch.c
dev_err(&onetouch->irq->dev->dev, dev_err(&onetouch->irq->dev->dev,
"usb_submit_urb failed\n"); "usb_submit_urb failed\n");
break; break;
diff -r 7c6a35bba203 drivers/usb/storage/realtek_cr.c diff -r d22e0f3e9541 drivers/usb/storage/realtek_cr.c
--- a/drivers/usb/storage/realtek_cr.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/realtek_cr.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/realtek_cr.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/realtek_cr.c Mon Apr 22 16:22:55 2013 +0200
@@ -367,7 +367,7 @@ @@ -367,7 +367,7 @@
u8 cmnd[12] = { 0 }; u8 cmnd[12] = { 0 };
u8 *buf; u8 *buf;
@ -466,9 +462,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/realtek_cr.c
if (!buf) if (!buf)
return USB_STOR_TRANSPORT_ERROR; return USB_STOR_TRANSPORT_ERROR;
diff -r 7c6a35bba203 drivers/usb/storage/sddr09.c diff -r d22e0f3e9541 drivers/usb/storage/sddr09.c
--- a/drivers/usb/storage/sddr09.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/sddr09.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/sddr09.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/sddr09.c Mon Apr 22 16:22:55 2013 +0200
@@ -692,7 +692,7 @@ @@ -692,7 +692,7 @@
return result; return result;
} }
@ -534,9 +530,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/sddr09.c
if (!us->extra) if (!us->extra)
return -ENOMEM; return -ENOMEM;
us->extra_destructor = sddr09_card_info_destructor; us->extra_destructor = sddr09_card_info_destructor;
diff -r 7c6a35bba203 drivers/usb/storage/sddr55.c diff -r d22e0f3e9541 drivers/usb/storage/sddr55.c
--- a/drivers/usb/storage/sddr55.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/sddr55.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/sddr55.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/sddr55.c Mon Apr 22 16:22:55 2013 +0200
@@ -216,7 +216,7 @@ @@ -216,7 +216,7 @@
len = min((unsigned int) sectors, (unsigned int) info->blocksize >> len = min((unsigned int) sectors, (unsigned int) info->blocksize >>
@ -584,9 +580,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/sddr55.c
if (!us->extra) if (!us->extra)
return USB_STOR_TRANSPORT_ERROR; return USB_STOR_TRANSPORT_ERROR;
us->extra_destructor = sddr55_card_info_destructor; us->extra_destructor = sddr55_card_info_destructor;
diff -r 7c6a35bba203 drivers/usb/storage/shuttle_usbat.c diff -r d22e0f3e9541 drivers/usb/storage/shuttle_usbat.c
--- a/drivers/usb/storage/shuttle_usbat.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/shuttle_usbat.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/shuttle_usbat.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/shuttle_usbat.c Mon Apr 22 16:22:55 2013 +0200
@@ -1068,7 +1068,7 @@ @@ -1068,7 +1068,7 @@
if (!us || !info) if (!us || !info)
return USB_STOR_TRANSPORT_ERROR; return USB_STOR_TRANSPORT_ERROR;
@ -632,9 +628,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/shuttle_usbat.c
if (!us->extra) { if (!us->extra) {
US_DEBUGP("init_usbat: Gah! Can't allocate storage for usbat info struct!\n"); US_DEBUGP("init_usbat: Gah! Can't allocate storage for usbat info struct!\n");
return 1; return 1;
diff -r 7c6a35bba203 drivers/usb/storage/transport.c diff -r d22e0f3e9541 drivers/usb/storage/transport.c
--- a/drivers/usb/storage/transport.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/transport.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/transport.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/transport.c Mon Apr 22 16:22:55 2013 +0200
@@ -151,7 +151,7 @@ @@ -151,7 +151,7 @@
us->current_urb->transfer_dma = us->iobuf_dma; us->current_urb->transfer_dma = us->iobuf_dma;
@ -653,9 +649,9 @@ diff -r 7c6a35bba203 drivers/usb/storage/transport.c
if (result) { if (result) {
US_DEBUGP("usb_sg_init returned %d\n", result); US_DEBUGP("usb_sg_init returned %d\n", result);
return USB_STOR_XFER_ERROR; return USB_STOR_XFER_ERROR;
diff -r 7c6a35bba203 drivers/usb/storage/usb.c diff -r d22e0f3e9541 drivers/usb/storage/usb.c
--- a/drivers/usb/storage/usb.c Thu Apr 18 14:21:39 2013 +0200 --- a/drivers/usb/storage/usb.c Mon Apr 22 16:20:42 2013 +0200
+++ b/drivers/usb/storage/usb.c Fri Apr 19 14:53:15 2013 +0200 +++ b/drivers/usb/storage/usb.c Mon Apr 22 16:22:55 2013 +0200
@@ -453,7 +453,7 @@ @@ -453,7 +453,7 @@
usb_set_intfdata(intf, us); usb_set_intfdata(intf, us);

View File

@ -15,8 +15,6 @@
#define to_platform_driver(drv) (container_of((drv), struct platform_driver, \ #define to_platform_driver(drv) (container_of((drv), struct platform_driver, \
driver)) driver))
#define to_platform_device(x) container_of((x), struct platform_device, dev)
static int platform_match(struct device *dev, struct device_driver *drv) static int platform_match(struct device *dev, struct device_driver *drv)
{ {

View File

@ -17,6 +17,7 @@
#include <util/mmio.h> #include <util/mmio.h>
#include <lx_emul.h> #include <lx_emul.h>
#include <linux/platform_data/usb-omap.h>
using namespace Genode; using namespace Genode;
@ -387,7 +388,7 @@ void platform_hcd_init(Services *services)
_ehci_data.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY; _ehci_data.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY;
_ehci_data.port_mode[1] = OMAP_EHCI_PORT_MODE_NONE; _ehci_data.port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED;
_ehci_data.phy_reset = 0; _ehci_data.phy_reset = 0;
pdev->dev.platform_data = &_ehci_data; pdev->dev.platform_data = &_ehci_data;

View File

@ -303,6 +303,9 @@ int sysfs_create_group(struct kobject *kobj,
const struct attribute_group *grp) { TRACE; return 0; } const struct attribute_group *grp) { TRACE; return 0; }
void sysfs_remove_group(struct kobject *kobj, void sysfs_remove_group(struct kobject *kobj,
const struct attribute_group *grp) { TRACE; } const struct attribute_group *grp) { TRACE; }
int sysfs_create_link(struct kobject *kobj, struct kobject *target,
const char *name) { TRACE; return 0; }
void sysfs_remove_link(struct kobject *kobj, const char *name) { TRACE; }
int fasync_helper(int fd, struct file * filp, int on, struct fasync_struct **fapp) { TRACE; return 0; } int fasync_helper(int fd, struct file * filp, int on, struct fasync_struct **fapp) { TRACE; return 0; }
@ -326,6 +329,7 @@ void pm_runtime_no_callbacks(struct device *dev) { TRACE; }
void pm_runtime_set_autosuspend_delay(struct device *dev, int delay) { TRACE; } void pm_runtime_set_autosuspend_delay(struct device *dev, int delay) { TRACE; }
int pm_runtime_get_sync(struct device *dev) { TRACE; return 0; } int pm_runtime_get_sync(struct device *dev) { TRACE; return 0; }
int pm_runtime_put_sync(struct device *dev) { TRACE; return 0; } int pm_runtime_put_sync(struct device *dev) { TRACE; return 0; }
int pm_runtime_put(struct device *dev) { TRACE; return 0; }
/*********************** /***********************
@ -339,6 +343,13 @@ int device_set_wakeup_enable(struct device *dev, bool enable) { TRACE; return 0
bool device_can_wakeup(struct device *dev) { TRACE; return 0; } bool device_can_wakeup(struct device *dev) { TRACE; return 0; }
/********************
** linux/pm_qos.h **
********************/
int dev_pm_qos_expose_flags(struct device *dev, s32 value) { TRACE; return 0; }
/******************** /********************
** linux/device.h ** ** linux/device.h **
********************/ ********************/
@ -484,6 +495,13 @@ const struct file_operations simple_dir_operations;
const struct inode_operations simple_dir_inode_operations; const struct inode_operations simple_dir_inode_operations;
struct inode *file_inode(struct file *f)
{
TRACE;
static struct inode _i;
return &_i;
}
/******************* /*******************
** linux/namei.h ** ** linux/namei.h **
*******************/ *******************/
@ -842,7 +860,6 @@ int skb_checksum_start_offset(const struct sk_buff *skb) { TRACE; return 0; }
struct sk_buff *skb_copy_expand(const struct sk_buff *skb, struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
int newheadroom, int newtailroom, int newheadroom, int newtailroom,
gfp_t gfp_mask) { TRACE; return 0; } gfp_t gfp_mask) { TRACE; return 0; }
int skb_tailroom(const struct sk_buff *skb) { TRACE; return 0; }
int skb_queue_empty(const struct sk_buff_head *list) { TRACE; return 1; } int skb_queue_empty(const struct sk_buff_head *list) { TRACE; return 1; }
void skb_queue_purge(struct sk_buff_head *list) { TRACE; } void skb_queue_purge(struct sk_buff_head *list) { TRACE; }
@ -1031,7 +1048,7 @@ void phy_stop(struct phy_device *phydev) { TRACE; }
int genphy_resume(struct phy_device *phydev) { TRACE; return 0; } int genphy_resume(struct phy_device *phydev) { TRACE; return 0; }
struct phy_device * phy_connect(struct net_device *dev, const char *bus_id, struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
void (*handler)(struct net_device *), u32 flags, void (*handler)(struct net_device *),
phy_interface_t interface) { TRACE; return 0; } phy_interface_t interface) { TRACE; return 0; }
void phy_disconnect(struct phy_device *phydev) { TRACE; } void phy_disconnect(struct phy_device *phydev) { TRACE; }

View File

@ -48,30 +48,6 @@ enum {
#define ULPI_SET(a) (a + 1) #define ULPI_SET(a) (a + 1)
/*******************************************
** arch/arm/plat-omap/include/plat/usb.h **
*******************************************/
enum { OMAP3_HS_USB_PORTS = 2 };
enum usbhs_omap_port_mode
{
OMAP_EHCI_PORT_MODE_NONE,
OMAP_EHCI_PORT_MODE_PHY,
};
struct regulator { };
struct ehci_hcd_omap_platform_data
{
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
int reset_gpio_port[OMAP3_HS_USB_PORTS];
struct regulator *regulator[OMAP3_HS_USB_PORTS];
unsigned phy_reset;
};
/***************************** /*****************************
** linux/platform_device.h ** ** linux/platform_device.h **
@ -97,6 +73,8 @@ int platform_driver_register(struct platform_driver *);
int platform_device_register(struct platform_device *); int platform_device_register(struct platform_device *);
#define to_platform_device(x) container_of((x), struct platform_device, dev)
/********************** /**********************
** asm/generic/io.h ** ** asm/generic/io.h **
**********************/ **********************/
@ -127,6 +105,7 @@ static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
** linux/regulator/consumer.h ** ** linux/regulator/consumer.h **
********************************/ ********************************/
struct regulator { };
int regulator_enable(struct regulator *); int regulator_enable(struct regulator *);
int regulator_disable(struct regulator *); int regulator_disable(struct regulator *);
void regulator_put(struct regulator *regulator); void regulator_put(struct regulator *regulator);
@ -141,16 +120,6 @@ int omap_usbhs_enable(struct device *dev);
void omap_usbhs_disable(struct device *dev); void omap_usbhs_disable(struct device *dev);
/****************
** linux/pm.h **
****************/
struct dev_pm_ops {
int (*suspend)(struct device *dev);
int (*resume)(struct device *dev);
};
/***************** /*****************
** linux/clk.h ** ** linux/clk.h **
*****************/ *****************/
@ -232,8 +201,16 @@ void phy_stop(struct phy_device *phydev);
int genphy_resume(struct phy_device *phydev); int genphy_resume(struct phy_device *phydev);
struct phy_device * phy_connect(struct net_device *dev, const char *bus_id, struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
void (*handler)(struct net_device *), u32 flags, void (*handler)(struct net_device *),
phy_interface_t interface); phy_interface_t interface);
void phy_disconnect(struct phy_device *phydev); void phy_disconnect(struct phy_device *phydev);
/*******************************
** linux/usb/samsung_usb_phy **
*******************************/
enum samsung_usb_phy_type { USB_PHY_TYPE_HOST = 1 };
#endif /* _ARM__PLATFORM__LX_EMUL_H_ */ #endif /* _ARM__PLATFORM__LX_EMUL_H_ */

View File

@ -60,7 +60,7 @@ extern "C" {
#endif #endif
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
#define LINUX_VERSION_CODE KERNEL_VERSION(3,8,6) #define LINUX_VERSION_CODE KERNEL_VERSION(3,9,0)
#define KBUILD_MODNAME "mod-noname" #define KBUILD_MODNAME "mod-noname"
@ -456,13 +456,22 @@ enum {
EDOM = 49, EDOM = 49,
ENOLINK = 50, ENOLINK = 50,
EADDRNOTAVAIL = 51, EADDRNOTAVAIL = 51,
EPROBE_DEFER = 52,
}; };
static inline bool IS_ERR(void *ptr) {
/*****************
** linux/err.h **
*****************/
static inline bool IS_ERR(void const *ptr) {
return (unsigned long)(ptr) > (unsigned long)(-1000); } return (unsigned long)(ptr) > (unsigned long)(-1000); }
long PTR_ERR(const void *ptr); long PTR_ERR(const void *ptr);
static inline long IS_ERR_OR_NULL(const void *ptr) {
return !ptr || IS_ERR(ptr); }
/******************* /*******************
** linux/major.h ** ** linux/major.h **
@ -1154,6 +1163,8 @@ extern struct task_struct *current;
/* asm/processor.h */ /* asm/processor.h */
void cpu_relax(void); void cpu_relax(void);
#define memalloc_noio_save() 0
#define memalloc_noio_restore(x)
/********************* /*********************
** linux/kthread.h ** ** linux/kthread.h **
@ -1312,24 +1323,34 @@ int sysfs_create_group(struct kobject *kobj,
const struct attribute_group *grp); const struct attribute_group *grp);
void sysfs_remove_group(struct kobject *kobj, void sysfs_remove_group(struct kobject *kobj,
const struct attribute_group *grp); const struct attribute_group *grp);
int sysfs_create_link(struct kobject *kobj, struct kobject *target,
const char *name);
void sysfs_remove_link(struct kobject *kobj, const char *name);
/**************** /****************
** linux/pm.h ** ** linux/pm.h **
****************/ ****************/
struct device;
typedef struct pm_message { int event; } pm_message_t; typedef struct pm_message { int event; } pm_message_t;
struct dev_pm_info { bool is_prepared; }; struct dev_pm_info { bool is_prepared; };
struct dev_pm_ops {
int (*suspend)(struct device *dev);
int (*resume)(struct device *dev);
};
#define PMSG_IS_AUTO(msg) 0 #define PMSG_IS_AUTO(msg) 0
enum { PM_EVENT_AUTO_SUSPEND = 0x402 };
/************************ /************************
** linux/pm_runtime.h ** ** linux/pm_runtime.h **
************************/ ************************/
struct device;
int pm_runtime_set_active(struct device *dev); int pm_runtime_set_active(struct device *dev);
void pm_suspend_ignore_children(struct device *dev, bool enable); void pm_suspend_ignore_children(struct device *dev, bool enable);
void pm_runtime_enable(struct device *dev); void pm_runtime_enable(struct device *dev);
@ -1343,6 +1364,7 @@ void pm_runtime_no_callbacks(struct device *dev);
void pm_runtime_set_autosuspend_delay(struct device *dev, int delay); void pm_runtime_set_autosuspend_delay(struct device *dev, int delay);
int pm_runtime_get_sync(struct device *dev); int pm_runtime_get_sync(struct device *dev);
int pm_runtime_put_sync(struct device *dev); int pm_runtime_put_sync(struct device *dev);
int pm_runtime_put(struct device *dev);
/*********************** /***********************
@ -1356,6 +1378,14 @@ int device_set_wakeup_enable(struct device *dev, bool enable);
bool device_can_wakeup(struct device *dev); bool device_can_wakeup(struct device *dev);
/********************
** linux/pm_qos.h **
********************/
enum { PM_QOS_FLAG_NO_POWER_OFF = 1 };
int dev_pm_qos_expose_flags(struct device *dev, s32 value);
/******************** /********************
** linux/device.h ** ** linux/device.h **
********************/ ********************/
@ -1416,6 +1446,7 @@ struct device_type {
void (*release)(struct device *dev); void (*release)(struct device *dev);
int (*uevent)(struct device *dev, struct kobj_uevent_env *env); int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
char *(*devnode)(struct device *dev, mode_t *mode); char *(*devnode)(struct device *dev, mode_t *mode);
const struct dev_pm_ops *pm;
}; };
struct class struct class
@ -1837,6 +1868,7 @@ extern const struct inode_operations simple_dir_inode_operations;
static inline loff_t no_llseek(struct file *file, loff_t offset, int origin) { static inline loff_t no_llseek(struct file *file, loff_t offset, int origin) {
return -ESPIPE; } return -ESPIPE; }
struct inode *file_inode(struct file *f);
/******************* /*******************
** linux/namei.h ** ** linux/namei.h **
@ -2924,6 +2956,7 @@ bool skb_defer_rx_timestamp(struct sk_buff *);
void dev_kfree_skb(struct sk_buff *); void dev_kfree_skb(struct sk_buff *);
void dev_kfree_skb_any(struct sk_buff *); void dev_kfree_skb_any(struct sk_buff *);
void kfree_skb(struct sk_buff *);
/********************* /*********************

View File

@ -38,9 +38,9 @@ extern "C" void subsys_input_init();
extern "C" void module_evdev_init(); extern "C" void module_evdev_init();
extern "C" void module_hid_init(); extern "C" void module_hid_init();
extern "C" void module_hid_init_core(); extern "C" void module_hid_init_core();
extern "C" void module_hid_init_generic(); extern "C" void module_hid_generic_init();
extern "C" void module_usb_stor_init(); extern "C" void module_usb_stor_init();
extern "C" void module_ch_init(); extern "C" void module_ch_driver_init();
extern "C" void start_input_service(void *ep); extern "C" void start_input_service(void *ep);
@ -67,8 +67,8 @@ static void init(Services *services)
/* HID */ /* HID */
module_hid_init_core(); module_hid_init_core();
module_hid_init(); module_hid_init();
module_hid_init_generic(); module_hid_generic_init();
module_ch_init(); module_ch_driver_init();
} }
/* host controller */ /* host controller */

View File

@ -351,7 +351,8 @@ struct sk_buff *_alloc_skb(unsigned int size, bool tx)
size = (size + 3) & ~(0x3); size = (size + 3) & ~(0x3);
skb->tail = skb->end = skb->start + size; skb->end = skb->start + size;
skb->tail = skb->start;
skb->truesize = size; skb->truesize = size;
return skb; return skb;
@ -392,6 +393,8 @@ void dev_kfree_skb(struct sk_buff *skb)
void dev_kfree_skb_any(struct sk_buff *skb) { dev_kfree_skb(skb); } void dev_kfree_skb_any(struct sk_buff *skb) { dev_kfree_skb(skb); }
void kfree_skb(struct sk_buff *skb) { dev_kfree_skb(skb); }
/** /**
* Reserve 'len' * Reserve 'len'
@ -455,6 +458,13 @@ unsigned int skb_headroom(const struct sk_buff *skb)
} }
int skb_tailroom(const struct sk_buff *skb)
{
return skb->end - skb->tail;
}
/** /**
* Take 'len' from front * Take 'len' from front
*/ */