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
PATCHES := $(shell find patches -name \*.patch)
LINUX = linux-3.8.6
LINUX = linux-3.9-rc8
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
CONTENT += include/linux/list.h
@ -30,8 +30,8 @@ CONTENT += include/uapi/asm-generic/ioctl.h
# USB core
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 \
usb.c usb.h
hcd.c hcd-pci.c hub.h hub.c message.c notify.c quirks.c port.c \
urb.c usb.c usb.h
CONTENT += $(addprefix drivers/usb/core/,$(CONTENT_CORE))
CONTENT += drivers/usb/usb-common.c
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 += include/linux/usb/usbnet.h include/linux/netdev_features.h
# OMAP
CONTENT += include/linux/platform_data/usb-omap.h
# Arndale
CONTENT_ARNDALE = ehci.h usb-phy.h
CONTENT += arch/arm/plat-samsung/include/plat/usb-phy.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
#
hid/hid-core.o: MOD_SUFFIX="_core"
hid/hid-generic.o: MOD_SUFFIX="_generic"
$(GEN_INCLUDES):
$(VERBOSE)mkdir -p $(dir $@)

View File

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

View File

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

View File

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

View File

@ -15,8 +15,6 @@
#define to_platform_driver(drv) (container_of((drv), struct platform_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)
{

View File

@ -17,6 +17,7 @@
#include <util/mmio.h>
#include <lx_emul.h>
#include <linux/platform_data/usb-omap.h>
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[1] = OMAP_EHCI_PORT_MODE_NONE;
_ehci_data.port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED;
_ehci_data.phy_reset = 0;
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; }
void sysfs_remove_group(struct kobject *kobj,
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; }
@ -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; }
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(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; }
/********************
** linux/pm_qos.h **
********************/
int dev_pm_qos_expose_flags(struct device *dev, s32 value) { TRACE; return 0; }
/********************
** linux/device.h **
********************/
@ -484,6 +495,13 @@ const struct file_operations simple_dir_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 **
*******************/
@ -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,
int newheadroom, int newtailroom,
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; }
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; }
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; }
void phy_disconnect(struct phy_device *phydev) { TRACE; }

View File

@ -48,30 +48,6 @@ enum {
#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 **
@ -97,6 +73,8 @@ int platform_driver_register(struct platform_driver *);
int platform_device_register(struct platform_device *);
#define to_platform_device(x) container_of((x), struct platform_device, dev)
/**********************
** asm/generic/io.h **
**********************/
@ -127,6 +105,7 @@ static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
** linux/regulator/consumer.h **
********************************/
struct regulator { };
int regulator_enable(struct regulator *);
int regulator_disable(struct 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);
/****************
** linux/pm.h **
****************/
struct dev_pm_ops {
int (*suspend)(struct device *dev);
int (*resume)(struct device *dev);
};
/*****************
** linux/clk.h **
*****************/
@ -232,8 +201,16 @@ void phy_stop(struct phy_device *phydev);
int genphy_resume(struct phy_device *phydev);
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);
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_ */

View File

@ -60,7 +60,7 @@ extern "C" {
#endif
#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"
@ -403,66 +403,75 @@ struct page
* Note that the codes do not correspond to those of the Linux kernel.
*/
enum {
EINVAL = 1,
ENODEV = 2,
ENOMEM = 3,
EFAULT = 4,
EBADF = 5,
EAGAIN = 6,
ERESTARTSYS = 7,
ENOSPC = 8,
EIO = 9,
EBUSY = 10,
EPERM = 11,
EINTR = 12,
ENOMSG = 13,
ECONNRESET = 14,
ENOENT = 15,
EHOSTUNREACH = 16,
ESRCH = 17,
EPIPE = 18,
ENODATA = 19,
EREMOTEIO = 20,
ENOTTY = 21,
ENOIOCTLCMD = 22,
EADDRINUSE = 23,
ENFILE = 23,
EXFULL = 24,
EIDRM = 25,
ESHUTDOWN = 26,
EMSGSIZE = 27,
E2BIG = 28,
EINPROGRESS = 29,
ESPIPE = 29,
ETIMEDOUT = 30,
ENOSYS = 31,
ENOTCONN = 32,
EPROTO = 33,
ENOTSUPP = 34,
EISDIR = 35,
EEXIST = 36,
ENOTEMPTY = 37,
ENXIO = 38,
ENOEXEC = 39,
EXDEV = 40,
EOVERFLOW = 41,
ENOSR = 42,
ECOMM = 43,
EFBIG = 44,
EILSEQ = 45,
ETIME = 46,
EALREADY = 47,
EOPNOTSUPP = 48,
EDOM = 49,
ENOLINK = 50,
EADDRNOTAVAIL= 51,
EINVAL = 1,
ENODEV = 2,
ENOMEM = 3,
EFAULT = 4,
EBADF = 5,
EAGAIN = 6,
ERESTARTSYS = 7,
ENOSPC = 8,
EIO = 9,
EBUSY = 10,
EPERM = 11,
EINTR = 12,
ENOMSG = 13,
ECONNRESET = 14,
ENOENT = 15,
EHOSTUNREACH = 16,
ESRCH = 17,
EPIPE = 18,
ENODATA = 19,
EREMOTEIO = 20,
ENOTTY = 21,
ENOIOCTLCMD = 22,
EADDRINUSE = 23,
ENFILE = 23,
EXFULL = 24,
EIDRM = 25,
ESHUTDOWN = 26,
EMSGSIZE = 27,
E2BIG = 28,
EINPROGRESS = 29,
ESPIPE = 29,
ETIMEDOUT = 30,
ENOSYS = 31,
ENOTCONN = 32,
EPROTO = 33,
ENOTSUPP = 34,
EISDIR = 35,
EEXIST = 36,
ENOTEMPTY = 37,
ENXIO = 38,
ENOEXEC = 39,
EXDEV = 40,
EOVERFLOW = 41,
ENOSR = 42,
ECOMM = 43,
EFBIG = 44,
EILSEQ = 45,
ETIME = 46,
EALREADY = 47,
EOPNOTSUPP = 48,
EDOM = 49,
ENOLINK = 50,
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); }
long PTR_ERR(const void *ptr);
static inline long IS_ERR_OR_NULL(const void *ptr) {
return !ptr || IS_ERR(ptr); }
/*******************
** linux/major.h **
@ -1154,6 +1163,8 @@ extern struct task_struct *current;
/* asm/processor.h */
void cpu_relax(void);
#define memalloc_noio_save() 0
#define memalloc_noio_restore(x)
/*********************
** linux/kthread.h **
@ -1312,24 +1323,34 @@ int sysfs_create_group(struct kobject *kobj,
const struct attribute_group *grp);
void sysfs_remove_group(struct kobject *kobj,
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 **
****************/
struct device;
typedef struct pm_message { int event; } pm_message_t;
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
enum { PM_EVENT_AUTO_SUSPEND = 0x402 };
/************************
** linux/pm_runtime.h **
************************/
struct device;
int pm_runtime_set_active(struct device *dev);
void pm_suspend_ignore_children(struct device *dev, bool enable);
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);
int pm_runtime_get_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);
/********************
** 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 **
********************/
@ -1416,6 +1446,7 @@ struct device_type {
void (*release)(struct device *dev);
int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
char *(*devnode)(struct device *dev, mode_t *mode);
const struct dev_pm_ops *pm;
};
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) {
return -ESPIPE; }
struct inode *file_inode(struct file *f);
/*******************
** 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_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_hid_init();
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_ch_init();
extern "C" void module_ch_driver_init();
extern "C" void start_input_service(void *ep);
@ -67,8 +67,8 @@ static void init(Services *services)
/* HID */
module_hid_init_core();
module_hid_init();
module_hid_init_generic();
module_ch_init();
module_hid_generic_init();
module_ch_driver_init();
}
/* host controller */

View File

@ -351,7 +351,8 @@ struct sk_buff *_alloc_skb(unsigned int size, bool tx)
size = (size + 3) & ~(0x3);
skb->tail = skb->end = skb->start + size;
skb->end = skb->start + size;
skb->tail = skb->start;
skb->truesize = size;
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 kfree_skb(struct sk_buff *skb) { dev_kfree_skb(skb); }
/**
* 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
*/