#include <linux/module.h>
#include <linux/siox.h>
#include <linux/gpio/driver.h>
#include <linux/of.h>
struct gpio_siox_ddata { … };
static int gpio_siox_set_data(struct siox_device *sdevice, u8 status, u8 buf[])
{ … }
static int gpio_siox_get_data(struct siox_device *sdevice, const u8 buf[])
{ … }
static void gpio_siox_irq_ack(struct irq_data *d)
{ … }
static void gpio_siox_irq_mask(struct irq_data *d)
{ … }
static void gpio_siox_irq_unmask(struct irq_data *d)
{ … }
static int gpio_siox_irq_set_type(struct irq_data *d, u32 type)
{ … }
static int gpio_siox_get(struct gpio_chip *chip, unsigned int offset)
{ … }
static void gpio_siox_set(struct gpio_chip *chip,
unsigned int offset, int value)
{ … }
static int gpio_siox_direction_input(struct gpio_chip *chip,
unsigned int offset)
{ … }
static int gpio_siox_direction_output(struct gpio_chip *chip,
unsigned int offset, int value)
{ … }
static int gpio_siox_get_direction(struct gpio_chip *chip, unsigned int offset)
{ … }
static const struct irq_chip gpio_siox_irq_chip = …;
static int gpio_siox_probe(struct siox_device *sdevice)
{ … }
static struct siox_driver gpio_siox_driver = …;
module_siox_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;