【Tiny6410 And Linux】—(2.4)—实现 input 模型按键驱动——代码

本文介绍了在Linux系统中如何为Tiny6410开发板实现input模型的按键驱动,包括驱动程序的三个主要文件input_btn_dev.c、input_btn_drv.c和Makefile,以及测试程序app_input.c的编写和测试结果。
摘要由CSDN通过智能技术生成

好了,白去修了趟电脑!

日了,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,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值