greybus: arche-platform: make apb_state common to both platform drivers
authorVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Fri, 12 Feb 2016 20:34:02 +0000 (02:04 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Sat, 13 Feb 2016 07:01:32 +0000 (23:01 -0800)
Make 'enum apb_state' common to both platform drivers, so that
both drivers can make use of same state and user will have
unified control configuration across devices (SVC, APB1 and APB2)

Testing Done: Tested on EVT1.2 and DB3.5 platform.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-apb-ctrl.c
drivers/staging/greybus/arche_platform.h

index f2bad8d..42267fa 100644 (file)
 #include <linux/spinlock.h>
 #include "arche_platform.h"
 
-enum apb_state {
-       APB_STATE_OFF,
-       APB_STATE_ACTIVE,
-       APB_STATE_STANDBY,
-};
 
 struct arche_apb_ctrl_drvdata {
        /* Control GPIO signals to and from AP <=> AP Bridges */
@@ -36,7 +31,7 @@ struct arche_apb_ctrl_drvdata {
        int wake_out_gpio;
        int pwrdn_gpio;
 
-       enum apb_state state;
+       enum arche_platform_state state;
 
        struct regulator *vcore;
        struct regulator *vio;
@@ -232,7 +227,7 @@ static void apb_ctrl_cleanup(struct arche_apb_ctrl_drvdata *apb)
 
        /* As part of exit, put APB back in reset state */
        assert_reset(apb->resetn_gpio);
-       apb->state = APB_STATE_OFF;
+       apb->state = ARCHE_PLATFORM_STATE_OFF;
 
        /* TODO: May have to send an event to SVC about this exit */
 }
@@ -262,7 +257,7 @@ int arche_apb_ctrl_probe(struct platform_device *pdev)
 
        /* deassert reset to APB : Active-low signal */
        deassert_reset(apb->resetn_gpio);
-       apb->state = APB_STATE_ACTIVE;
+       apb->state = ARCHE_PLATFORM_STATE_ACTIVE;
 
        platform_set_drvdata(pdev, apb);
 
index 22a968a..33c4bb8 100644 (file)
 #ifndef __ARCHE_PLATFORM_H
 #define __ARCHE_PLATFORM_H
 
+enum arche_platform_state {
+       ARCHE_PLATFORM_STATE_OFF,
+       ARCHE_PLATFORM_STATE_ACTIVE,
+       ARCHE_PLATFORM_STATE_STANDBY,
+};
+
 int arche_apb_ctrl_probe(struct platform_device *pdev);
 int arche_apb_ctrl_remove(struct platform_device *pdev);
 extern const struct dev_pm_ops arche_apb_ctrl_pm_ops;