diff options
author | Syed Rafiuddin <srafiuddin@nvidia.com> | 2012-03-09 16:38:09 +0530 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2012-03-15 10:34:23 -0700 |
commit | 46e097bdab198a2b4ee0dda48337c2d0ecafda9b (patch) | |
tree | de4ea668887a7553b32e02b382a8c94c3ba94a12 /drivers/power | |
parent | d1760ed2f45dd9f5a6f5b925ca575f4e3a83c8da (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.c | 6 |
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); |