#include <linux/input.h>
#include <linux/module.h>
#include <linux/gpio/consumer.h>
#include <linux/of.h>
#include <linux/workqueue.h>
#include <linux/platform_device.h>
#define BEEPER_MODNAME …
struct gpio_beeper { … };
static void gpio_beeper_toggle(struct gpio_beeper *beep, bool on)
{ … }
static void gpio_beeper_work(struct work_struct *work)
{ … }
static int gpio_beeper_event(struct input_dev *dev, unsigned int type,
unsigned int code, int value)
{ … }
static void gpio_beeper_close(struct input_dev *input)
{ … }
static int gpio_beeper_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id gpio_beeper_of_match[] = …;
MODULE_DEVICE_TABLE(of, gpio_beeper_of_match);
#endif
static struct platform_driver gpio_beeper_platform_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;