#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/input.h>
#include <linux/acpi.h>
#define MODULE_NAME …
#define XO15_EBOOK_CLASS …
#define XO15_EBOOK_TYPE_UNKNOWN …
#define XO15_EBOOK_NOTIFY_STATUS …
#define XO15_EBOOK_SUBCLASS …
#define XO15_EBOOK_HID …
#define XO15_EBOOK_DEVICE_NAME …
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static const struct acpi_device_id ebook_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, ebook_device_ids);
struct ebook_switch { … };
static int ebook_send_state(struct acpi_device *device)
{ … }
static void ebook_switch_notify(struct acpi_device *device, u32 event)
{ … }
#ifdef CONFIG_PM_SLEEP
static int ebook_switch_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(ebook_switch_pm, NULL, ebook_switch_resume);
static int ebook_switch_add(struct acpi_device *device)
{ … }
static void ebook_switch_remove(struct acpi_device *device)
{ … }
static struct acpi_driver xo15_ebook_driver = …;
module_acpi_driver(…) …;