greybus: arche-platform: Set direction of wake/detect gpio in poweroff fn
authorVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Wed, 24 Feb 2016 23:07:38 +0000 (04:37 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 26 Feb 2016 00:24:23 +0000 (16:24 -0800)
With support of interrupt based mechanism, gpio is not longer set to
output mode, so gpio_set_value won't work. So use
gpio_direction_output() fn in poweroff(), while setting value on
wake/detect line.

Testing Done: Tested on DB3.5 platform.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Reviewed-by: Michael Scott <michael.scott@linaro.org>
Tested-by: Michael Scott <michael.scott@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-platform.c

index 87526b2bf0a9ebef7a3c25e84483188ca7f4c899..5b393eca7bbabc4d10ef6a5c24518dbee82e320e 100644 (file)
@@ -266,7 +266,7 @@ static void arche_platform_poweroff_seq(struct arche_platform_drvdata *arche_pda
        /* If in fw_flashing mode, then no need to repeate things again */
        if (arche_pdata->state != ARCHE_PLATFORM_STATE_FW_FLASHING) {
                /* Send disconnect/detach event to SVC */
-               gpio_set_value(arche_pdata->wake_detect_gpio, 0);
+               gpio_direction_output(arche_pdata->wake_detect_gpio, 0);
                usleep_range(100, 200);
                spin_lock_irqsave(&arche_pdata->lock, flags);
                arche_pdata->wake_detect_state = WD_STATE_IDLE;