1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include <linux/kernel.h> #include <linux/module.h> #include <linux/types.h> #include <linux/init.h> #include <linux/platform_device.h> #include <linux/gpio.h> #include <mach/platform.h> #include <mach/devices.h> #include <mach/soc.h> #include <mach/gpio.h>
#define DEVICE_NAME “gpio”
#define OUTPUT 1 #define INPUT 0 #define HIGH 1 #define LOW 0
unsigned int GPIOC11 = PAD_GPIO_C + 11;
static int gpio_init(void){ printk(“init\n”); gpio_request(GPIOC11, “test”); gpio_direction_output(GPIOC11, 1); gpio_set_value(GPIOC11, HIGH); printk(“gpio_set_value HIGH\n”); return 0; }
static void gpio_exit(void){ printk(“gpio_set_value LOW\n”); gpio_set_value(GPIOC11, LOW); gpio_free(GPIOC11); printk(“exit\n”); }
module_init(gpio_init); module_exit(gpio_exit);
MODULE_LICENSE(“GPL”); MODULE_AUTHOR(“YPW”);
|