35 lines
617 B
C
35 lines
617 B
C
#ifndef __GPIO_H__
|
|
#define __GPIO_H__
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include "driver.h"
|
|
|
|
#define IOCTL_CMD_SET_DIRECTION 0
|
|
|
|
int gpio_open(const struct driver *drv);
|
|
int gpio_close(const struct driver *drv);
|
|
|
|
int gpio_read(const struct driver *drv, char *buffer, unsigned int len);
|
|
int gpio_write(const struct driver *drv, const char *buffer, unsigned int len);
|
|
|
|
enum direction {
|
|
IN = 0,
|
|
OUT
|
|
};
|
|
|
|
struct gpio {
|
|
int pin;
|
|
enum direction dir;
|
|
};
|
|
|
|
static const struct driver_fp gpio_fp = {
|
|
.open = gpio_open,
|
|
.close = gpio_close,
|
|
.read = gpio_read,
|
|
.write = gpio_write,
|
|
.ioctl = NULL
|
|
};
|
|
|
|
#endif
|