lkml.org 
[lkml]   [2013]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC/PATCH v2 1/3] usb: gadget: add quirks field to struct usb_gadget
    On Tue, 29 Oct 2013, David Cohen wrote:

    > Due to USB controllers may have different restrictions, usb gadget layer
    > needs to provide a generic way to inform gadget functions to complain
    > with non-standard requirements.
    >
    > This patch adds 'quirks' field to struct usb_gadget and the first quirk
    > called USB_GADGET_QUIRK_EP_OUT_ALIGNED_SIZE necessary to inform when
    > controller's epout requires buffer size to be aligned to MaxPacketSize.
    >
    > Signed-off-by: David Cohen <david.a.cohen@linux.intel.com>
    > ---
    > include/linux/usb/gadget.h | 5 +++++
    > 1 file changed, 5 insertions(+)
    >
    > diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
    > index 942ef5e..7014ad9 100644
    > --- a/include/linux/usb/gadget.h
    > +++ b/include/linux/usb/gadget.h
    > @@ -540,6 +540,11 @@ struct usb_gadget {
    > struct device dev;
    > unsigned out_epnum;
    > unsigned in_epnum;
    > +
    > + u32 quirks;
    > +/* epout requires buffer size to be aligned to MaxPacketSize */
    > +#define USB_GADGET_QUIRK_EP_OUT_ALIGNED_SIZE (1 << 0)

    If you decide to go through with this, it might be better to define a
    series of single-bit flags instead of a single "quirks" field. For
    example:

    unsigned quirk_ep_out_aligned_size:1;

    Yes, other people (including me!) have done it your way in the past,
    but now this seems to make more sense.

    Alan Stern



    \
     
     \ /
      Last update: 2013-10-30 16:01    [W:2.687 / U:0.180 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site