diff options
Diffstat (limited to 'drivers/usb/misc/iowarrior.c')
| -rw-r--r-- | drivers/usb/misc/iowarrior.c | 70 | 
1 files changed, 27 insertions, 43 deletions
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c index c9078e4e1f4..c6bfd13f6c9 100644 --- a/drivers/usb/misc/iowarrior.c +++ b/drivers/usb/misc/iowarrior.c @@ -15,7 +15,6 @@  #include <linux/module.h>  #include <linux/usb.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/sched.h>  #include <linux/mutex.h> @@ -40,7 +39,7 @@  #ifdef CONFIG_USB_DYNAMIC_MINORS  #define IOWARRIOR_MINOR_BASE	0  #else -#define IOWARRIOR_MINOR_BASE	208	// SKELETON_MINOR_BASE 192 + 16, not offical yet +#define IOWARRIOR_MINOR_BASE	208	// SKELETON_MINOR_BASE 192 + 16, not official yet  #endif  /* interrupt input queue size */ @@ -52,19 +51,12 @@  */  #define MAX_WRITES_IN_FLIGHT 4 -/* Use our own dbg macro */ -#undef dbg -#define dbg( format, arg... ) do { if( debug ) printk( KERN_DEBUG __FILE__ ": " format "\n" , ## arg ); } while ( 0 ) -  MODULE_AUTHOR(DRIVER_AUTHOR);  MODULE_DESCRIPTION(DRIVER_DESC);  MODULE_LICENSE("GPL");  /* Module parameters */  static DEFINE_MUTEX(iowarrior_mutex); -static int debug = 0; -module_param(debug, bool, 0644); -MODULE_PARM_DESC(debug, "debug=1 enables debugging messages");  static struct usb_driver iowarrior_driver;  static DEFINE_MUTEX(iowarrior_open_disc_lock); @@ -236,8 +228,8 @@ static void iowarrior_write_callback(struct urb *urb)  	if (status &&  	    !(status == -ENOENT ||  	      status == -ECONNRESET || status == -ESHUTDOWN)) { -		dbg("%s - nonzero write bulk status received: %d", -		    __func__, status); +		dev_dbg(&dev->interface->dev, +			"nonzero write bulk status received: %d\n", status);  	}  	/* free up our allocated buffer */  	usb_free_coherent(urb->dev, urb->transfer_buffer_length, @@ -252,7 +244,7 @@ static void iowarrior_write_callback(struct urb *urb)   */  static inline void iowarrior_delete(struct iowarrior *dev)  { -	dbg("%s - minor %d", __func__, dev->minor); +	dev_dbg(&dev->interface->dev, "minor %d\n", dev->minor);  	kfree(dev->int_in_buffer);  	usb_free_urb(dev->int_in_urb);  	kfree(dev->read_queue); @@ -289,7 +281,8 @@ static ssize_t iowarrior_read(struct file *file, char __user *buffer,  	if (dev == NULL || !dev->present)  		return -ENODEV; -	dbg("%s - minor %d, count = %zd", __func__, dev->minor, count); +	dev_dbg(&dev->interface->dev, "minor %d, count = %zd\n", +		dev->minor, count);  	/* read count must be packet size (+ time stamp) */  	if ((count != dev->report_size) @@ -300,7 +293,7 @@ static ssize_t iowarrior_read(struct file *file, char __user *buffer,  	do {  		atomic_set(&dev->overflow_flag, 0);  		if ((read_idx = read_index(dev)) == -1) { -			/* queue emty */ +			/* queue empty */  			if (file->f_flags & O_NONBLOCK)  				return -EAGAIN;  			else { @@ -357,7 +350,8 @@ static ssize_t iowarrior_write(struct file *file,  		retval = -ENODEV;  		goto exit;  	} -	dbg("%s - minor %d, count = %zd", __func__, dev->minor, count); +	dev_dbg(&dev->interface->dev, "minor %d, count = %zd\n", +		dev->minor, count);  	/* if count is 0 we're already done */  	if (count == 0) {  		retval = 0; @@ -419,14 +413,16 @@ static ssize_t iowarrior_write(struct file *file,  		int_out_urb = usb_alloc_urb(0, GFP_KERNEL);  		if (!int_out_urb) {  			retval = -ENOMEM; -			dbg("%s Unable to allocate urb ", __func__); +			dev_dbg(&dev->interface->dev, +				"Unable to allocate urb\n");  			goto error_no_urb;  		}  		buf = usb_alloc_coherent(dev->udev, dev->report_size,  					 GFP_KERNEL, &int_out_urb->transfer_dma);  		if (!buf) {  			retval = -ENOMEM; -			dbg("%s Unable to allocate buffer ", __func__); +			dev_dbg(&dev->interface->dev, +				"Unable to allocate buffer\n");  			goto error_no_buffer;  		}  		usb_fill_int_urb(int_out_urb, dev->udev, @@ -442,8 +438,9 @@ static ssize_t iowarrior_write(struct file *file,  		}  		retval = usb_submit_urb(int_out_urb, GFP_KERNEL);  		if (retval) { -			dbg("%s submit error %d for urb nr.%d", __func__, -			    retval, atomic_read(&dev->write_busy)); +			dev_dbg(&dev->interface->dev, +				"submit error %d for urb nr.%d\n", +				retval, atomic_read(&dev->write_busy));  			goto error;  		}  		/* submit was ok */ @@ -503,8 +500,8 @@ static long iowarrior_ioctl(struct file *file, unsigned int cmd,  		goto error_out;  	} -	dbg("%s - minor %d, cmd 0x%.4x, arg %ld", __func__, dev->minor, cmd, -	    arg); +	dev_dbg(&dev->interface->dev, "minor %d, cmd 0x%.4x, arg %ld\n", +		dev->minor, cmd, arg);  	retval = 0;  	io_res = 0; @@ -602,16 +599,14 @@ static int iowarrior_open(struct inode *inode, struct file *file)  	int subminor;  	int retval = 0; -	dbg("%s", __func__); -  	mutex_lock(&iowarrior_mutex);  	subminor = iminor(inode);  	interface = usb_find_interface(&iowarrior_driver, subminor);  	if (!interface) {  		mutex_unlock(&iowarrior_mutex); -		err("%s - error, can't find device for minor %d", __func__, -		    subminor); +		printk(KERN_ERR "%s - error, can't find device for minor %d\n", +		       __func__, subminor);  		return -ENODEV;  	} @@ -663,7 +658,7 @@ static int iowarrior_release(struct inode *inode, struct file *file)  		return -ENODEV;  	} -	dbg("%s - minor %d", __func__, dev->minor); +	dev_dbg(&dev->interface->dev, "minor %d\n", dev->minor);  	/* lock our device */  	mutex_lock(&dev->mutex); @@ -672,7 +667,7 @@ static int iowarrior_release(struct inode *inode, struct file *file)  		retval = -ENODEV;	/* close called more than once */  		mutex_unlock(&dev->mutex);  	} else { -		dev->opened = 0;	/* we're closeing now */ +		dev->opened = 0;	/* we're closing now */  		retval = 0;  		if (dev->present) {  			/* @@ -734,7 +729,7 @@ static const struct file_operations iowarrior_fops = {  	.llseek = noop_llseek,  }; -static char *iowarrior_devnode(struct device *dev, mode_t *mode) +static char *iowarrior_devnode(struct device *dev, umode_t *mode)  {  	return kasprintf(GFP_KERNEL, "usb/%s", dev_name(dev));  } @@ -769,7 +764,7 @@ static int iowarrior_probe(struct usb_interface *interface,  	int i;  	int retval = -ENOMEM; -	/* allocate memory for our device state and intialize it */ +	/* allocate memory for our device state and initialize it */  	dev = kzalloc(sizeof(struct iowarrior), GFP_KERNEL);  	if (dev == NULL) {  		dev_err(&interface->dev, "Out of memory\n"); @@ -802,8 +797,8 @@ static int iowarrior_probe(struct usb_interface *interface,  			/* this one will match for the IOWarrior56 only */  			dev->int_out_endpoint = endpoint;  	} -	/* we have to check the report_size often, so remember it in the endianess suitable for our machine */ -	dev->report_size = le16_to_cpu(dev->int_in_endpoint->wMaxPacketSize); +	/* we have to check the report_size often, so remember it in the endianness suitable for our machine */ +	dev->report_size = usb_endpoint_maxp(dev->int_in_endpoint);  	if ((dev->interface->cur_altsetting->desc.bInterfaceNumber == 0) &&  	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56))  		/* IOWarrior56 has wMaxPacketSize different from report size */ @@ -927,15 +922,4 @@ static struct usb_driver iowarrior_driver = {  	.id_table = iowarrior_ids,  }; -static int __init iowarrior_init(void) -{ -	return usb_register(&iowarrior_driver); -} - -static void __exit iowarrior_exit(void) -{ -	usb_deregister(&iowarrior_driver); -} - -module_init(iowarrior_init); -module_exit(iowarrior_exit); +module_usb_driver(iowarrior_driver);  | 
