Gadget - OS


 
Thread Tools Search this Thread
Operating Systems Linux Android Gadget - OS
# 1  
Old 05-20-2013
Gadget - OS

Hi ,
I need to learn Linux codings , but no clear about the where to start . I'm looking to make gadget that can be useful for students . But i struggled where to start . As you know android is on linux base , planning to use it on that gadget also , but with modifications that matches the environment . Can anyone please suggest where to learn and what to learn , i'm zero in coding and programmings but exited and very much interested to learn .
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
STRUCT 
USB_GADGET(9) Kernel Mode Gadget API STRUCT USB_GADGET(9) NAME
struct_usb_gadget - represents a usb slave device SYNOPSIS
struct usb_gadget { const struct usb_gadget_ops * ops; struct usb_ep * ep0; struct list_head ep_list; enum usb_device_speed speed; enum usb_device_speed max_speed; enum usb_device_state state; unsigned sg_supported:1; unsigned is_otg:1; unsigned is_a_peripheral:1; unsigned b_hnp_enable:1; unsigned a_hnp_support:1; unsigned a_alt_hnp_support:1; const char * name; struct device dev; unsigned out_epnum; unsigned in_epnum; }; MEMBERS
ops Function pointers used to access hardware-specific operations. ep0 Endpoint zero, used when reading or writing responses to driver setup requests ep_list List of other endpoints supported by the device. speed Speed of current connection to USB host. max_speed Maximal speed the UDC can handle. UDC must support this and all slower speeds. state the state we are now (attached, suspended, configured, etc) sg_supported true if we can handle scatter-gather is_otg True if the USB device port uses a Mini-AB jack, so that the gadget driver must provide a USB OTG descriptor. is_a_peripheral False unless is_otg, the "A" end of a USB cable is in the Mini-AB jack, and HNP has been used to switch roles so that the "A" device currently acts as A-Peripheral, not A-Host. b_hnp_enable OTG device feature flag, indicating that the A-Host enabled HNP support. a_hnp_support OTG device feature flag, indicating that the A-Host supports HNP at this port. a_alt_hnp_support OTG device feature flag, indicating that the A-Host only supports HNP on a different root port. name Identifies the controller hardware type. Used in diagnostics and sometimes configuration. dev Driver model state for this abstract device. out_epnum last used out ep number in_epnum last used in ep number DESCRIPTION
Gadgets have a mostly-portable "gadget driver" implementing device functions, handling all usb configurations and interfaces. Gadget drivers talk to hardware-specific code indirectly, through ops vectors. That insulates the gadget driver from hardware details, and packages the hardware endpoints through generic i/o queues. The "usb_gadget" and "usb_ep" interfaces provide that insulation from the hardware. Except for the driver data, all fields in this structure are read-only to the gadget driver. That driver data is part of the "driver model" infrastructure in 2.6 (and later) kernels, and for earlier systems is grouped in a similar structure that's not known to the rest of the kernel. Values of the three OTG device feature flags are updated before the setup call corresponding to USB_REQ_SET_CONFIGURATION, and before driver suspend calls. They are valid only when is_otg, and when the device is acting as a B-Peripheral (so is_a_peripheral is false). AUTHOR
David Brownell <dbrownell@users.sourceforge.net> Author. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT USB_GADGET(9)