linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: linux-usb-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB and Driver Core patches for 2.6.10
Date: Fri, 7 Jan 2005 21:47:44 -0800	[thread overview]
Message-ID: <11051632643128@kroah.com> (raw)
In-Reply-To: <11051632641468@kroah.com>

ChangeSet 1.1938.446.7, 2004/12/15 14:47:29-08:00, greg@kroah.com

USB: delete the tiglusb driver as it's not needed

You can use a userspace program and libusb instead.  The author asked for
this driver to be removed because of this.

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>


 drivers/usb/misc/tiglusb.c |  592 ---------------------------------------------
 drivers/usb/misc/tiglusb.h |   43 ---
 drivers/usb/Makefile       |    1 
 drivers/usb/misc/Kconfig   |   20 -
 drivers/usb/misc/Makefile  |    1 
 5 files changed, 657 deletions(-)


diff -Nru a/drivers/usb/Makefile b/drivers/usb/Makefile
--- a/drivers/usb/Makefile	2005-01-07 15:50:39 -08:00
+++ b/drivers/usb/Makefile	2005-01-07 15:50:39 -08:00
@@ -65,7 +65,6 @@
 obj-$(CONFIG_USB_LEGOTOWER)	+= misc/
 obj-$(CONFIG_USB_RIO500)	+= misc/
 obj-$(CONFIG_USB_TEST)		+= misc/
-obj-$(CONFIG_USB_TIGL)		+= misc/
 obj-$(CONFIG_USB_USS720)	+= misc/
 obj-$(CONFIG_USB_PHIDGETSERVO)	+= misc/
 
diff -Nru a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
--- a/drivers/usb/misc/Kconfig	2005-01-07 15:50:39 -08:00
+++ b/drivers/usb/misc/Kconfig	2005-01-07 15:50:39 -08:00
@@ -32,26 +32,6 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called emi26.
 
-config USB_TIGL
-	tristate "Texas Instruments Graph Link USB (aka SilverLink) cable support"
-	depends on USB
-	---help---
-	  If you own a Texas Instruments graphing calculator and use a 
-	  TI-GRAPH LINK USB cable (aka SilverLink), then you might be 
-	  interested in this driver.
-
-	  If you enable this driver, you will be able to communicate with
-	  your calculator through a set of device nodes under /dev.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called tiglusb.
-
-	  If you don't know what the SilverLink cable is or what a Texas
-	  Instruments graphing calculator is, then you probably don't need this
-	  driver.
-
-	  If unsure, say N.
-
 config USB_AUERSWALD
 	tristate "USB Auerswald ISDN support (EXPERIMENTAL)"
 	depends on USB && EXPERIMENTAL
diff -Nru a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile
--- a/drivers/usb/misc/Makefile	2005-01-07 15:50:39 -08:00
+++ b/drivers/usb/misc/Makefile	2005-01-07 15:50:39 -08:00
@@ -14,5 +14,4 @@
 obj-$(CONFIG_USB_PHIDGETSERVO)	+= phidgetservo.o
 obj-$(CONFIG_USB_RIO500)	+= rio500.o
 obj-$(CONFIG_USB_TEST)		+= usbtest.o
-obj-$(CONFIG_USB_TIGL)		+= tiglusb.o
 obj-$(CONFIG_USB_USS720)	+= uss720.o
diff -Nru a/drivers/usb/misc/tiglusb.c b/drivers/usb/misc/tiglusb.c
--- a/drivers/usb/misc/tiglusb.c	2005-01-07 15:50:39 -08:00
+++ /dev/null	Wed Dec 31 16:00:00 196900
@@ -1,592 +0,0 @@
-/* Hey EMACS -*- linux-c -*-
- *
- * tiglusb -- Texas Instruments' USB GraphLink (aka SilverLink) driver.
- * Target: Texas Instruments graphing calculators (http://lpg.ticalc.org).
- *
- * Copyright (C) 2001-2004:
- *   Romain Lievin <roms@tilp.info>
- *   Julien BLACHE <jb@technologeek.org>
- * under the terms of the GNU General Public License.
- *
- * Based on dabusb.c, printer.c & scanner.c
- *
- * Please see the file: Documentation/usb/silverlink.txt
- * and the website at:  http://lpg.ticalc.org/prj_usb/
- * for more info.
- *
- * History:
- *   1.0x, Romain & Julien: initial submit.
- *   1.03, Greg Kroah: modifications.
- *   1.04, Julien: clean-up & fixes; Romain: 2.4 backport.
- *   1.05, Randy Dunlap: bug fix with the timeout parameter (divide-by-zero).
- *   1.06, Romain: synched with 2.5, version/firmware changed (confusing).
- *   1.07, Romain: fixed bad use of usb_clear_halt (invalid argument);
- *          timeout argument checked in ioctl + clean-up.
- *   1.08, Romain: added support of USB port embedded on some TI's handhelds.
- */
-
-#include <linux/module.h>
-#include <linux/socket.h>
-#include <linux/slab.h>
-#include <linux/init.h>
-#include <asm/uaccess.h>
-#include <linux/delay.h>
-#include <linux/usb.h>
-#include <linux/smp_lock.h>
-#include <linux/devfs_fs_kernel.h>
-#include <linux/device.h>
-
-#include <linux/ticable.h>
-#include "tiglusb.h"
-
-/*
- * Version Information
- */
-#define DRIVER_VERSION "1.08"
-#define DRIVER_AUTHOR  "Romain Lievin <roms@tilp.info> & Julien Blache <jb@jblache.org>"
-#define DRIVER_DESC    "TI-GRAPH LINK USB (aka SilverLink) driver"
-#define DRIVER_LICENSE "GPL"
-
-/* ----- global variables --------------------------------------------- */
-
-static tiglusb_t tiglusb[MAXTIGL];
-static int timeout = TIMAXTIME;	/* timeout in tenth of seconds     */
-static struct class_simple *tiglusb_class;
-
-/*---------- misc functions ------------------------------------------- */
-
-/*
- * Re-initialize device
- */
-static inline int
-clear_device (struct usb_device *dev)
-{
-	if (usb_reset_configuration (dev) < 0) {
-		err ("clear_device failed");
-		return -1;
-	}
-
-	return 0;
-}
-
-/* 
- * Clear input & output pipes (endpoints)
- */
-static inline int
-clear_pipes (struct usb_device *dev)
-{
-	unsigned int pipe;
-
-	pipe = usb_sndbulkpipe (dev, 2);
-	if (usb_clear_halt (dev, pipe)) {
-		err ("clear_pipe (w), request failed");
-		return -1;
-	}
-
-	pipe = usb_rcvbulkpipe (dev, 1);
-	if (usb_clear_halt (dev, pipe)) {
-		err ("clear_pipe (r), request failed");
-		return -1;
-	}
-
-	return 0;
-}
-
-/* ----- file operations functions--------------------------------------- */
-
-static int
-tiglusb_open (struct inode *inode, struct file *filp)
-{
-	int devnum = iminor(inode);
-	ptiglusb_t s;
-
-	if (devnum < TIUSB_MINOR || devnum >= (TIUSB_MINOR + MAXTIGL))
-		return -EIO;
-
-	s = &tiglusb[devnum - TIUSB_MINOR];
-
-	if (down_interruptible (&s->mutex)) {
-		return -ERESTARTSYS;
-	}
-
-	while (!s->dev || s->opened) {
-		up (&s->mutex);
-
-		if (filp->f_flags & O_NONBLOCK) {
-			return -EBUSY;
-		}
-
-		msleep_interruptible(500);
-
-		if (signal_pending (current)) {
-			return -EAGAIN;
-		}
-
-		if (down_interruptible (&s->mutex)) {
-			return -ERESTARTSYS;
-		}
-	}
-
-	s->opened = 1;
-	up (&s->mutex);
-
-	filp->f_pos = 0;
-	filp->private_data = s;
-
-	return nonseekable_open(inode, filp);
-}
-
-static int
-tiglusb_release (struct inode *inode, struct file *filp)
-{
-	ptiglusb_t s = (ptiglusb_t) filp->private_data;
-
-	if (down_interruptible (&s->mutex)) {
-		return -ERESTARTSYS;
-	}
-
-	s->state = _stopped;
-	up (&s->mutex);
-
-	if (!s->remove_pending)
-		clear_device (s->dev);
-	else
-		wake_up (&s->remove_ok);
-
-	s->opened = 0;
-
-	return 0;
-}
-
-static ssize_t
-tiglusb_read (struct file *filp, char __user *buf, size_t count, loff_t * f_pos)
-{
-	ptiglusb_t s = (ptiglusb_t) filp->private_data;
-	ssize_t ret = 0;
-	int bytes_to_read = 0;
-	int bytes_read = 0;
-	int result = 0;
-	char *buffer;
-	unsigned int pipe;
-
-	if (*f_pos)
-		return -ESPIPE;
-
-	if (s->remove_pending)
-		return -EIO;
-
-	if (!s->dev)
-		return -EIO;
-
-	buffer = kmalloc (s->max_ps, GFP_KERNEL);
-	if (!buffer)
-		return -ENOMEM;
-
-	bytes_to_read = (count >= s->max_ps) ? s->max_ps : count;
-
-	pipe = usb_rcvbulkpipe (s->dev, 1);
-	result = usb_bulk_msg (s->dev, pipe, buffer, bytes_to_read,
-			       &bytes_read, (HZ * timeout) / 10);
-	if (result == -ETIMEDOUT) {	/* NAK */
-		if (!bytes_read)
-			dbg ("quirk !");
-		warn ("tiglusb_read, NAK received.");
-		ret = result;
-		goto out;
-	} else if (result == -EPIPE) {	/* STALL -- shouldn't happen */
-		warn ("clear_halt request to remove STALL condition.");
-		if (usb_clear_halt (s->dev, pipe))
-			err ("clear_halt, request failed");
-		clear_device (s->dev);
-		ret = result;
-		goto out;
-	} else if (result < 0) {	/* We should not get any I/O errors */
-		err ("funky result: %d. Please notify maintainer.", result);
-		ret = -EIO;
-		goto out;
-	}
-
-	if (copy_to_user (buf, buffer, bytes_read)) {
-		ret = -EFAULT;
-	}
-
-      out:
-	kfree(buffer);
-	return ret ? ret : bytes_read;
-}
-
-static ssize_t
-tiglusb_write (struct file *filp, const char __user *buf, size_t count, loff_t * f_pos)
-{
-	ptiglusb_t s = (ptiglusb_t) filp->private_data;
-	ssize_t ret = 0;
-	int bytes_to_write = 0;
-	int bytes_written = 0;
-	int result = 0;
-	char *buffer;
-	unsigned int pipe;
-
-	if (*f_pos)
-		return -ESPIPE;
-
-	if (s->remove_pending)
-		return -EIO;
-
-	if (!s->dev)
-		return -EIO;
-
-	buffer = kmalloc (s->max_ps, GFP_KERNEL);
-	if (!buffer)
-		return -ENOMEM;
-
-	bytes_to_write = (count >= s->max_ps) ? s->max_ps : count;
-	if (copy_from_user (buffer, buf, bytes_to_write)) {
-		ret = -EFAULT;
-		goto out;
-	}
-
-	pipe = usb_sndbulkpipe (s->dev, 2);
-	result = usb_bulk_msg (s->dev, pipe, buffer, bytes_to_write,
-			       &bytes_written, (HZ * timeout) / 10);
-
-	if (result == -ETIMEDOUT) {	/* NAK */
-		warn ("tiglusb_write, NAK received.");
-		ret = result;
-		goto out;
-	} else if (result == -EPIPE) {	/* STALL -- shouldn't happen */
-		warn ("clear_halt request to remove STALL condition.");
-		if (usb_clear_halt (s->dev, pipe))
-			err ("clear_halt, request failed");
-		clear_device (s->dev);
-		ret = result;
-		goto out;
-	} else if (result < 0) {	/* We should not get any I/O errors */
-		warn ("funky result: %d. Please notify maintainer.", result);
-		ret = -EIO;
-		goto out;
-	}
-
-	if (bytes_written != bytes_to_write) {
-		ret = -EIO;
-	}
-
-      out:
-	kfree(buffer);
-	return ret ? ret : bytes_written;
-}
-
-static int
-tiglusb_ioctl (struct inode *inode, struct file *filp,
-	       unsigned int cmd, unsigned long arg)
-{
-	ptiglusb_t s = (ptiglusb_t) filp->private_data;
-	int ret = 0;
-
-	if (s->remove_pending)
-		return -EIO;
-
-	if (down_interruptible (&s->mutex)) {
-		return -ERESTARTSYS;
-	}
-
-	if (!s->dev) {
-		up (&s->mutex);
-		return -EIO;
-	}
-
-	switch (cmd) {
-	case IOCTL_TIUSB_TIMEOUT:
-		if (arg > 0)
-			timeout = arg;
-		else
-			ret = -EINVAL;
-		break;
-	case IOCTL_TIUSB_RESET_DEVICE:
-		if (clear_device (s->dev))
-			ret = -EIO;
-		break;
-	case IOCTL_TIUSB_RESET_PIPES:
-		if (clear_pipes (s->dev))
-			ret = -EIO;
-		break;
-	case IOCTL_TIUSB_GET_MAXPS:
-                if (copy_to_user((int __user *) arg, &s->max_ps, sizeof(int)))
-                        return -EFAULT;
-                break;
-        case IOCTL_TIUSB_GET_DEVID:
-                if (copy_to_user((int __user *) arg, &s->dev->descriptor.idProduct,
-                                 sizeof(int)))
-                        return -EFAULT;
-                break;
-	default:
-		ret = -ENOTTY;
-		break;
-	}
-
-	up (&s->mutex);
-
-	return ret;
-}
-
-/* ----- kernel module registering ------------------------------------ */
-
-static struct file_operations tiglusb_fops = {
-	.owner =	THIS_MODULE,
-	.llseek =	no_llseek,
-	.read =		tiglusb_read,
-	.write =	tiglusb_write,
-	.ioctl =	tiglusb_ioctl,
-	.open =		tiglusb_open,
-	.release =	tiglusb_release,
-};
-
-/* --- initialisation code ------------------------------------- */
-
-static int
-tiglusb_probe (struct usb_interface *intf,
-	       const struct usb_device_id *id)
-{
-	struct usb_device *dev = interface_to_usbdev(intf);
-	int minor = -1;
-	int i, err = 0;
-	ptiglusb_t s;
-	struct usb_host_config *conf;
-        struct usb_host_interface *ifdata = NULL;
-        int max_ps;
-
-	dbg ("probing vendor id 0x%x, device id 0x%x",
-	     dev->descriptor.idVendor, dev->descriptor.idProduct);
-
-	/*
-	 * We don't handle multiple configurations. As of version 0x0103 of
-	 * the TIGL hardware, there's only 1 configuration.
-	 */
-
-	if (dev->descriptor.bNumConfigurations != 1) {
-		err = -ENODEV;
-		goto out;
-	}
-
-	if (dev->descriptor.idVendor != 0x451) {
-		err = -ENODEV;
-		goto out;
-	}
-
-	if ((dev->descriptor.idProduct != 0xe001) &&
-            (dev->descriptor.idProduct != 0xe004) &&
-            (dev->descriptor.idProduct != 0xe008)) {
-                err = -ENODEV;
-                goto out;
-        }
-
-	/*
-         * TI introduced some new handhelds with embedded USB port.
-         * Port advertises same config as SilverLink cable but with a 
-	 * different maximum packet size (64 rather than 32).
-         */
-
-        conf = dev->actconfig;
-        ifdata = conf->interface[0]->cur_altsetting;
-        max_ps = ifdata->endpoint[0].desc.wMaxPacketSize;
-
-        info("max packet size of %d/%d bytes\n",
-             ifdata->endpoint[0].desc.wMaxPacketSize,
-             ifdata->endpoint[1].desc.wMaxPacketSize);
-
-	/*
-	 * Find a tiglusb struct
-	 */
-	for (i = 0; i < MAXTIGL; i++) {
-		ptiglusb_t s = &tiglusb[i];
-		if (!s->dev) {
-			minor = i;
-			break;
-		}
-	}
-
-	if (minor == -1) {
-		err = -ENODEV;
-		goto out;
-	}
-
-	s = &tiglusb[minor];
-
-	down (&s->mutex);
-	s->remove_pending = 0;
-	s->dev = dev;
-	s->max_ps = max_ps;
-	up (&s->mutex);
-	dbg ("bound to interface");
-
-	class_simple_device_add(tiglusb_class, MKDEV(TIUSB_MAJOR, TIUSB_MINOR + s->minor),
-			NULL, "usb%d", s->minor);
-	err = devfs_mk_cdev(MKDEV(TIUSB_MAJOR, TIUSB_MINOR) + s->minor,
-			S_IFCHR | S_IRUGO | S_IWUGO,
-			"ticables/usb/%d", s->minor);
-
-	if (err)
-		goto out_class;
-
-	/* Display firmware version */
-	info ("firmware revision %i.%02x",
-		dev->descriptor.bcdDevice >> 8,
-		dev->descriptor.bcdDevice & 0xff);
-
-	usb_set_intfdata (intf, s);
-	err = 0;
-	goto out;
-
-out_class:
-	class_simple_device_remove(MKDEV(TIUSB_MAJOR, TIUSB_MINOR + s->minor));
-out:
-	return err;
-}
-
-static void
-tiglusb_disconnect (struct usb_interface *intf)
-{
-	wait_queue_t __wait;
-	ptiglusb_t s = usb_get_intfdata (intf);
-	
-	init_waitqueue_entry(&__wait, current);
-	
-
-	usb_set_intfdata (intf, NULL);
-	if (!s || !s->dev) {
-		info ("bogus disconnect");
-		return;
-	}
-
-	s->remove_pending = 1;
-	wake_up (&s->wait);
-	add_wait_queue(&s->wait, &__wait);
-	set_current_state(TASK_UNINTERRUPTIBLE);
-	if (s->state == _started)
-		schedule();
-	current->state = TASK_RUNNING;
-	remove_wait_queue(&s->wait, &__wait);
-	down (&s->mutex);
-	s->dev = NULL;
-	s->opened = 0;
-
-	class_simple_device_remove(MKDEV(TIUSB_MAJOR, TIUSB_MINOR + s->minor));
-	devfs_remove("ticables/usb/%d", s->minor);
-
-	info ("device %d removed", s->minor);
-
-	up (&s->mutex);
-}
-
-static struct usb_device_id tiglusb_ids[] = {
-	{USB_DEVICE (0x0451, 0xe001)},
-	{}
-};
-
-MODULE_DEVICE_TABLE (usb, tiglusb_ids);
-
-static struct usb_driver tiglusb_driver = {
-	.owner =	THIS_MODULE,
-	.name =		"tiglusb",
-	.probe =	tiglusb_probe,
-	.disconnect =	tiglusb_disconnect,
-	.id_table =	tiglusb_ids,
-};
-
-/* --- initialisation code ------------------------------------- */
-
-#ifndef MODULE
-/*
- * You can use 'tiusb=timeout' to set timeout.
- */
-static int __init
-tiglusb_setup (char *str)
-{
-	int ints[2];
-
-	str = get_options (str, ARRAY_SIZE (ints), ints);
-
-	if (ints[0] > 0) {
-		if (ints[1] > 0)
-			timeout = ints[1];
-		else
-			info ("tiglusb: wrong timeout value (0), using default value.");
-	}
-
-	return 1;
-}
-#endif
-
-static int __init
-tiglusb_init (void)
-{
-	unsigned u;
-	int result, err = 0;
-
-	/* initialize struct */
-	for (u = 0; u < MAXTIGL; u++) {
-		ptiglusb_t s = &tiglusb[u];
-		memset (s, 0, sizeof (tiglusb_t));
-		init_MUTEX (&s->mutex);
-		s->dev = NULL;
-		s->minor = u;
-		s->opened = 0;
-		init_waitqueue_head (&s->wait);
-		init_waitqueue_head (&s->remove_ok);
-	}
-
-	/* register device */
-	if (register_chrdev (TIUSB_MAJOR, "tiglusb", &tiglusb_fops)) {
-		err ("unable to get major %d", TIUSB_MAJOR);
-		err = -EIO;
-		goto out;
-	}
-
-	/* Use devfs, tree: /dev/ticables/usb/[0..3] */
-	devfs_mk_dir ("ticables/usb");
-
-	tiglusb_class = class_simple_create(THIS_MODULE, "tiglusb");
-	if (IS_ERR(tiglusb_class)) {
-		err = PTR_ERR(tiglusb_class);
-		goto out_chrdev;
-	}
-	/* register USB module */
-	result = usb_register (&tiglusb_driver);
-	if (result < 0) {
-		err = -1;
-		goto out_chrdev;
-	}
-
-	info (DRIVER_DESC ", version " DRIVER_VERSION);
-
-	err = 0;
-	goto out;
-
-out_chrdev:
-	unregister_chrdev (TIUSB_MAJOR, "tiglusb");
-out:
-	return err;
-}
-
-static void __exit
-tiglusb_cleanup (void)
-{
-	usb_deregister (&tiglusb_driver);
-	class_simple_destroy(tiglusb_class);
-	devfs_remove("ticables/usb");
-	unregister_chrdev (TIUSB_MAJOR, "tiglusb");
-}
-
-/* --------------------------------------------------------------------- */
-
-__setup ("tiusb=", tiglusb_setup);
-module_init (tiglusb_init);
-module_exit (tiglusb_cleanup);
-
-MODULE_AUTHOR (DRIVER_AUTHOR);
-MODULE_DESCRIPTION (DRIVER_DESC);
-MODULE_LICENSE (DRIVER_LICENSE);
-
-module_param(timeout, int, 0);
-MODULE_PARM_DESC (timeout, "Timeout in tenths of seconds (default=1.5 seconds)");
-
-/* --------------------------------------------------------------------- */
diff -Nru a/drivers/usb/misc/tiglusb.h b/drivers/usb/misc/tiglusb.h
--- a/drivers/usb/misc/tiglusb.h	2005-01-07 15:50:39 -08:00
+++ /dev/null	Wed Dec 31 16:00:00 196900
@@ -1,43 +0,0 @@
-/* Hey EMACS -*- linux-c -*-
- *
- * tiglusb - low level driver for SilverLink cable
- *
- * Copyright (C) 2000-2002, Romain Lievin <roms@lpg.ticalc.org>
- * under the terms of the GNU General Public License.
- *
- * Redistribution of this file is permitted under the terms of the GNU
- * Public License (GPL)
- */
-
-#ifndef _TIGLUSB_H
-#define _TIGLUSB_H
-
-/*
- * Max. number of devices supported
- */
-#define MAXTIGL		16
-
-/*
- * The driver context...
- */
-
-typedef enum { _stopped=0, _started } driver_state_t;
-
-typedef struct
-{
-	struct usb_device	*dev;		/* USB device handle */
-	struct semaphore	mutex;		/* locks this struct */
-
-	wait_queue_head_t	wait;		/* for timed waits */
-	wait_queue_head_t	remove_ok;
-
-	int		minor;			/* which minor dev #? */
-
-	driver_state_t	state;			/* started/stopped */
-	int		opened;			/* tru if open */
-	int	remove_pending;
-
-	int             max_ps;                 /* max packet size */
-} tiglusb_t, *ptiglusb_t;
-
-#endif


  reply	other threads:[~2005-01-08  7:45 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-08  5:46 [BK PATCH] USB and Driver Core patches for 2.6.10 Greg KH
2005-01-08  5:47 ` [PATCH] " Greg KH
2005-01-08  5:47   ` Greg KH
2005-01-08  5:47     ` Greg KH
2005-01-08  5:47       ` Greg KH
2005-01-08  5:47         ` Greg KH
2005-01-08  5:47           ` Greg KH
2005-01-08  5:47             ` Greg KH
2005-01-08  5:47               ` Greg KH
2005-01-08  5:47                 ` Greg KH
2005-01-08  5:47                   ` Greg KH
2005-01-08  5:47                     ` Greg KH
2005-01-08  5:47                       ` Greg KH
2005-01-08  5:47                         ` Greg KH
2005-01-08  5:47                           ` Greg KH
2005-01-08  5:47                             ` Greg KH
2005-01-08  5:47                               ` Greg KH
2005-01-08  5:47                                 ` Greg KH
2005-01-08  5:47                                   ` Greg KH
2005-01-08  5:47                                     ` Greg KH
2005-01-08  5:47                                       ` Greg KH
2005-01-08  5:47                                         ` Greg KH
2005-01-08  5:47                                           ` Greg KH
2005-01-08  5:47                                             ` Greg KH
2005-01-08  5:47                                               ` Greg KH
2005-01-08  5:47                                                 ` Greg KH
2005-01-08  5:47                                                   ` Greg KH
2005-01-08  5:47                                                     ` Greg KH
2005-01-08  5:47                                                       ` Greg KH
2005-01-08  5:47                                                         ` Greg KH
2005-01-08  5:47                                                           ` Greg KH
2005-01-08  5:47                                                             ` Greg KH
2005-01-08  5:47                                                               ` Greg KH
2005-01-08  5:47                                                                 ` Greg KH
2005-01-08  5:47                                                                   ` Greg KH
2005-01-08  5:47                                                                     ` Greg KH
2005-01-08  5:47                                                                       ` Greg KH
2005-01-08  5:47                                                                         ` Greg KH
2005-01-08  5:47                                                                           ` Greg KH
2005-01-08  5:47                                                                             ` Greg KH
2005-01-08  5:47                                                                               ` Greg KH
2005-01-08  5:47                                                                                 ` Greg KH
2005-01-08  5:47                                                                                   ` Greg KH
2005-01-08  5:47                                                                                     ` Greg KH
2005-01-08  5:47                                                                                       ` Greg KH
2005-01-08  5:47                                                                                         ` Greg KH
2005-01-08  5:47                                                                                           ` Greg KH
2005-01-08  5:47                                                                                             ` Greg KH
2005-01-08  5:47                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                           ` Greg KH [this message]
2005-01-08  5:47                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                                           ` Greg KH
2005-01-08  5:47                                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                                                           ` Greg KH
2005-01-08  5:47                                                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                                                                           ` Greg KH
2005-01-08  5:47                                                                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                                                                                           ` Greg KH
2005-01-08  5:47                                                                                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                                                                                     ` Greg KH
2005-01-08  5:47                                                                                                                                                                                       ` Greg KH
2005-01-08  5:47                                                                                                                                                                                         ` Greg KH
2005-01-08  5:47                                                                                                                                                                                           ` Greg KH
2005-01-08  5:47                                                                                                                                                                                             ` Greg KH
2005-01-08  5:47                                                                                                                                                                                               ` Greg KH
2005-01-08  5:47                                                                                                                                                                                                 ` Greg KH
2005-01-08  5:47                                                                                                                                                                                                   ` Greg KH
2005-01-08  5:47                                                                                                                                                                                                     ` Greg KH
2005-01-08 12:08                                                                                               ` Christoph Hellwig
2005-01-08 22:42                                                                                                 ` Greg KH
2005-01-08 23:33                                                                                                   ` Alessandro Suardi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11051632643128@kroah.com \
    --to=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).