forked from Freescale/linux-fslc
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
o CodingStyle fixes o Removes trailing spaces o Do not make not needed initialiation of automatic variables o Use usb_endpoint_* functions o If we get an error in the write URB callback print an error message instead of a debug one (Pretty unrelated changes, but spliting this up doesn't pay off as our main changes are just CodingStyle fixes). Signed-off-by: Luiz Fernando N. Capitulino <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
- Loading branch information
Showing
1 changed file
with
22 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
/* | ||
* USB Skeleton driver - 2.1 | ||
* USB Skeleton driver - 2.2 | ||
* | ||
* Copyright (C) 2001-2004 Greg Kroah-Hartman ([email protected]) | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License as | ||
* published by the Free Software Foundation, version 2. | ||
* | ||
* This driver is based on the 2.6.3 version of drivers/usb/usb-skeleton.c | ||
* This driver is based on the 2.6.3 version of drivers/usb/usb-skeleton.c | ||
* but has been rewritten to be easier to read and use. | ||
* | ||
*/ | ||
|
@@ -32,22 +32,22 @@ static struct usb_device_id skel_table [] = { | |
{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) }, | ||
{ } /* Terminating entry */ | ||
}; | ||
MODULE_DEVICE_TABLE (usb, skel_table); | ||
MODULE_DEVICE_TABLE(usb, skel_table); | ||
|
||
|
||
/* Get a minor range for your devices from the usb maintainer */ | ||
#define USB_SKEL_MINOR_BASE 192 | ||
|
||
/* our private defines. if this grows any larger, use your own .h file */ | ||
#define MAX_TRANSFER ( PAGE_SIZE - 512 ) | ||
#define MAX_TRANSFER (PAGE_SIZE - 512) | ||
#define WRITES_IN_FLIGHT 8 | ||
|
||
/* Structure to hold all of our device specific stuff */ | ||
struct usb_skel { | ||
struct usb_device * udev; /* the usb device for this device */ | ||
struct usb_interface * interface; /* the interface for this device */ | ||
struct usb_device *dev; /* the usb device for this device */ | ||
struct usb_interface *interface; /* the interface for this device */ | ||
struct semaphore limit_sem; /* limiting the number of writes in progress */ | ||
unsigned char * bulk_in_buffer; /* the buffer to receive data */ | ||
unsigned char *bulk_in_buffer; /* the buffer to receive data */ | ||
size_t bulk_in_size; /* the size of the receive buffer */ | ||
__u8 bulk_in_endpointAddr; /* the address of the bulk in endpoint */ | ||
__u8 bulk_out_endpointAddr; /* the address of the bulk out endpoint */ | ||
|
@@ -59,12 +59,12 @@ struct usb_skel { | |
static struct usb_driver skel_driver; | ||
|
||
static void skel_delete(struct kref *kref) | ||
{ | ||
{ | ||
struct usb_skel *dev = to_skel_dev(kref); | ||
|
||
usb_put_dev(dev->udev); | ||
kfree (dev->bulk_in_buffer); | ||
kfree (dev); | ||
kfree(dev->bulk_in_buffer); | ||
kfree(dev); | ||
} | ||
|
||
static int skel_open(struct inode *inode, struct file *file) | ||
|
@@ -116,7 +116,7 @@ static int skel_release(struct inode *inode, struct file *file) | |
static ssize_t skel_read(struct file *file, char *buffer, size_t count, loff_t *ppos) | ||
{ | ||
struct usb_skel *dev; | ||
int retval = 0; | ||
int retval; | ||
int bytes_read; | ||
|
||
dev = (struct usb_skel *)file->private_data; | ||
|
@@ -154,16 +154,16 @@ static void skel_write_bulk_callback(struct urb *urb, struct pt_regs *regs) | |
dev = (struct usb_skel *)urb->context; | ||
|
||
/* sync/async unlink faults aren't errors */ | ||
if (urb->status && | ||
!(urb->status == -ENOENT || | ||
if (urb->status && | ||
!(urb->status == -ENOENT || | ||
urb->status == -ECONNRESET || | ||
urb->status == -ESHUTDOWN)) { | ||
dbg("%s - nonzero write bulk status received: %d", | ||
err("%s - nonzero write bulk status received: %d", | ||
__FUNCTION__, urb->status); | ||
} | ||
|
||
/* free up our allocated buffer */ | ||
usb_buffer_free(urb->dev, urb->transfer_buffer_length, | ||
usb_buffer_free(urb->dev, urb->transfer_buffer_length, | ||
urb->transfer_buffer, urb->transfer_dma); | ||
up(&dev->limit_sem); | ||
} | ||
|
@@ -251,7 +251,7 @@ static const struct file_operations skel_fops = { | |
.release = skel_release, | ||
}; | ||
|
||
/* | ||
/* | ||
* usb class driver info in order to get a minor number from the usb core, | ||
* and to have the device registered with the driver core | ||
*/ | ||
|
@@ -263,7 +263,7 @@ static struct usb_class_driver skel_class = { | |
|
||
static int skel_probe(struct usb_interface *interface, const struct usb_device_id *id) | ||
{ | ||
struct usb_skel *dev = NULL; | ||
struct usb_skel *dev; | ||
struct usb_host_interface *iface_desc; | ||
struct usb_endpoint_descriptor *endpoint; | ||
size_t buffer_size; | ||
|
@@ -272,7 +272,7 @@ static int skel_probe(struct usb_interface *interface, const struct usb_device_i | |
|
||
/* allocate memory for our device state and initialize it */ | ||
dev = kzalloc(sizeof(*dev), GFP_KERNEL); | ||
if (dev == NULL) { | ||
if (!dev) { | ||
err("Out of memory"); | ||
goto error; | ||
} | ||
|
@@ -290,10 +290,7 @@ static int skel_probe(struct usb_interface *interface, const struct usb_device_i | |
endpoint = &iface_desc->endpoint[i].desc; | ||
|
||
if (!dev->bulk_in_endpointAddr && | ||
((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) | ||
== USB_DIR_IN) && | ||
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) | ||
== USB_ENDPOINT_XFER_BULK)) { | ||
usb_endpoint_is_bulk_in(endpoint)) { | ||
/* we found a bulk in endpoint */ | ||
buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); | ||
dev->bulk_in_size = buffer_size; | ||
|
@@ -306,10 +303,7 @@ static int skel_probe(struct usb_interface *interface, const struct usb_device_i | |
} | ||
|
||
if (!dev->bulk_out_endpointAddr && | ||
((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) | ||
== USB_DIR_OUT) && | ||
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) | ||
== USB_ENDPOINT_XFER_BULK)) { | ||
usb_endpoint_is_bulk_out(endpoint)) { | ||
/* we found a bulk out endpoint */ | ||
dev->bulk_out_endpointAddr = endpoint->bEndpointAddress; | ||
} | ||
|
@@ -393,7 +387,7 @@ static void __exit usb_skel_exit(void) | |
usb_deregister(&skel_driver); | ||
} | ||
|
||
module_init (usb_skel_init); | ||
module_exit (usb_skel_exit); | ||
module_init(usb_skel_init); | ||
module_exit(usb_skel_exit); | ||
|
||
MODULE_LICENSE("GPL"); |