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

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
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -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 @@ 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);

+6 −0
Original line number Diff line number Diff line
@@ -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;