platform总线驱动框架实现GPIO子系统的LED点灯

添加设备树:

 

设备文件:

#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include<linux/fs.h>
#include<linux/uaccess.h>
#include<linux/io.h>
#include<linux/device.h>
#include <linux/cdev.h>
#include <linux/slab.h>
#include <linux/wait.h>

struct resource *res;
unsigned int irqno;
struct gpio_desc *gpiono1;
struct gpio_desc *gpiono2;
struct gpio_desc *gpiono3;

struct cdev *cdev;
unsigned int minor=0;
dev_t devno;
#if 0
unsigned int major=0;
#else
unsigned int major=500;
#endif
struct class *cls;
struct device *dev;

char kbuf[128];
//定义等待队列头
wait_queue_head_t wq_head;
int mycdev_open (struct inode *inode, struct file *file)
{
    return 0;
}
ssize_t mycdev_read (struct file *file, char __user *user, size_t size, loff_t *lof)
{
    return 0;
}
ssize_t mycdev_write (struct file *file, const char __user *user, size_t size, loff_t *lof)
{
    unsigned long ret;
    if(size>sizeof(kbuf)){
        size=sizeof(kbuf);
    }
    ret=copy_from_user(kbuf,user,size);
    if(r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值