summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorzain wang <wzz@rock-chips.com>2018-06-06 09:02:07 +0800
committerTao Huang <huangtao@rock-chips.com>2018-06-06 09:39:23 +0800
commitb72c852580428978242690bc83da4a4b1f38c640 (patch)
treea9dc51509252a6c75883e8dc58387fbebac0772f /drivers/mfd
parentf9c65550083b1b0fa19f4ba8aed173df8e854a3a (diff)
mfd: fusb302: fix dp can't be recognized through typec.
Add notify state to the struct vdm_state, otherwise, we couldn't notify DP because vdm_state_ready would be ignored by IS_VDM_ACTIVE. Change-Id: Ib03dae2ebdfbfba0061af0e9ae2928c0c9123192 Signed-off-by: Wenping Zhang <wenping.zhang@rock-chips.com> Signed-off-by: zain wang <wzz@rock-chips.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/fusb302.c5
-rw-r--r--drivers/mfd/fusb302.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mfd/fusb302.c b/drivers/mfd/fusb302.c
index ade940dd0d41..39f26e833385 100644
--- a/drivers/mfd/fusb302.c
+++ b/drivers/mfd/fusb302.c
@@ -1439,8 +1439,11 @@ static void auto_vdm_machine(struct fusb30x_chip *chip, u32 evt)
case VDM_STATE_DP_CONFIG:
AUTO_VDM_HANDLE(vdm_send_dpconfig, chip, evt, conditions);
break;
- default:
+ case VDM_STATE_NOTIFY:
platform_fusb_notify(chip);
+ chip->vdm_state = VDM_STATE_READY;
+ break;
+ default:
break;
}
}
diff --git a/drivers/mfd/fusb302.h b/drivers/mfd/fusb302.h
index ef881218e8a4..1ae63788d0b8 100644
--- a/drivers/mfd/fusb302.h
+++ b/drivers/mfd/fusb302.h
@@ -142,6 +142,7 @@ enum vdm_state {
VDM_STATE_ENTER_MODE,
VDM_STATE_UPDATE_STATUS,
VDM_STATE_DP_CONFIG,
+ VDM_STATE_NOTIFY,
VDM_STATE_READY,
VDM_STATE_ERR,
};