aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHema HK <hemahk@ti.com>2011-02-17 01:36:05 -0500
committerFelipe Balbi <balbi@ti.com>2011-02-17 14:11:46 -0500
commit31e9992ab09264ed1372ba86a0924899ab08700b (patch)
treef16e3c260351683225ca208c3b58d648fed7032d
parent6dc2503b81a0171e68766f722a452e97a7da320b (diff)
usb: otg: Remove one unnecessary I2C read request.
To get the ID status there was an I2C read transfer. Removed this I2C read transfer as this info can be used from existing variable(linkstat). Signed-off-by: Hema HK <hemahk@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r--drivers/usb/otg/twl6030-usb.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/usb/otg/twl6030-usb.c b/drivers/usb/otg/twl6030-usb.c
index eca459126db..88989e61430 100644
--- a/drivers/usb/otg/twl6030-usb.c
+++ b/drivers/usb/otg/twl6030-usb.c
@@ -149,7 +149,6 @@ static int twl6030_set_phy_clk(struct otg_transceiver *x, int on)
149 149
150static int twl6030_phy_init(struct otg_transceiver *x) 150static int twl6030_phy_init(struct otg_transceiver *x)
151{ 151{
152 u8 hw_state;
153 struct twl6030_usb *twl; 152 struct twl6030_usb *twl;
154 struct device *dev; 153 struct device *dev;
155 struct twl4030_usb_data *pdata; 154 struct twl4030_usb_data *pdata;
@@ -158,9 +157,7 @@ static int twl6030_phy_init(struct otg_transceiver *x)
158 dev = twl->dev; 157 dev = twl->dev;
159 pdata = dev->platform_data; 158 pdata = dev->platform_data;
160 159
161 hw_state = twl6030_readb(twl, TWL6030_MODULE_ID0, STS_HW_CONDITIONS); 160 if (twl->linkstat == USB_EVENT_ID)
162
163 if (hw_state & STS_USB_ID)
164 pdata->phy_power(twl->dev, 1, 1); 161 pdata->phy_power(twl->dev, 1, 1);
165 else 162 else
166 pdata->phy_power(twl->dev, 0, 1); 163 pdata->phy_power(twl->dev, 0, 1);
@@ -290,6 +287,7 @@ static irqreturn_t twl6030_usbotg_irq(int irq, void *_twl)
290 status = USB_EVENT_ID; 287 status = USB_EVENT_ID;
291 twl->otg.default_a = true; 288 twl->otg.default_a = true;
292 twl->otg.state = OTG_STATE_A_IDLE; 289 twl->otg.state = OTG_STATE_A_IDLE;
290 twl->linkstat = status;
293 blocking_notifier_call_chain(&twl->otg.notifier, status, 291 blocking_notifier_call_chain(&twl->otg.notifier, status,
294 twl->otg.gadget); 292 twl->otg.gadget);
295 } else { 293 } else {
@@ -299,7 +297,6 @@ static irqreturn_t twl6030_usbotg_irq(int irq, void *_twl)
299 0x1); 297 0x1);
300 } 298 }
301 twl6030_writeb(twl, TWL_MODULE_USB, USB_ID_INT_LATCH_CLR, status); 299 twl6030_writeb(twl, TWL_MODULE_USB, USB_ID_INT_LATCH_CLR, status);
302 twl->linkstat = status;
303 300
304 return IRQ_HANDLED; 301 return IRQ_HANDLED;
305} 302}