#include <linux/module.h>
#include <linux/acpi.h>
#include <linux/rfkill.h>
#include <linux/input.h>
#include "dell-rbtn.h"
enum rbtn_type { … };
struct rbtn_data { … };
static enum rbtn_type rbtn_check(struct acpi_device *device)
{ … }
static int rbtn_get(struct acpi_device *device)
{ … }
static int rbtn_acquire(struct acpi_device *device, bool enable)
{ … }
static void rbtn_rfkill_query(struct rfkill *rfkill, void *data)
{ … }
static int rbtn_rfkill_set_block(void *data, bool blocked)
{ … }
static const struct rfkill_ops rbtn_ops = …;
static int rbtn_rfkill_init(struct acpi_device *device)
{ … }
static void rbtn_rfkill_exit(struct acpi_device *device)
{ … }
static void rbtn_rfkill_event(struct acpi_device *device)
{ … }
static int rbtn_input_init(struct rbtn_data *rbtn_data)
{ … }
static void rbtn_input_exit(struct rbtn_data *rbtn_data)
{ … }
static void rbtn_input_event(struct rbtn_data *rbtn_data)
{ … }
static int rbtn_add(struct acpi_device *device);
static void rbtn_remove(struct acpi_device *device);
static void rbtn_notify(struct acpi_device *device, u32 event);
static const struct acpi_device_id rbtn_ids[] = …;
#ifdef CONFIG_PM_SLEEP
static void ACPI_SYSTEM_XFACE rbtn_clear_suspended_flag(void *context)
{ … }
static int rbtn_suspend(struct device *dev)
{ … }
static int rbtn_resume(struct device *dev)
{ … }
#endif
static SIMPLE_DEV_PM_OPS(rbtn_pm_ops, rbtn_suspend, rbtn_resume);
static struct acpi_driver rbtn_driver = …;
static bool auto_remove_rfkill = …;
static ATOMIC_NOTIFIER_HEAD(rbtn_chain_head);
static int rbtn_inc_count(struct device *dev, void *data)
{ … }
static int rbtn_switch_dev(struct device *dev, void *data)
{ … }
int dell_rbtn_notifier_register(struct notifier_block *nb)
{ … }
EXPORT_SYMBOL_GPL(…);
int dell_rbtn_notifier_unregister(struct notifier_block *nb)
{ … }
EXPORT_SYMBOL_GPL(…);
static int rbtn_add(struct acpi_device *device)
{ … }
static void rbtn_remove(struct acpi_device *device)
{ … }
static void rbtn_notify(struct acpi_device *device, u32 event)
{ … }
module_acpi_driver(…) …;
module_param(auto_remove_rfkill, bool, 0444);
MODULE_PARM_DESC(…) …;
MODULE_DEVICE_TABLE(acpi, rbtn_ids);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;