Re: How to handle USB_ENDPOINT_XFER_BULK in gadget API?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, thanks for asnwer,
i looked inside gadget.h and found declaration usb_ep_queue
---
usb_ep_queue(struct usb_ep *ep, struct usb_request *req, gfp_tgfp_flags)
---
but i dint find any call for it in zero.c
however, i found it called inside gmidi.c that is close to my project.
as i realized, each time HCD sends request to my device, gmidi_setup
routine is called. But this routine related only to ep0 control
requests.
After creation of device, i made myendpoints enabled with
        err = usb_ep_enable(dev->in_ep, &bulk_in_desc);
        err = usb_ep_enable(dev->out_ep, &bulk_out_desc);

        ep = dev->out_ep;
        req = alloc_ep_req(ep, buflen);

        then i calling the
        err = usb_ep_queue(ep, req, GFP_ATOMIC);

am i right ?

in what handler do i need to call from in/out endpoints to
receive/send BULK data?

in example midi gadget there is only these functions:
static struct usb_gadget_driver gmidi_driver = {
        .unbind         = gmidi_unbind,
        .setup          = gmidi_setup,
        .disconnect     = gmidi_disconnect,
        .suspend        = gmidi_suspend,
        .resume         = gmidi_resume,
};



> On Tue, 26 Apr 2011, basep wrote:

>> Hi!
>> 
>> Please, advice, how can i handle the request USB_ENDPOINT_XFER_BULK
>> inside client's API.
>> i'm unsing dummy_hcd.ko module at debian 6 kernel 2.6.32.
>> 
>> I correclty handling ad gadget side the control requests, using
>> 
>> usb_gadget_driver
>>  .setup function
>> 
>>  it handles control request only with setup packets.
>>  my gadget device uses USB_ENDPOINT_XFER_BULK for ep1 and ep81.
>> 
>> =======================================================================
>> any device's side way to receive and emulate such requests?

> Read include/linux/usb/gadget.h.  You need to use usb_ep_queue().

> See drivers/usb/gadget/zero.c for an example of how to use bulk 
> endpoints.

> Alan Stern


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux