Chinaunix首页 | 论坛 | 博客
  • 博客访问: 665061
  • 博文数量: 121
  • 博客积分: 4034
  • 博客等级: 上校
  • 技术积分: 1439
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-28 12:42
文章分类

全部博文(121)

文章存档

2017年(8)

2016年(10)

2013年(2)

2012年(3)

2011年(18)

2010年(80)

分类: LINUX

2010-07-28 15:40:46

平台

cpu: s3c2410;
board: mini2440;
网卡: dm9000;

misc设备驱动的注册于撤销

struct miscdevice misc_led_button = {
.minor = MISC_LED_BUTTON_DEVICE,
.name = DEVICE_NAME,
.fops = &misc_led_button_fops,
};

static int misc_led_button_init(void)
{
int ret;
ret = misc_register(&misc_led_button);
init_device();
printk(DEVICE_NAME" initialized\n");
return ret;
}
static void misc_led_button_exit(void)
{
int i;
for(i=0;i<4;i++)
{
s3c2410_gpio_setpin(led_table[i],1);
}
for (i = 0; i < sizeof(button_irqs)/sizeof(button_irqs[0]); i++) {
if (button_irqs[i].irq < 0) {
continue;
}
free_irq(button_irqs[i].irq, (void *)&button_irqs[i]);
}

misc_deregister(&misc_led_button);
printk(DEVICE_NAME" exit\n");
}

misc设备主设备号都使用10统一管理,次设备号可以自己随便选择,但是不能和系统已使用的次设备好重复.
在中include/linux/miscdevice.h可以查看系统已使用的次设备号。

阅读(1863) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~