好了,白去修了趟电脑!
日了,FUCK!初步鉴定是宿舍的电源不稳定,导致的!
好了,赶紧的贴完代码,去趟自习室。
1、驱动程序
①、input_btn_dev.c
#include <linux/module.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/device.h>
#define DEVICE_NAME "tiny6410_buttons"
/* 平台资源的定义 */
static struct resource tiny6410_buttons_resource[] = {
[0] = {
.start = IRQ_EINT(0),
.end = IRQ_EINT(0),
.flags = IORESOURCE_IRQ,
},
[1] = {
.start = IRQ_EINT(1),
.end = IRQ_EINT(1),
.flags = IORESOURCE_IRQ,
},
[2] = {
.start = IRQ_EINT(2),
.end = IRQ_EINT(2),
.flags = IORESOURCE_IRQ,
},
[3] = {
.start = IRQ_EINT(3),
.end = IRQ_EINT(3),
.flags = IORESOURCE_IRQ,
},
[4] = {
.start = IRQ_EINT(4),
.end = IRQ_EINT(4),
.flags = IORESOURCE_IRQ,
},
[5] = {
.start = IRQ_EINT(5),
.end = IRQ_EINT(5),
.flags = IORESOURCE_IRQ,
},
[6] = {
.start = IRQ_EINT(19),
.end = IRQ_EINT(19),
.flags = IORESOURCE_IRQ,
},
[7] = {
.start = IRQ_EINT(20),
.end = IRQ_EINT(20),
.flags = IORESOURCE_IRQ,
} /* 这里不需要加逗号 */
};
static struct platform_device *tiny6410_buttons_dev;
static int __init platform_init(void)
{
printk("[Call platform_init!]\n");
/* 分配一个 platform_device 结构 */
tiny6410_buttons_dev = platform_device_alloc(DEVICE_NAME, -1);
/* 为平台设备添加平台设备资源 */
platform_device_add_resources(tiny6410_buttons_dev,