* Thierry Reding wrote: > Some devices support fast access to registers using the USB interface > while others require a certain delay after each operation. This commit > adds a quirk that can be enabled by devices that don't need the delay. > > Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx> > --- > drivers/staging/tm6000/tm6000-core.c | 3 ++- > drivers/staging/tm6000/tm6000.h | 6 ++++++ > 2 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c > index 64fc1c6..93a0772 100644 > --- a/drivers/staging/tm6000/tm6000-core.c > +++ b/drivers/staging/tm6000/tm6000-core.c > @@ -89,7 +89,8 @@ int tm6000_read_write_usb(struct tm6000_core *dev, u8 req_type, u8 req, > > kfree(data); > > - msleep(5); > + if ((dev->quirks & TM6000_QUIRK_NO_USB_DELAY) == 0) > + msleep(5); This is of course completely wrong. The quirk as defined below is actually a bit position. I'll send another update where the quirk is defined as bit mask for the given position. Thierry > > mutex_unlock(&dev->usb_lock); > return ret; > diff --git a/drivers/staging/tm6000/tm6000.h b/drivers/staging/tm6000/tm6000.h > index dac2063..0e35812 100644 > --- a/drivers/staging/tm6000/tm6000.h > +++ b/drivers/staging/tm6000/tm6000.h > @@ -169,6 +169,10 @@ struct tm6000_endpoint { > unsigned maxsize; > }; > > +enum { > + TM6000_QUIRK_NO_USB_DELAY, > +}; > + > struct tm6000_core { > /* generic device properties */ > char name[30]; /* name (including minor) of the device */ > @@ -260,6 +264,8 @@ struct tm6000_core { > struct usb_isoc_ctl isoc_ctl; > > spinlock_t slock; > + > + unsigned long quirks; > }; > > enum tm6000_ops_type { > -- > 1.7.6.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Attachment:
pgpgyaZGrwA2H.pgp
Description: PGP signature