===================================================================
@@ -17,6 +17,7 @@
#include <linux/platform_device.h>
#include <linux/stat.h>
#include <linux/vexpress.h>
+#include <linux/machine_reset.h>
#include <asm/system_misc.h>
@@ -75,58 +76,52 @@ DEVICE_ATTR(active, S_IRUGO | S_IWUSR, v
vexpress_reset_active_store);
-enum vexpress_reset_func { FUNC_RESET, FUNC_SHUTDOWN, FUNC_REBOOT };
-
static struct of_device_id vexpress_reset_of_match[] = {
{
.compatible = "arm,vexpress-reset",
- .data = (void *)FUNC_RESET,
+ .data = (void *) RESET_RESTART,
}, {
.compatible = "arm,vexpress-shutdown",
- .data = (void *)FUNC_SHUTDOWN
+ .data = (void *) RESET_POWER_OFF,
}, {
.compatible = "arm,vexpress-reboot",
- .data = (void *)FUNC_REBOOT
+ .data = (void *) RESET_RESTART,
},
{}
};
static int vexpress_reset_probe(struct platform_device *pdev)
{
- enum vexpress_reset_func func;
+ enum reset_func func;
const struct of_device_id *match =
of_match_device(vexpress_reset_of_match, &pdev->dev);
if (match)
- func = (enum vexpress_reset_func)match->data;
+ func = (enum reset_func) match->data;
else
func = pdev->id_entry->driver_data;
switch (func) {
- case FUNC_SHUTDOWN:
+ case RESET_POWER_OFF:
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:
+ case RESET_RESTART:
vexpress_restart_device = &pdev->dev;
arm_pm_restart = vexpress_restart;
device_create_file(&pdev->dev, &dev_attr_active);
break;
+ default:
+ return -EINVAL;
};
return 0;
}
static const struct platform_device_id vexpress_reset_id_table[] = {
- { .name = "vexpress-reset", .driver_data = FUNC_RESET, },
- { .name = "vexpress-shutdown", .driver_data = FUNC_SHUTDOWN, },
- { .name = "vexpress-reboot", .driver_data = FUNC_REBOOT, },
+ { .name = "vexpress-reset", .driver_data = RESET_RESTART, },
+ { .name = "vexpress-shutdown", .driver_data = RESET_POWER_OFF, },
+ { .name = "vexpress-reboot", .driver_data = RESET_RESTART, },
{}
};