#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/spi/spi.h>
#include <linux/spi/mc33880.h>
#include <linux/gpio/driver.h>
#include <linux/slab.h>
#include <linux/module.h>
#define DRIVER_NAME …
#define PIN_CONFIG_MASK …
#define PIN_CONFIG_IN_PULLUP …
#define PIN_CONFIG_IN_WO_PULLUP …
#define PIN_CONFIG_OUT …
#define PIN_NUMBER …
struct mc33880 { … };
static int mc33880_write_config(struct mc33880 *mc)
{ … }
static int __mc33880_set(struct mc33880 *mc, unsigned offset, int value)
{ … }
static void mc33880_set(struct gpio_chip *chip, unsigned offset, int value)
{ … }
static int mc33880_probe(struct spi_device *spi)
{ … }
static void mc33880_remove(struct spi_device *spi)
{ … }
static struct spi_driver mc33880_driver = …;
static int __init mc33880_init(void)
{ … }
subsys_initcall(mc33880_init);
static void __exit mc33880_exit(void)
{ … }
module_exit(mc33880_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;