#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/acpi.h>
#include <linux/rfkill.h>
#define BT_KILLSWITCH_MASK …
#define BT_PLUGGED_MASK …
#define BT_POWER_MASK …
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
struct toshiba_bluetooth_dev { … };
static int toshiba_bt_rfkill_add(struct acpi_device *device);
static void toshiba_bt_rfkill_remove(struct acpi_device *device);
static void toshiba_bt_rfkill_notify(struct acpi_device *device, u32 event);
static const struct acpi_device_id bt_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, bt_device_ids);
#ifdef CONFIG_PM_SLEEP
static int toshiba_bt_resume(struct device *dev);
#endif
static SIMPLE_DEV_PM_OPS(toshiba_bt_pm, NULL, toshiba_bt_resume);
static struct acpi_driver toshiba_bt_rfkill_driver = …;
static int toshiba_bluetooth_present(acpi_handle handle)
{ … }
static int toshiba_bluetooth_status(acpi_handle handle)
{ … }
static int toshiba_bluetooth_enable(acpi_handle handle)
{ … }
static int toshiba_bluetooth_disable(acpi_handle handle)
{ … }
static int toshiba_bluetooth_sync_status(struct toshiba_bluetooth_dev *bt_dev)
{ … }
static int bt_rfkill_set_block(void *data, bool blocked)
{ … }
static void bt_rfkill_poll(struct rfkill *rfkill, void *data)
{ … }
static const struct rfkill_ops rfk_ops = …;
static void toshiba_bt_rfkill_notify(struct acpi_device *device, u32 event)
{ … }
#ifdef CONFIG_PM_SLEEP
static int toshiba_bt_resume(struct device *dev)
{ … }
#endif
static int toshiba_bt_rfkill_add(struct acpi_device *device)
{ … }
static void toshiba_bt_rfkill_remove(struct acpi_device *device)
{ … }
module_acpi_driver(…) …;