#include <linux/completion.h>
#include <linux/module.h>
#include <linux/reboot.h>
#include <linux/suspend.h>
#include <linux/spi/spi.h>
#define CMD_REBOOT …
#define CMD_POWEROFF …
#define CMD_HALT …
#define CMD_SUSPEND …
struct spi_slave_system_control_priv { … };
static
int spi_slave_system_control_submit(struct spi_slave_system_control_priv *priv);
static void spi_slave_system_control_complete(void *arg)
{ … }
static
int spi_slave_system_control_submit(struct spi_slave_system_control_priv *priv)
{ … }
static int spi_slave_system_control_probe(struct spi_device *spi)
{ … }
static void spi_slave_system_control_remove(struct spi_device *spi)
{ … }
static struct spi_driver spi_slave_system_control_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;