#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/gpio/driver.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/pci.h>
#include <linux/io.h>
#define MODULE_NAME …
#define NR_VX855_GPI …
#define NR_VX855_GPO …
#define NR_VX855_GPIO …
#define NR_VX855_GPInO …
#define NR_VX855_GP …
struct vx855_gpio { … };
static inline u_int32_t gpi_i_bit(int i)
{ … }
static inline u_int32_t gpo_o_bit(int i)
{ … }
static inline u_int32_t gpio_i_bit(int i)
{ … }
static inline u_int32_t gpio_o_bit(int i)
{ … }
static int vx855gpio_direction_input(struct gpio_chip *gpio,
unsigned int nr)
{ … }
static int vx855gpio_get(struct gpio_chip *gpio, unsigned int nr)
{ … }
static void vx855gpio_set(struct gpio_chip *gpio, unsigned int nr,
int val)
{ … }
static int vx855gpio_direction_output(struct gpio_chip *gpio,
unsigned int nr, int val)
{ … }
static int vx855gpio_set_config(struct gpio_chip *gpio, unsigned int nr,
unsigned long config)
{ … }
static const char *vx855gpio_names[NR_VX855_GP] = …;
static void vx855gpio_gpio_setup(struct vx855_gpio *vg)
{ … }
static int vx855gpio_probe(struct platform_device *pdev)
{ … }
static struct platform_driver vx855gpio_driver = …;
module_platform_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;