arm: vexpress: Decouple vexpress-poweroff implementation from machine_desc
This patch adds the pm_power_off and arm_pm_restart variable settings to the vexpress-poweroff.c driver to decouple it from the machine_desc definition. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Pawel Moll <pawel.moll@arm.com>
This commit is contained in:
@@ -18,6 +18,8 @@
|
||||
#include <linux/stat.h>
|
||||
#include <linux/vexpress.h>
|
||||
|
||||
#include <asm/system_misc.h>
|
||||
|
||||
static void vexpress_reset_do(struct device *dev, const char *what)
|
||||
{
|
||||
int err = -ENOENT;
|
||||
@@ -39,14 +41,14 @@ static void vexpress_reset_do(struct device *dev, const char *what)
|
||||
|
||||
static struct device *vexpress_power_off_device;
|
||||
|
||||
void vexpress_power_off(void)
|
||||
static void vexpress_power_off(void)
|
||||
{
|
||||
vexpress_reset_do(vexpress_power_off_device, "power off");
|
||||
}
|
||||
|
||||
static struct device *vexpress_restart_device;
|
||||
|
||||
void vexpress_restart(char str, const char *cmd)
|
||||
static void vexpress_restart(char str, const char *cmd)
|
||||
{
|
||||
vexpress_reset_do(vexpress_restart_device, "restart");
|
||||
}
|
||||
@@ -103,14 +105,17 @@ static int vexpress_reset_probe(struct platform_device *pdev)
|
||||
switch (func) {
|
||||
case FUNC_SHUTDOWN:
|
||||
vexpress_power_off_device = &pdev->dev;
|
||||
pm_power_off = vexpress_power_off;
|
||||
break;
|
||||
case FUNC_RESET:
|
||||
if (!vexpress_restart_device)
|
||||
vexpress_restart_device = &pdev->dev;
|
||||
arm_pm_restart = vexpress_restart;
|
||||
device_create_file(&pdev->dev, &dev_attr_active);
|
||||
break;
|
||||
case FUNC_REBOOT:
|
||||
vexpress_restart_device = &pdev->dev;
|
||||
arm_pm_restart = vexpress_restart;
|
||||
device_create_file(&pdev->dev, &dev_attr_active);
|
||||
break;
|
||||
};
|
||||
|
Reference in New Issue
Block a user