#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/acpi.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
struct toshiba_haps_dev { … };
static struct toshiba_haps_dev *toshiba_haps;
static int toshiba_haps_reset_protection(acpi_handle handle)
{ … }
static int toshiba_haps_protection_level(acpi_handle handle, int level)
{ … }
static ssize_t protection_level_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t protection_level_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_RW(protection_level);
static ssize_t reset_protection_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static DEVICE_ATTR_WO(reset_protection);
static struct attribute *haps_attributes[] = …;
static const struct attribute_group haps_attr_group = …;
static void toshiba_haps_notify(struct acpi_device *device, u32 event)
{ … }
static void toshiba_haps_remove(struct acpi_device *device)
{ … }
static int toshiba_haps_available(acpi_handle handle)
{ … }
static int toshiba_haps_add(struct acpi_device *acpi_dev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int toshiba_haps_suspend(struct device *device)
{ … }
static int toshiba_haps_resume(struct device *device)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(toshiba_haps_pm,
toshiba_haps_suspend, toshiba_haps_resume);
static const struct acpi_device_id haps_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, haps_device_ids);
static struct acpi_driver toshiba_haps_driver = …;
module_acpi_driver(…) …;