diff options
| author | Roger Quadros <rogerq@ti.com> | 2016-03-30 05:56:29 -0400 |
|---|---|---|
| committer | Peter Chen <peter.chen@nxp.com> | 2016-04-06 05:15:03 -0400 |
| commit | 4e332df63487418ec512c3c376c07df9ab3ae035 (patch) | |
| tree | 05b27c723055b5aaa579243ea197a5a81e772bb1 /drivers/usb/common | |
| parent | fa59507f720077a856c9952a31cfd45cd97ef6f9 (diff) | |
usb: otg-fsm: support multiple instances
Move the state_changed variable into struct otg_fsm
so that we can support multiple instances.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Diffstat (limited to 'drivers/usb/common')
| -rw-r--r-- | drivers/usb/common/usb-otg-fsm.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/usb/common/usb-otg-fsm.c b/drivers/usb/common/usb-otg-fsm.c index 504708f59b93..9059b7dc185e 100644 --- a/drivers/usb/common/usb-otg-fsm.c +++ b/drivers/usb/common/usb-otg-fsm.c | |||
| @@ -61,8 +61,6 @@ static int otg_set_protocol(struct otg_fsm *fsm, int protocol) | |||
| 61 | return 0; | 61 | return 0; |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | static int state_changed; | ||
| 65 | |||
| 66 | /* Called when leaving a state. Do state clean up jobs here */ | 64 | /* Called when leaving a state. Do state clean up jobs here */ |
| 67 | static void otg_leave_state(struct otg_fsm *fsm, enum usb_otg_state old_state) | 65 | static void otg_leave_state(struct otg_fsm *fsm, enum usb_otg_state old_state) |
| 68 | { | 66 | { |
| @@ -208,7 +206,6 @@ static void otg_start_hnp_polling(struct otg_fsm *fsm) | |||
| 208 | /* Called when entering a state */ | 206 | /* Called when entering a state */ |
| 209 | static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) | 207 | static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) |
| 210 | { | 208 | { |
| 211 | state_changed = 1; | ||
| 212 | if (fsm->otg->state == new_state) | 209 | if (fsm->otg->state == new_state) |
| 213 | return 0; | 210 | return 0; |
| 214 | VDBG("Set state: %s\n", usb_otg_state_string(new_state)); | 211 | VDBG("Set state: %s\n", usb_otg_state_string(new_state)); |
| @@ -324,6 +321,7 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) | |||
| 324 | } | 321 | } |
| 325 | 322 | ||
| 326 | fsm->otg->state = new_state; | 323 | fsm->otg->state = new_state; |
| 324 | fsm->state_changed = 1; | ||
| 327 | return 0; | 325 | return 0; |
| 328 | } | 326 | } |
| 329 | 327 | ||
| @@ -335,7 +333,7 @@ int otg_statemachine(struct otg_fsm *fsm) | |||
| 335 | mutex_lock(&fsm->lock); | 333 | mutex_lock(&fsm->lock); |
| 336 | 334 | ||
| 337 | state = fsm->otg->state; | 335 | state = fsm->otg->state; |
| 338 | state_changed = 0; | 336 | fsm->state_changed = 0; |
| 339 | /* State machine state change judgement */ | 337 | /* State machine state change judgement */ |
| 340 | 338 | ||
| 341 | switch (state) { | 339 | switch (state) { |
| @@ -448,7 +446,7 @@ int otg_statemachine(struct otg_fsm *fsm) | |||
| 448 | } | 446 | } |
| 449 | mutex_unlock(&fsm->lock); | 447 | mutex_unlock(&fsm->lock); |
| 450 | 448 | ||
| 451 | VDBG("quit statemachine, changed = %d\n", state_changed); | 449 | VDBG("quit statemachine, changed = %d\n", fsm->state_changed); |
| 452 | return state_changed; | 450 | return fsm->state_changed; |
| 453 | } | 451 | } |
| 454 | EXPORT_SYMBOL_GPL(otg_statemachine); | 452 | EXPORT_SYMBOL_GPL(otg_statemachine); |
