|

#include <linux/init.h>
#include <linux/module.h>
#include <asm/gpio.h>
#include <linux/moduleparam.h>
#include <linux/mm.h>
#include <asm/io.h>

#define DEVICE_NAME "LEDS"
#define NUM_MAJOR 240

MODULE_LICENSE("Dual BSD/GPL");

static int leds_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
  {
return 0;
}

static struct file_operations fops =
  {
owner: THIS_MODULE,
ioctl: leds_ioctl,
};

static int leds_init(void)
  {
// 注冊設備
register_chrdev(NUM_MAJOR, DEVICE_NAME, &fops);
return 0;
}

static void leds_exit(void)
  {
// 注銷設備
unregister_chrdev(NUM_MAJOR,DEVICE_NAME);
}

module_init(leds_init);
module_exit(leds_exit);

|