小弟初学驱动,参考资料写了一个触摸屏驱动程序,编译成功后在mini2440开发板上进行测试,在insmod加载后,注册IRQ_ADC和IRQ_TC中断的时候request_irq总是返回EBUSY,注册中断的代码如下:
static struct input_dev *dev;
.....//别的一些设置略
if ((ret = request_irq(IRQ_ADC, stylus_action, IRQF_SAMPLE_RANDOM,"s3c2410_action", dev)) != 0)
{
printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC :%d,%d!\n", EIO,ret);
iounmap(base_addr);
return -EIO;
}
if ((ret = request_irq(IRQ_TC, stylus_updown, IRQF_SAMPLE_RANDOM,"s3c2410_action", dev)) != 0)
{
printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC :%d,%d!\n", EIO,ret);
iounmap(base_addr);
return -EIO;
}
我查了一些资料说是中断线被占用,请问这个问题怎么解决呢?这是因为开发板上已经包含了触摸屏驱动引起吗?这种情况下自己写的触摸屏驱动应该怎么去测试啊?
请大家指点一下,不胜感激!!!
374122021 于 2010-05-10 00:40:55发表:
搞了几天,好像只有重新定制内核才行
tianyi19880206 于 2010-05-09 21:22:11发表:
是不是应先把原先的驱动给卸了,我在学习驱动。很多东西都不会!真是开头难哪!
qiangu 于 2010-05-04 08:34:01发表:
帮顶上