Commit a821adb4 authored by Vaibhav Hiremath's avatar Vaibhav Hiremath Committed by Greg Kroah-Hartman

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: default avatarVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 397d3415
...@@ -21,11 +21,6 @@ ...@@ -21,11 +21,6 @@
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include "arche_platform.h" #include "arche_platform.h"
enum apb_state {
APB_STATE_OFF,
APB_STATE_ACTIVE,
APB_STATE_STANDBY,
};
struct arche_apb_ctrl_drvdata { struct arche_apb_ctrl_drvdata {
/* Control GPIO signals to and from AP <=> AP Bridges */ /* Control GPIO signals to and from AP <=> AP Bridges */
...@@ -36,7 +31,7 @@ struct arche_apb_ctrl_drvdata { ...@@ -36,7 +31,7 @@ struct arche_apb_ctrl_drvdata {
int wake_out_gpio; int wake_out_gpio;
int pwrdn_gpio; int pwrdn_gpio;
enum apb_state state; enum arche_platform_state state;
struct regulator *vcore; struct regulator *vcore;
struct regulator *vio; struct regulator *vio;
...@@ -232,7 +227,7 @@ static void apb_ctrl_cleanup(struct arche_apb_ctrl_drvdata *apb) ...@@ -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 */ /* As part of exit, put APB back in reset state */
assert_reset(apb->resetn_gpio); 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 */ /* 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) ...@@ -262,7 +257,7 @@ int arche_apb_ctrl_probe(struct platform_device *pdev)
/* deassert reset to APB : Active-low signal */ /* deassert reset to APB : Active-low signal */
deassert_reset(apb->resetn_gpio); deassert_reset(apb->resetn_gpio);
apb->state = APB_STATE_ACTIVE; apb->state = ARCHE_PLATFORM_STATE_ACTIVE;
platform_set_drvdata(pdev, apb); platform_set_drvdata(pdev, apb);
......
...@@ -10,6 +10,12 @@ ...@@ -10,6 +10,12 @@
#ifndef __ARCHE_PLATFORM_H #ifndef __ARCHE_PLATFORM_H
#define __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_probe(struct platform_device *pdev);
int arche_apb_ctrl_remove(struct platform_device *pdev); int arche_apb_ctrl_remove(struct platform_device *pdev);
extern const struct dev_pm_ops arche_apb_ctrl_pm_ops; extern const struct dev_pm_ops arche_apb_ctrl_pm_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment