On Thu, Nov 29, 2012 at 04:30:10PM +0200, Alexander Shishkin wrote:
> Peter Chen writes:
>
> > +static void ci_otg_work(struct work_struct *work)
> > +{
> > + struct ci13xxx *ci = container_of(work, struct ci13xxx, work);
> > +
> > + if (test_bit(CI_ID, &ci->events)) {
> > + clear_b
Peter Chen writes:
> +static void ci_otg_work(struct work_struct *work)
> +{
> + struct ci13xxx *ci = container_of(work, struct ci13xxx, work);
> +
> + if (test_bit(CI_ID, &ci->events)) {
> + clear_bit(CI_ID, &ci->events);
> + ci_handle_id_switch(ci);
> + } els
The main design flow is the same with msm otg driver, that is the id and
vbus interrupt are handled at core driver, others are handled by
individual drivers.
- At former design, when switch usb role from device->host, it will call
udc_stop, it will remove the gadget driver, so when switch role
fro