#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/acpi.h>
#include <linux/regmap.h>
#include "bmc150-accel.h"
#ifdef CONFIG_ACPI
static const struct acpi_device_id bmc150_acpi_dual_accel_ids[] = …;
#define BMC150_DSM_GUID …
#define DUAL250E_SET_ANGLE_FN_INDEX …
struct dual250e_set_angle_args { … } __packed;
static bool bmc150_acpi_set_angle_dsm(struct i2c_client *client, u32 aux0, u32 ang0)
{ … }
static bool bmc150_acpi_enable_keyboard(struct i2c_client *client)
{ … }
static void bmc150_acpi_resume_work(struct work_struct *work)
{ … }
static void bmc150_acpi_resume_handler(struct device *dev)
{ … }
static void bmc150_acpi_dual_accel_probe(struct i2c_client *client)
{ … }
static void bmc150_acpi_dual_accel_remove(struct i2c_client *client)
{ … }
#else
static void bmc150_acpi_dual_accel_probe(struct i2c_client *client) {}
static void bmc150_acpi_dual_accel_remove(struct i2c_client *client) {}
#endif
static int bmc150_accel_probe(struct i2c_client *client)
{ … }
static void bmc150_accel_remove(struct i2c_client *client)
{ … }
static const struct acpi_device_id bmc150_accel_acpi_match[] = …;
MODULE_DEVICE_TABLE(acpi, bmc150_accel_acpi_match);
static const struct i2c_device_id bmc150_accel_id[] = …;
MODULE_DEVICE_TABLE(i2c, bmc150_accel_id);
static const struct of_device_id bmc150_accel_of_match[] = …;
MODULE_DEVICE_TABLE(of, bmc150_accel_of_match);
static struct i2c_driver bmc150_accel_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_IMPORT_NS(…);