065e82444d30a36aab011549caaa5e12611768a0
[kernel-bfs] / kernel-bfs-2.6.28 / debian / patches / nootg.diff
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
3 @@ -241,8 +241,10 @@
4                         r = musb_readb(musb->mregs, MUSB_DEVCTL);
5                         if ((r & MUSB_DEVCTL_VBUS)
6                                         == (3 << MUSB_DEVCTL_VBUS_SHIFT)) {
7 +#ifdef CONFIG_USB_MUSB_OTG
8                                 musb_save_ctx_and_suspend(&musb->g, 0);
9                                 musb_restore_ctx_and_resume(&musb->g);
10 +#endif
11                                 if (musb->board && musb->board->set_pm_limits)
12                                         musb->board->set_pm_limits(
13                                                         musb->controller, 1);
14 @@ -1980,7 +1982,11 @@
15         int             ret = -EINVAL;
16  
17         spin_lock_irqsave(&musb->lock, flags);
18 +#ifdef CONFIG_USB_MUSB_OTG
19         ret = sprintf(buf, "%d\n", musb->softconnect);
20 +#else
21 +        ret = 0;
22 +#endif
23         spin_unlock_irqrestore(&musb->lock, flags);
24  
25         return ret;
26 @@ -2003,6 +2009,7 @@
27         }
28  
29         spin_lock_irqsave(&musb->lock, flags);
30 +#ifdef CONFIG_USB_MUSB_OTG
31  
32         power = musb_readb(musb->mregs, MUSB_POWER);
33  
34 @@ -2013,7 +2020,7 @@
35  
36         musb->softconnect = !!val;
37         musb_writeb(musb->mregs, MUSB_POWER, power);
38 -
39 +#endif
40         spin_unlock_irqrestore(&musb->lock, flags);
41  
42         return n;
43 @@ -2462,8 +2469,10 @@
44         /* Resets the controller. Has to be done. Without this, most likely
45          * the state machine inside the transceiver doesn't get fixed properly
46          */
47 +#ifdef CONFIG_USB_MUSB_OTG
48         musb_save_ctx_and_suspend(&musb->g, 0);
49         musb_restore_ctx_and_resume(&musb->g);
50 +#endif
51  
52         return 0;
53  
54 --- kernel-power-2.6.28.orig/drivers/usb/musb/omap2430.c
55 +++ kernel-power-2.6.28/drivers/usb/musb/omap2430.c
56 @@ -161,7 +161,9 @@
57  }
58  void musb_platform_disable(struct musb *musb)
59  {
60 +#ifdef CONFIG_USB_MUSB_OTG
61         twl4030_upd_usb_suspended(musb->is_suspended);
62 +#endif
63  }
64  static void omap_vbus_power(struct musb *musb, int is_on, int sleeping)
65  {
66 @@ -364,6 +366,7 @@
67  }
68  
69  #ifdef CONFIG_PM
70 +#ifdef CONFIG_USB_MUSB_OTG
71  
72  void musb_save_ctx_and_suspend(struct usb_gadget *gadget, int overwrite)
73  {
74 @@ -471,3 +474,4 @@
75  }
76  EXPORT_SYMBOL_GPL(musb_restore_ctx_and_resume);
77  #endif
78 +#endif
79 --- kernel-power-2.6.28.orig/drivers/usb/otg/twl4030-usb.c
80 +++ kernel-power-2.6.28/drivers/usb/otg/twl4030-usb.c
81 @@ -475,8 +475,11 @@
82         }
83  }
84  
85 +#ifdef CONFIG_USB_MUSB_OTG
86 +
87  extern void musb_save_ctx_and_suspend(struct usb_gadget *gadget, int overwrite);
88  extern void musb_restore_ctx_and_resume(struct usb_gadget *gadget);
89 +#endif
90  
91  static void twl4030_phy_suspend(struct twl4030_usb *twl, int controller_off)
92  {
93 @@ -487,8 +490,10 @@
94         if (!controller_off)
95                 twl->asleep = 1;
96  
97 +#ifdef CONFIG_USB_MUSB_OTG
98         if (twl->otg.gadget)
99                 musb_save_ctx_and_suspend(twl->otg.gadget, 0);
100 +#endif
101  }
102  
103  static void twl4030_phy_resume(struct twl4030_usb *twl)
104 @@ -502,9 +507,10 @@
105         if (twl->usb_mode == T2_USB_MODE_ULPI)
106                 twl4030_i2c_access(twl, 0);
107         twl->asleep = 0;
108 -
109 +#ifdef CONFIG_USB_MUSB_OTG
110         if (twl->otg.gadget)
111                 musb_restore_ctx_and_resume(twl->otg.gadget);
112 +#endif
113  }
114  
115  static int twl4030_usb_ldo_init(struct twl4030_usb *twl)