summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorSyed Rafiuddin <srafiuddin@nvidia.com>2012-03-09 16:38:09 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-03-15 10:34:23 -0700
commit46e097bdab198a2b4ee0dda48337c2d0ecafda9b (patch)
treede4ea668887a7553b32e02b382a8c94c3ba94a12 /drivers/power
parentd1760ed2f45dd9f5a6f5b925ca575f4e3a83c8da (diff)
power: smb349: fix otg driver callback function
Allows OTG enable/disable only while USB OTG state swithes between SUSPEND and HOST Bug 937188 Change-Id: If651dfb19db37f8822e6d1473aa573246aca8d45 Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com> Reviewed-on: http://git-master/r/89111 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/smb349-charger.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/power/smb349-charger.c b/drivers/power/smb349-charger.c
index 300f91929a1c..8719e8182762 100644
--- a/drivers/power/smb349-charger.c
+++ b/drivers/power/smb349-charger.c
@@ -450,12 +450,12 @@ error:
return ret;
}
-static void smb349_otg_status(enum usb_otg_state otg_state, void *data)
+static void smb349_otg_status(enum usb_otg_state to, enum usb_otg_state from, void *data)
{
struct i2c_client *client = charger->client;
int ret;
- if (otg_state == OTG_STATE_A_HOST) {
+ if ((from == OTG_STATE_A_SUSPEND) && (to == OTG_STATE_A_HOST)) {
/* configure charger */
ret = smb349_configure_charger(client, 0);
@@ -469,7 +469,7 @@ static void smb349_otg_status(enum usb_otg_state otg_state, void *data)
dev_err(&client->dev, "%s() error in configuring"
"otg..\n", __func__);
- } else if (otg_state == OTG_STATE_A_SUSPEND) {
+ } else if ((from == OTG_STATE_A_HOST) && (to == OTG_STATE_A_SUSPEND)) {
/* Disable OTG */
ret = smb349_configure_otg(client, 0);