aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/wusbcore
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/usb/wusbcore
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'drivers/usb/wusbcore')
-rw-r--r--drivers/usb/wusbcore/Kconfig6
-rw-r--r--drivers/usb/wusbcore/cbaf.c12
-rw-r--r--drivers/usb/wusbcore/devconnect.c14
-rw-r--r--drivers/usb/wusbcore/mmc.c1
-rw-r--r--drivers/usb/wusbcore/rh.c1
-rw-r--r--drivers/usb/wusbcore/security.c10
-rw-r--r--drivers/usb/wusbcore/wa-hc.c7
-rw-r--r--drivers/usb/wusbcore/wa-rpipe.c1
-rw-r--r--drivers/usb/wusbcore/wa-xfer.c1
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#
4config USB_WUSB 4config 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
658module_usb_driver(cbaf_driver); 658static int __init cbaf_driver_init(void)
659{
660 return usb_register(&cbaf_driver);
661}
662module_init(cbaf_driver_init);
663
664static void __exit cbaf_driver_exit(void)
665{
666 usb_deregister(&cbaf_driver);
667}
668module_exit(cbaf_driver_exit);
659 669
660MODULE_AUTHOR("Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>"); 670MODULE_AUTHOR("Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>");
661MODULE_DESCRIPTION("Wireless USB Cable Based Association"); 671MODULE_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
96static void wusbhc_devconnect_acked_work(struct work_struct *work); 95static 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
849static 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
32static void wusbhc_set_gtk_callback(struct urb *urb); 31static 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"