* Greg KH <[EMAIL PROTECTED]> [070503 19:40]: > On Fri, May 04, 2007 at 12:53:51AM +0000, Tony Lindgren wrote: > > Hi, > > > > Here's a little patch to add support for the Olimex arm-usb-ocd JTAG. > > > > Regards, > > > > Tony > > > > > From: Tony Lindgren <[EMAIL PROTECTED]> > > Subject: [PATCH] USB: Add support for Olimex arm-usb-ocd JTAG interface > > serial port > > > > This patch adds support for the serial port on Olimex arm-usb-ocd > > JTAG interface. > > > > The device appears as two serial ports, but the first one is reserved > > for the JTAG interface. The JTAG interface can be used with OpenOCD > > from userspace. For more information, please see: > > > > http://openocd.berlios.de/web/ > > http://www.olimex.com/dev/arm-usb-ocd.html > > > > Signed-off-by: Tony Lindgren <[EMAIL PROTECTED]> > > > > --- a/drivers/usb/serial/ftdi_sio.c > > +++ b/drivers/usb/serial/ftdi_sio.c > > @@ -524,6 +524,7 @@ static struct usb_device_id id_table_combined [] = { > > { USB_DEVICE(FTDI_VID, FTDI_TACTRIX_OPENPORT_13U_PID) }, > > { USB_DEVICE(ELEKTOR_VID, ELEKTOR_FT323R_PID) }, > > { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) }, > > + { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID) }, > > { }, /* Optional parameter entry */ > > { } /* Terminating entry */ > > }; > > @@ -668,7 +669,7 @@ static struct usb_serial_driver ftdi_sio_device = { > > > > /* > > * > > *************************************************************************** > > - * Utlity functions > > + * Utility functions > > * > > *************************************************************************** > > */ > > > > @@ -1167,12 +1168,38 @@ static void remove_sysfs_attrs(struct > > usb_serial_port *port) > > * > > *************************************************************************** > > */ > > > > +static int ftdi_port_quirks(struct usb_serial *serial) > > +{ > > + struct usb_device *udev = serial->dev; > > + struct usb_device_descriptor desc = udev->descriptor; > > + struct usb_interface *interface = serial->interface; > > + > > + /* > > + * First port on Olimex arm-usb-ocd is reserved for JTAG interface > > + * and can be accessed from userspace using openocd. > > + */ > > + if ((le16_to_cpu(desc.idVendor) == OLIMEX_VID) && > > + (le16_to_cpu(desc.idProduct) == OLIMEX_ARM_USB_OCD_PID) && > > + (interface == udev->actconfig->interface[0])) { > > + info("Ignoring reserved serial port on Olimex arm-usb-ocd\n"); > > + return -ENODEV; > > + } > > It would probably make more sense to make the device_data field hold the > pointer to the quirk entry, that way you don't have a big if statement > all the time here.
OK, and there are probably other chips that could use it too. > Care to rework this? Yeah I'll update it. Tony ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel