Commit eb0ebaf6 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

[PATCH] USB: fix up formatting problems in the legotower driver

Basically fixed up spaces to tabs problems.
parent 4a62274d
/* /*
* LEGO USB Tower driver * LEGO USB Tower driver
* *
* Copyright (c) 2003 David Glance <davidgsf@sourceforge.net> * Copyright (C) 2003 David Glance <davidgsf@sourceforge.net>
* 2001 Juergen Stuber <stuber@loria.fr> * 2001 Juergen Stuber <stuber@loria.fr>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* the License, or (at your option) any later version. * the License, or (at your option) any later version.
* *
* derived from USB Skeleton driver - 0.5 * derived from USB Skeleton driver - 0.5
* Copyright (c) 2001 Greg Kroah-Hartman (greg@kroah.com) * Copyright (C) 2001 Greg Kroah-Hartman (greg@kroah.com)
* *
* History: * History:
* *
...@@ -127,10 +127,6 @@ struct lego_usb_tower { ...@@ -127,10 +127,6 @@ struct lego_usb_tower {
* interrupt_in_buffer belongs to urb alone and is overwritten on overflow * interrupt_in_buffer belongs to urb alone and is overwritten on overflow
*/ */
/* the global usb devfs handle */
// extern devfs_handle_t usb_devfs_handle;
/* local function prototypes */ /* local function prototypes */
static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t *ppos); static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t *ppos);
static ssize_t tower_write (struct file *file, const char *buffer, size_t count, loff_t *ppos); static ssize_t tower_write (struct file *file, const char *buffer, size_t count, loff_t *ppos);
...@@ -212,7 +208,7 @@ static inline void tower_delete (struct lego_usb_tower *dev) ...@@ -212,7 +208,7 @@ static inline void tower_delete (struct lego_usb_tower *dev)
/* free data structures */ /* free data structures */
if (dev->interrupt_in_urb != NULL) { if (dev->interrupt_in_urb != NULL) {
usb_free_urb (dev->interrupt_in_urb); usb_free_urb (dev->interrupt_in_urb);
} }
if (dev->interrupt_out_urb != NULL) { if (dev->interrupt_out_urb != NULL) {
usb_free_urb (dev->interrupt_out_urb); usb_free_urb (dev->interrupt_out_urb);
} }
...@@ -240,7 +236,7 @@ static int tower_open (struct inode *inode, struct file *file) ...@@ -240,7 +236,7 @@ static int tower_open (struct inode *inode, struct file *file)
int subminor; int subminor;
int retval = 0; int retval = 0;
struct usb_interface *interface; struct usb_interface *interface;
dbg(2,"%s : enter", __func__); dbg(2,"%s : enter", __func__);
subminor = iminor(inode); subminor = iminor(inode);
...@@ -279,7 +275,7 @@ static int tower_open (struct inode *inode, struct file *file) ...@@ -279,7 +275,7 @@ static int tower_open (struct inode *inode, struct file *file)
up (&dev->sem); up (&dev->sem);
exit_no_device: exit_no_device:
up (&disconnect_sem); up (&disconnect_sem);
...@@ -301,9 +297,9 @@ static int tower_release (struct inode *inode, struct file *file) ...@@ -301,9 +297,9 @@ static int tower_release (struct inode *inode, struct file *file)
dev = (struct lego_usb_tower *)file->private_data; dev = (struct lego_usb_tower *)file->private_data;
if (dev == NULL) { if (dev == NULL) {
dbg(1," %s : object is NULL", __func__); dbg(1," %s : object is NULL", __func__);
retval = -ENODEV; retval = -ENODEV;
goto exit; goto exit;
} }
...@@ -319,7 +315,7 @@ static int tower_release (struct inode *inode, struct file *file) ...@@ -319,7 +315,7 @@ static int tower_release (struct inode *inode, struct file *file)
/* do the work */ /* do the work */
retval = tower_release_internal (dev); retval = tower_release_internal (dev);
exit: exit:
up (&dev->sem); up (&dev->sem);
dbg(2," %s : leave, return value %d", __func__, retval); dbg(2," %s : leave, return value %d", __func__, retval);
return retval; return retval;
...@@ -344,11 +340,11 @@ static int tower_release_internal (struct lego_usb_tower *dev) ...@@ -344,11 +340,11 @@ static int tower_release_internal (struct lego_usb_tower *dev)
/* decrement our usage count for the device */ /* decrement our usage count for the device */
--dev->open_count; --dev->open_count;
if (dev->open_count <= 0) { if (dev->open_count <= 0) {
tower_abort_transfers (dev); tower_abort_transfers (dev);
dev->open_count = 0; dev->open_count = 0;
} }
exit: exit:
dbg(2," %s : leave", __func__); dbg(2," %s : leave", __func__);
return retval; return retval;
} }
...@@ -369,13 +365,13 @@ static void tower_abort_transfers (struct lego_usb_tower *dev) ...@@ -369,13 +365,13 @@ static void tower_abort_transfers (struct lego_usb_tower *dev)
/* shutdown transfer */ /* shutdown transfer */
if (dev->interrupt_in_urb != NULL) { if (dev->interrupt_in_urb != NULL) {
usb_unlink_urb (dev->interrupt_in_urb); usb_unlink_urb (dev->interrupt_in_urb);
} }
if (dev->interrupt_out_urb != NULL) { if (dev->interrupt_out_urb != NULL) {
usb_unlink_urb (dev->interrupt_out_urb); usb_unlink_urb (dev->interrupt_out_urb);
} }
exit: exit:
dbg(2," %s : leave", __func__); dbg(2," %s : leave", __func__);
} }
...@@ -405,10 +401,10 @@ static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t ...@@ -405,10 +401,10 @@ static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t
err("No device or device unplugged %d", retval); err("No device or device unplugged %d", retval);
goto exit; goto exit;
} }
/* verify that we actually have some data to read */ /* verify that we actually have some data to read */
if (count == 0) { if (count == 0) {
dbg(1," %s : read request of 0 bytes", __func__); dbg(1," %s : read request of 0 bytes", __func__);
goto exit; goto exit;
} }
...@@ -449,32 +445,30 @@ static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t ...@@ -449,32 +445,30 @@ static ssize_t tower_read (struct file *file, char *buffer, size_t count, loff_t
timeout = interruptible_sleep_on_timeout (&dev->read_wait, timeout); timeout = interruptible_sleep_on_timeout (&dev->read_wait, timeout);
down (&dev->sem); down (&dev->sem);
} else { } else {
/* copy the data from read_buffer into userspace */ /* copy the data from read_buffer into userspace */
bytes_to_read = count > dev->read_buffer_length ? dev->read_buffer_length : count; bytes_to_read = count > dev->read_buffer_length ? dev->read_buffer_length : count;
if (copy_to_user (buffer, dev->read_buffer, bytes_to_read) != 0) { if (copy_to_user (buffer, dev->read_buffer, bytes_to_read) != 0) {
retval = -EFAULT; retval = -EFAULT;
goto exit; goto exit;
} }
dev->read_buffer_length -= bytes_to_read; dev->read_buffer_length -= bytes_to_read;
for (i=0; i<dev->read_buffer_length; i++) { for (i=0; i<dev->read_buffer_length; i++) {
dev->read_buffer[i] = dev->read_buffer[i+bytes_to_read]; dev->read_buffer[i] = dev->read_buffer[i+bytes_to_read];
} }
buffer += bytes_to_read; buffer += bytes_to_read;
count -= bytes_to_read; count -= bytes_to_read;
bytes_read += bytes_to_read; bytes_read += bytes_to_read;
if (count == 0) { if (count == 0) {
break; break;
} }
} }
}
}
retval = bytes_read; retval = bytes_read;
exit: exit:
/* unlock the device */ /* unlock the device */
up (&dev->sem); up (&dev->sem);
...@@ -491,7 +485,7 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count, ...@@ -491,7 +485,7 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count,
struct lego_usb_tower *dev; struct lego_usb_tower *dev;
size_t bytes_written = 0; size_t bytes_written = 0;
size_t bytes_to_write; size_t bytes_to_write;
size_t buffer_size; size_t buffer_size;
int retval = 0; int retval = 0;
int timeout = 0; int timeout = 0;
...@@ -516,9 +510,9 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count, ...@@ -516,9 +510,9 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count,
} }
while (count > 0) { while (count > 0) {
if (dev->interrupt_out_urb->status == -EINPROGRESS) { if (dev->interrupt_out_urb->status == -EINPROGRESS) {
timeout = COMMAND_TIMEOUT; timeout = COMMAND_TIMEOUT;
while (timeout > 0) { while (timeout > 0) {
if (signal_pending(current)) { if (signal_pending(current)) {
...@@ -544,50 +538,48 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count, ...@@ -544,50 +538,48 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count,
goto exit; goto exit;
} }
dbg(4," %s : in progress, count = %d", __func__, count); dbg(4," %s : in progress, count = %d", __func__, count);
} else {
dbg(4," %s : sending, count = %d", __func__, count);
} else { /* write the data into interrupt_out_buffer from userspace */
dbg(4," %s : sending, count = %d", __func__, count); buffer_size = dev->interrupt_out_endpoint->wMaxPacketSize;
bytes_to_write = count > buffer_size ? buffer_size : count;
/* write the data into interrupt_out_buffer from userspace */
buffer_size = dev->interrupt_out_endpoint->wMaxPacketSize;
bytes_to_write = count > buffer_size ? buffer_size : count;
dbg(4," %s : buffer_size = %d, count = %d, bytes_to_write = %d", __func__, buffer_size, count, bytes_to_write); dbg(4," %s : buffer_size = %d, count = %d, bytes_to_write = %d", __func__, buffer_size, count, bytes_to_write);
if (copy_from_user (dev->interrupt_out_buffer, buffer, bytes_to_write) != 0) { if (copy_from_user (dev->interrupt_out_buffer, buffer, bytes_to_write) != 0) {
retval = -EFAULT; retval = -EFAULT;
goto exit; goto exit;
} }
/* send off the urb */ /* send off the urb */
usb_fill_int_urb( usb_fill_int_urb(dev->interrupt_out_urb,
dev->interrupt_out_urb, dev->udev,
dev->udev, usb_sndintpipe(dev->udev, dev->interrupt_out_endpoint->bEndpointAddress),
usb_sndintpipe(dev->udev, dev->interrupt_out_endpoint->bEndpointAddress), dev->interrupt_out_buffer,
dev->interrupt_out_buffer, bytes_to_write,
bytes_to_write, tower_interrupt_out_callback,
tower_interrupt_out_callback, dev,
dev, dev->interrupt_in_endpoint->bInterval);
dev->interrupt_in_endpoint->bInterval);
dev->interrupt_out_urb->actual_length = bytes_to_write; dev->interrupt_out_urb->actual_length = bytes_to_write;
retval = usb_submit_urb (dev->interrupt_out_urb, GFP_KERNEL); retval = usb_submit_urb (dev->interrupt_out_urb, GFP_KERNEL);
if (retval < 0) { if (retval < 0) {
err("Couldn't submit interrupt_out_urb %d", retval); err("Couldn't submit interrupt_out_urb %d", retval);
goto exit; goto exit;
} }
buffer += bytes_to_write; buffer += bytes_to_write;
count -= bytes_to_write; count -= bytes_to_write;
bytes_written += bytes_to_write; bytes_written += bytes_to_write;
} }
} }
retval = bytes_written; retval = bytes_written;
exit: exit:
/* unlock the device */ /* unlock the device */
up (&dev->sem); up (&dev->sem);
...@@ -605,7 +597,7 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count, ...@@ -605,7 +597,7 @@ static ssize_t tower_write (struct file *file, const char *buffer, size_t count,
static int tower_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) static int tower_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{ {
int retval = -ENOTTY; /* default: we don't understand ioctl */ int retval = -ENOTTY; /* default: we don't understand ioctl */
return retval; return retval;
} }
...@@ -620,35 +612,35 @@ static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs) ...@@ -620,35 +612,35 @@ static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs)
dbg(4," %s : enter, status %d", __func__, urb->status); dbg(4," %s : enter, status %d", __func__, urb->status);
lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer); lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer);
if (urb->status != 0) { if (urb->status != 0) {
if ((urb->status != -ENOENT) && (urb->status != -ECONNRESET)) { if ((urb->status != -ENOENT) && (urb->status != -ECONNRESET)) {
dbg(1," %s : nonzero status received: %d", __func__, urb->status); dbg(1," %s : nonzero status received: %d", __func__, urb->status);
} }
goto exit; goto exit;
} }
down (&dev->sem); down (&dev->sem);
if (urb->actual_length > 0) { if (urb->actual_length > 0) {
if (dev->read_buffer_length < (4 * dev->interrupt_in_endpoint->wMaxPacketSize) - (urb->actual_length)) { if (dev->read_buffer_length < (4 * dev->interrupt_in_endpoint->wMaxPacketSize) - (urb->actual_length)) {
memcpy (dev->read_buffer+dev->read_buffer_length, dev->interrupt_in_buffer, urb->actual_length); memcpy (dev->read_buffer+dev->read_buffer_length, dev->interrupt_in_buffer, urb->actual_length);
dev->read_buffer_length += urb->actual_length; dev->read_buffer_length += urb->actual_length;
dbg(1," %s reading %d ", __func__, urb->actual_length); dbg(1," %s reading %d ", __func__, urb->actual_length);
wake_up_interruptible (&dev->read_wait); wake_up_interruptible (&dev->read_wait);
} else { } else {
dbg(1," %s : read_buffer overflow", __func__); dbg(1," %s : read_buffer overflow", __func__);
} }
} }
up (&dev->sem); up (&dev->sem);
exit: exit:
lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer); lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer);
dbg(4," %s : leave, status %d", __func__, urb->status); dbg(4," %s : leave, status %d", __func__, urb->status);
} }
...@@ -661,20 +653,20 @@ static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs) ...@@ -661,20 +653,20 @@ static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs)
struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context; struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context;
dbg(4," %s : enter, status %d", __func__, urb->status); dbg(4," %s : enter, status %d", __func__, urb->status);
lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer); lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer);
if (urb->status != 0) { if (urb->status != 0) {
if ((urb->status != -ENOENT) && if ((urb->status != -ENOENT) &&
(urb->status != -ECONNRESET)) { (urb->status != -ECONNRESET)) {
dbg(1, " %s :nonzero status received: %d", __func__, urb->status); dbg(1, " %s :nonzero status received: %d", __func__, urb->status);
} }
goto exit; goto exit;
} }
wake_up_interruptible(&dev->write_wait); wake_up_interruptible(&dev->write_wait);
exit: exit:
lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer); lego_usb_tower_debug_data(5,__func__, urb->actual_length, urb->transfer_buffer);
dbg(4," %s : leave, status %d", __func__, urb->status); dbg(4," %s : leave, status %d", __func__, urb->status);
} }
...@@ -744,47 +736,47 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device ...@@ -744,47 +736,47 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device
if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) && if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) &&
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) { ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
dev->interrupt_in_endpoint = endpoint; dev->interrupt_in_endpoint = endpoint;
} }
if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) && if (((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) &&
((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) { ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT)) {
dev->interrupt_out_endpoint = endpoint; dev->interrupt_out_endpoint = endpoint;
} }
} }
if(dev->interrupt_in_endpoint == NULL) { if(dev->interrupt_in_endpoint == NULL) {
err("interrupt in endpoint not found"); err("interrupt in endpoint not found");
goto error; goto error;
} }
if (dev->interrupt_out_endpoint == NULL) { if (dev->interrupt_out_endpoint == NULL) {
err("interrupt out endpoint not found"); err("interrupt out endpoint not found");
goto error; goto error;
} }
dev->read_buffer = kmalloc ((4*dev->interrupt_in_endpoint->wMaxPacketSize), GFP_KERNEL); dev->read_buffer = kmalloc ((4*dev->interrupt_in_endpoint->wMaxPacketSize), GFP_KERNEL);
if (!dev->read_buffer) { if (!dev->read_buffer) {
err("Couldn't allocate read_buffer"); err("Couldn't allocate read_buffer");
goto error; goto error;
} }
dev->interrupt_in_buffer = kmalloc (dev->interrupt_in_endpoint->wMaxPacketSize, GFP_KERNEL); dev->interrupt_in_buffer = kmalloc (dev->interrupt_in_endpoint->wMaxPacketSize, GFP_KERNEL);
if (!dev->interrupt_in_buffer) { if (!dev->interrupt_in_buffer) {
err("Couldn't allocate interrupt_in_buffer"); err("Couldn't allocate interrupt_in_buffer");
goto error; goto error;
} }
dev->interrupt_in_urb = usb_alloc_urb(0, GFP_KERNEL); dev->interrupt_in_urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->interrupt_in_urb) { if (!dev->interrupt_in_urb) {
err("Couldn't allocate interrupt_in_urb"); err("Couldn't allocate interrupt_in_urb");
goto error; goto error;
} }
dev->interrupt_out_buffer = kmalloc (dev->interrupt_out_endpoint->wMaxPacketSize, GFP_KERNEL); dev->interrupt_out_buffer = kmalloc (dev->interrupt_out_endpoint->wMaxPacketSize, GFP_KERNEL);
if (!dev->interrupt_out_buffer) { if (!dev->interrupt_out_buffer) {
err("Couldn't allocate interrupt_out_buffer"); err("Couldn't allocate interrupt_out_buffer");
goto error; goto error;
} }
dev->interrupt_out_urb = usb_alloc_urb(0, GFP_KERNEL); dev->interrupt_out_urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->interrupt_out_urb) { if (!dev->interrupt_out_urb) {
err("Couldn't allocate interrupt_out_urb"); err("Couldn't allocate interrupt_out_urb");
goto error; goto error;
} }
/* initialize the devfs node for this device and register it */ /* initialize the devfs node for this device and register it */
...@@ -808,12 +800,12 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device ...@@ -808,12 +800,12 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device
exit: exit:
dbg(2," %s : leave, return value 0x%.8lx (dev)", __func__, (long) dev); dbg(2," %s : leave, return value 0x%.8lx (dev)", __func__, (long) dev);
return retval; return retval;
error: error:
tower_delete(dev); tower_delete(dev);
return retval; return retval;
} }
...@@ -877,12 +869,12 @@ static int __init lego_usb_tower_init(void) ...@@ -877,12 +869,12 @@ static int __init lego_usb_tower_init(void)
if (result < 0) { if (result < 0) {
err("usb_register failed for the "__FILE__" driver. Error number %d", result); err("usb_register failed for the "__FILE__" driver. Error number %d", result);
retval = -1; retval = -1;
goto exit; goto exit;
} }
info(DRIVER_DESC " " DRIVER_VERSION); info(DRIVER_DESC " " DRIVER_VERSION);
exit: exit:
dbg(2," %s : leave, return value %d", __func__, retval); dbg(2," %s : leave, return value %d", __func__, retval);
return retval; return retval;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment