#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/input.h>
#include <linux/types.h>
#include <linux/acpi.h>
#include <linux/uaccess.h>
#define ACPI_ATLAS_NAME …
#define ACPI_ATLAS_CLASS …
static unsigned short atlas_keymap[16];
static struct input_dev *input_dev;
static acpi_status acpi_atlas_button_setup(acpi_handle region_handle,
u32 function, void *handler_context, void **return_context)
{ … }
static acpi_status acpi_atlas_button_handler(u32 function,
acpi_physical_address address,
u32 bit_width, u64 *value,
void *handler_context, void *region_context)
{ … }
static int atlas_acpi_button_add(struct acpi_device *device)
{ … }
static void atlas_acpi_button_remove(struct acpi_device *device)
{ … }
static const struct acpi_device_id atlas_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, atlas_device_ids);
static struct acpi_driver atlas_acpi_driver = …;
module_acpi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;