linux/drivers/platform/x86/dell/dell-rbtn.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
    Dell Airplane Mode Switch driver
    Copyright (C) 2014-2015  Pali Rohár <[email protected]>

*/

#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 {};


/*
 * acpi functions
 */

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)
{}


/*
 * rfkill device
 */

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)
{}


/*
 * input 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)
{}


/*
 * acpi driver
 */

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 =;


/*
 * notifier export functions
 */

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();


/*
 * acpi driver functions
 */

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 functions
 */

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();