greybus: arche-platform: make apb_state common to both platform drivers
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>
diff --git a/drivers/staging/greybus/arche-apb-ctrl.c b/drivers/staging/greybus/arche-apb-ctrl.c
index f2bad8d..42267fa 100644
--- a/drivers/staging/greybus/arche-apb-ctrl.c
+++ b/drivers/staging/greybus/arche-apb-ctrl.c
@@ -21,11 +21,6 @@
#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 @@
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 @@
/* 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 @@
/* 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);
diff --git a/drivers/staging/greybus/arche_platform.h b/drivers/staging/greybus/arche_platform.h
index 22a968a..33c4bb8 100644
--- a/drivers/staging/greybus/arche_platform.h
+++ b/drivers/staging/greybus/arche_platform.h
@@ -10,6 +10,12 @@
#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;