#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/bitops.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/interrupt.h>
#include <linux/input.h>
#include <linux/delay.h>
#include <linux/dmi.h>
#define MODULENAME …
#define ACPI_FUJITSU_CLASS …
#define INVERT_TABLET_MODE_BIT …
#define INVERT_DOCK_STATE_BIT …
#define FORCE_TABLET_MODE_IF_UNDOCK …
#define KEYMAP_LEN …
static const struct acpi_device_id fujitsu_ids[] = …;
struct fujitsu_config { … };
static unsigned short keymap_Lifebook_Tseries[KEYMAP_LEN] __initdata = …;
static unsigned short keymap_Lifebook_T901[KEYMAP_LEN] __initdata = …;
static unsigned short keymap_Lifebook_T902[KEYMAP_LEN] __initdata = …;
static unsigned short keymap_Lifebook_U810[KEYMAP_LEN] __initdata = …;
static unsigned short keymap_Stylistic_Tseries[KEYMAP_LEN] __initdata = …;
static unsigned short keymap_Stylistic_ST5xxx[KEYMAP_LEN] __initdata = …;
static struct { … } fujitsu;
static u8 fujitsu_ack(void)
{ … }
static u8 fujitsu_status(void)
{ … }
static u8 fujitsu_read_register(const u8 addr)
{ … }
static void fujitsu_send_state(void)
{ … }
static void fujitsu_reset(void)
{ … }
static int input_fujitsu_setup(struct device *parent, const char *name,
const char *phys)
{ … }
static void input_fujitsu_remove(void)
{ … }
static irqreturn_t fujitsu_interrupt(int irq, void *dev_id)
{ … }
static void __init fujitsu_dmi_common(const struct dmi_system_id *dmi)
{ … }
static int __init fujitsu_dmi_lifebook(const struct dmi_system_id *dmi)
{ … }
static int __init fujitsu_dmi_stylistic(const struct dmi_system_id *dmi)
{ … }
static const struct dmi_system_id dmi_ids[] __initconst = …;
static acpi_status fujitsu_walk_resources(struct acpi_resource *res, void *data)
{ … }
static int acpi_fujitsu_add(struct acpi_device *adev)
{ … }
static void acpi_fujitsu_remove(struct acpi_device *adev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int acpi_fujitsu_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(acpi_fujitsu_pm, NULL, acpi_fujitsu_resume);
static struct acpi_driver acpi_fujitsu_driver = …;
static int __init fujitsu_module_init(void)
{ … }
static void __exit fujitsu_module_exit(void)
{ … }
module_init(…) …;
module_exit(fujitsu_module_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
MODULE_DEVICE_TABLE(acpi, fujitsu_ids);