30 lines
651 B
C
30 lines
651 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);
|
||
|
int gpio_ioctl(const struct driver *drv, unsigned int cmd, unsigned int argc, va_list args);
|
||
|
|
||
|
struct gpio {
|
||
|
int pin;
|
||
|
};
|
||
|
|
||
|
static const struct driver_fp gpio_fp = {
|
||
|
.open = gpio_open,
|
||
|
.close = gpio_close,
|
||
|
.read = gpio_read,
|
||
|
.write = gpio_write,
|
||
|
.ioctl = gpio_ioctl
|
||
|
};
|
||
|
|
||
|
#endif
|