diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
commit | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch) | |
tree | a8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/usb/wusbcore | |
parent | 406089d01562f1e2bf9f089fd7637009ebaad589 (diff) |
Patched in Tegra support.
Diffstat (limited to 'drivers/usb/wusbcore')
-rw-r--r-- | drivers/usb/wusbcore/Kconfig | 6 | ||||
-rw-r--r-- | drivers/usb/wusbcore/cbaf.c | 12 | ||||
-rw-r--r-- | drivers/usb/wusbcore/devconnect.c | 14 | ||||
-rw-r--r-- | drivers/usb/wusbcore/mmc.c | 1 | ||||
-rw-r--r-- | drivers/usb/wusbcore/rh.c | 1 | ||||
-rw-r--r-- | drivers/usb/wusbcore/security.c | 10 | ||||
-rw-r--r-- | drivers/usb/wusbcore/wa-hc.c | 7 | ||||
-rw-r--r-- | drivers/usb/wusbcore/wa-rpipe.c | 1 | ||||
-rw-r--r-- | drivers/usb/wusbcore/wa-xfer.c | 1 |
9 files changed, 33 insertions, 20 deletions
diff --git a/drivers/usb/wusbcore/Kconfig b/drivers/usb/wusbcore/Kconfig index 8bf19760d44..eb09a0a14a8 100644 --- a/drivers/usb/wusbcore/Kconfig +++ b/drivers/usb/wusbcore/Kconfig | |||
@@ -2,10 +2,10 @@ | |||
2 | # Wireless USB Core configuration | 2 | # Wireless USB Core configuration |
3 | # | 3 | # |
4 | config USB_WUSB | 4 | config USB_WUSB |
5 | tristate "Enable Wireless USB extensions" | 5 | tristate "Enable Wireless USB extensions (EXPERIMENTAL)" |
6 | depends on EXPERIMENTAL | ||
6 | depends on USB | 7 | depends on USB |
7 | depends on PCI | 8 | select UWB |
8 | depends on UWB | ||
9 | select CRYPTO | 9 | select CRYPTO |
10 | select CRYPTO_BLKCIPHER | 10 | select CRYPTO_BLKCIPHER |
11 | select CRYPTO_CBC | 11 | select CRYPTO_CBC |
diff --git a/drivers/usb/wusbcore/cbaf.c b/drivers/usb/wusbcore/cbaf.c index 7f78f300f8f..200fd7c6c7d 100644 --- a/drivers/usb/wusbcore/cbaf.c +++ b/drivers/usb/wusbcore/cbaf.c | |||
@@ -655,7 +655,17 @@ static struct usb_driver cbaf_driver = { | |||
655 | .disconnect = cbaf_disconnect, | 655 | .disconnect = cbaf_disconnect, |
656 | }; | 656 | }; |
657 | 657 | ||
658 | module_usb_driver(cbaf_driver); | 658 | static int __init cbaf_driver_init(void) |
659 | { | ||
660 | return usb_register(&cbaf_driver); | ||
661 | } | ||
662 | module_init(cbaf_driver_init); | ||
663 | |||
664 | static void __exit cbaf_driver_exit(void) | ||
665 | { | ||
666 | usb_deregister(&cbaf_driver); | ||
667 | } | ||
668 | module_exit(cbaf_driver_exit); | ||
659 | 669 | ||
660 | MODULE_AUTHOR("Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>"); | 670 | MODULE_AUTHOR("Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>"); |
661 | MODULE_DESCRIPTION("Wireless USB Cable Based Association"); | 671 | MODULE_DESCRIPTION("Wireless USB Cable Based Association"); |
diff --git a/drivers/usb/wusbcore/devconnect.c b/drivers/usb/wusbcore/devconnect.c index 1d365316960..7ec24e46b34 100644 --- a/drivers/usb/wusbcore/devconnect.c +++ b/drivers/usb/wusbcore/devconnect.c | |||
@@ -90,7 +90,6 @@ | |||
90 | #include <linux/ctype.h> | 90 | #include <linux/ctype.h> |
91 | #include <linux/slab.h> | 91 | #include <linux/slab.h> |
92 | #include <linux/workqueue.h> | 92 | #include <linux/workqueue.h> |
93 | #include <linux/export.h> | ||
94 | #include "wusbhc.h" | 93 | #include "wusbhc.h" |
95 | 94 | ||
96 | static void wusbhc_devconnect_acked_work(struct work_struct *work); | 95 | static void wusbhc_devconnect_acked_work(struct work_struct *work); |
@@ -847,6 +846,19 @@ static void wusb_dev_bos_rm(struct wusb_dev *wusb_dev) | |||
847 | wusb_dev->wusb_cap_descr = NULL; | 846 | wusb_dev->wusb_cap_descr = NULL; |
848 | }; | 847 | }; |
849 | 848 | ||
849 | static struct usb_wireless_cap_descriptor wusb_cap_descr_default = { | ||
850 | .bLength = sizeof(wusb_cap_descr_default), | ||
851 | .bDescriptorType = USB_DT_DEVICE_CAPABILITY, | ||
852 | .bDevCapabilityType = USB_CAP_TYPE_WIRELESS_USB, | ||
853 | |||
854 | .bmAttributes = USB_WIRELESS_BEACON_NONE, | ||
855 | .wPHYRates = cpu_to_le16(USB_WIRELESS_PHY_53), | ||
856 | .bmTFITXPowerInfo = 0, | ||
857 | .bmFFITXPowerInfo = 0, | ||
858 | .bmBandGroup = cpu_to_le16(0x0001), /* WUSB1.0[7.4.1] bottom */ | ||
859 | .bReserved = 0 | ||
860 | }; | ||
861 | |||
850 | /* | 862 | /* |
851 | * USB stack's device addition Notifier Callback | 863 | * USB stack's device addition Notifier Callback |
852 | * | 864 | * |
diff --git a/drivers/usb/wusbcore/mmc.c b/drivers/usb/wusbcore/mmc.c index b8c72583c04..0a57ff0a0b0 100644 --- a/drivers/usb/wusbcore/mmc.c +++ b/drivers/usb/wusbcore/mmc.c | |||
@@ -38,7 +38,6 @@ | |||
38 | */ | 38 | */ |
39 | #include <linux/usb/wusb.h> | 39 | #include <linux/usb/wusb.h> |
40 | #include <linux/slab.h> | 40 | #include <linux/slab.h> |
41 | #include <linux/export.h> | ||
42 | #include "wusbhc.h" | 41 | #include "wusbhc.h" |
43 | 42 | ||
44 | /* Initialize the MMCIEs handling mechanism */ | 43 | /* Initialize the MMCIEs handling mechanism */ |
diff --git a/drivers/usb/wusbcore/rh.c b/drivers/usb/wusbcore/rh.c index 59ff254dfb6..39de3900ad2 100644 --- a/drivers/usb/wusbcore/rh.c +++ b/drivers/usb/wusbcore/rh.c | |||
@@ -70,7 +70,6 @@ | |||
70 | * wusbhc_rh_start_port_reset() ??? unimplemented | 70 | * wusbhc_rh_start_port_reset() ??? unimplemented |
71 | */ | 71 | */ |
72 | #include <linux/slab.h> | 72 | #include <linux/slab.h> |
73 | #include <linux/export.h> | ||
74 | #include "wusbhc.h" | 73 | #include "wusbhc.h" |
75 | 74 | ||
76 | /* | 75 | /* |
diff --git a/drivers/usb/wusbcore/security.c b/drivers/usb/wusbcore/security.c index dd88441c8f7..b60799b811c 100644 --- a/drivers/usb/wusbcore/security.c +++ b/drivers/usb/wusbcore/security.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/usb/ch9.h> | 27 | #include <linux/usb/ch9.h> |
28 | #include <linux/random.h> | 28 | #include <linux/random.h> |
29 | #include <linux/export.h> | ||
30 | #include "wusbhc.h" | 29 | #include "wusbhc.h" |
31 | 30 | ||
32 | static void wusbhc_set_gtk_callback(struct urb *urb); | 31 | static void wusbhc_set_gtk_callback(struct urb *urb); |
@@ -202,7 +201,7 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc, | |||
202 | { | 201 | { |
203 | int result, bytes, secd_size; | 202 | int result, bytes, secd_size; |
204 | struct device *dev = &usb_dev->dev; | 203 | struct device *dev = &usb_dev->dev; |
205 | struct usb_security_descriptor *secd, *new_secd; | 204 | struct usb_security_descriptor *secd; |
206 | const struct usb_encryption_descriptor *etd, *ccm1_etd = NULL; | 205 | const struct usb_encryption_descriptor *etd, *ccm1_etd = NULL; |
207 | const void *itr, *top; | 206 | const void *itr, *top; |
208 | char buf[64]; | 207 | char buf[64]; |
@@ -221,12 +220,11 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc, | |||
221 | goto out; | 220 | goto out; |
222 | } | 221 | } |
223 | secd_size = le16_to_cpu(secd->wTotalLength); | 222 | secd_size = le16_to_cpu(secd->wTotalLength); |
224 | new_secd = krealloc(secd, secd_size, GFP_KERNEL); | 223 | secd = krealloc(secd, secd_size, GFP_KERNEL); |
225 | if (new_secd == NULL) { | 224 | if (secd == NULL) { |
226 | dev_err(dev, "Can't allocate space for security descriptors\n"); | 225 | dev_err(dev, "Can't allocate space for security descriptors\n"); |
227 | goto out; | 226 | goto out; |
228 | } | 227 | } |
229 | secd = new_secd; | ||
230 | result = usb_get_descriptor(usb_dev, USB_DT_SECURITY, | 228 | result = usb_get_descriptor(usb_dev, USB_DT_SECURITY, |
231 | 0, secd, secd_size); | 229 | 0, secd, secd_size); |
232 | if (result < secd_size) { | 230 | if (result < secd_size) { |
@@ -355,7 +353,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev, | |||
355 | struct wusb_keydvt_in keydvt_in; | 353 | struct wusb_keydvt_in keydvt_in; |
356 | struct wusb_keydvt_out keydvt_out; | 354 | struct wusb_keydvt_out keydvt_out; |
357 | 355 | ||
358 | hs = kcalloc(3, sizeof(hs[0]), GFP_KERNEL); | 356 | hs = kzalloc(3*sizeof(hs[0]), GFP_KERNEL); |
359 | if (hs == NULL) { | 357 | if (hs == NULL) { |
360 | dev_err(dev, "can't allocate handshake data\n"); | 358 | dev_err(dev, "can't allocate handshake data\n"); |
361 | goto error_kzalloc; | 359 | goto error_kzalloc; |
diff --git a/drivers/usb/wusbcore/wa-hc.c b/drivers/usb/wusbcore/wa-hc.c index a09b65ebd9b..59a748a0e5d 100644 --- a/drivers/usb/wusbcore/wa-hc.c +++ b/drivers/usb/wusbcore/wa-hc.c | |||
@@ -23,7 +23,6 @@ | |||
23 | * FIXME: docs | 23 | * FIXME: docs |
24 | */ | 24 | */ |
25 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
26 | #include <linux/module.h> | ||
27 | #include "wusbhc.h" | 26 | #include "wusbhc.h" |
28 | #include "wa-hc.h" | 27 | #include "wa-hc.h" |
29 | 28 | ||
@@ -44,12 +43,10 @@ int wa_create(struct wahc *wa, struct usb_interface *iface) | |||
44 | /* Fill up Data Transfer EP pointers */ | 43 | /* Fill up Data Transfer EP pointers */ |
45 | wa->dti_epd = &iface->cur_altsetting->endpoint[1].desc; | 44 | wa->dti_epd = &iface->cur_altsetting->endpoint[1].desc; |
46 | wa->dto_epd = &iface->cur_altsetting->endpoint[2].desc; | 45 | wa->dto_epd = &iface->cur_altsetting->endpoint[2].desc; |
47 | wa->xfer_result_size = usb_endpoint_maxp(wa->dti_epd); | 46 | wa->xfer_result_size = le16_to_cpu(wa->dti_epd->wMaxPacketSize); |
48 | wa->xfer_result = kmalloc(wa->xfer_result_size, GFP_KERNEL); | 47 | wa->xfer_result = kmalloc(wa->xfer_result_size, GFP_KERNEL); |
49 | if (wa->xfer_result == NULL) { | 48 | if (wa->xfer_result == NULL) |
50 | result = -ENOMEM; | ||
51 | goto error_xfer_result_alloc; | 49 | goto error_xfer_result_alloc; |
52 | } | ||
53 | result = wa_nep_create(wa, iface); | 50 | result = wa_nep_create(wa, iface); |
54 | if (result < 0) { | 51 | if (result < 0) { |
55 | dev_err(dev, "WA-CDS: can't initialize notif endpoint: %d\n", | 52 | dev_err(dev, "WA-CDS: can't initialize notif endpoint: %d\n", |
diff --git a/drivers/usb/wusbcore/wa-rpipe.c b/drivers/usb/wusbcore/wa-rpipe.c index f0d546c5a08..2acc7f504c5 100644 --- a/drivers/usb/wusbcore/wa-rpipe.c +++ b/drivers/usb/wusbcore/wa-rpipe.c | |||
@@ -61,7 +61,6 @@ | |||
61 | #include <linux/atomic.h> | 61 | #include <linux/atomic.h> |
62 | #include <linux/bitmap.h> | 62 | #include <linux/bitmap.h> |
63 | #include <linux/slab.h> | 63 | #include <linux/slab.h> |
64 | #include <linux/export.h> | ||
65 | 64 | ||
66 | #include "wusbhc.h" | 65 | #include "wusbhc.h" |
67 | #include "wa-hc.h" | 66 | #include "wa-hc.h" |
diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c index 57c01ab09ad..419334568be 100644 --- a/drivers/usb/wusbcore/wa-xfer.c +++ b/drivers/usb/wusbcore/wa-xfer.c | |||
@@ -84,7 +84,6 @@ | |||
84 | #include <linux/slab.h> | 84 | #include <linux/slab.h> |
85 | #include <linux/hash.h> | 85 | #include <linux/hash.h> |
86 | #include <linux/ratelimit.h> | 86 | #include <linux/ratelimit.h> |
87 | #include <linux/export.h> | ||
88 | 87 | ||
89 | #include "wa-hc.h" | 88 | #include "wa-hc.h" |
90 | #include "wusbhc.h" | 89 | #include "wusbhc.h" |