1 --- kernel-power-2.6.28.orig/drivers/usb/musb/musb_core.c
2 +++ kernel-power-2.6.28/drivers/usb/musb/musb_core.c
8 - /* REVISIT: This code works only with dedicated chargers!
9 - * When support for HOST/HUB chargers is added, don't
12 + /* enable interrupts */
13 + musb_writeb(musb->mregs, MUSB_INTRUSBE, ctx.intrusbe);
15 + /* Make sure the communication starts normally */
16 + r = musb_readb(musb->mregs, MUSB_POWER);
17 + musb_writeb(musb->mregs, MUSB_POWER,
18 + r | MUSB_POWER_RESUME);
20 + musb_writeb(musb->mregs, MUSB_POWER,
21 + r & ~MUSB_POWER_RESUME);
22 + if (vdat && musb->xceiv->state != OTG_STATE_B_IDLE) {
25 otg_set_suspend(musb->xceiv, 1);
26 - musb->is_charger = 1;
28 - /* enable interrupts */
29 - musb_writeb(musb->mregs, MUSB_INTRUSBE, ctx.intrusbe);
31 - /* Make sure the communication starts normally */
32 - r = musb_readb(musb->mregs, MUSB_POWER);
33 - musb_writeb(musb->mregs, MUSB_POWER,
34 - r | MUSB_POWER_RESUME);
36 - musb_writeb(musb->mregs, MUSB_POWER,
37 - r & ~MUSB_POWER_RESUME);
40 + musb->is_charger = vdat;