天嵌 ARM开发社区

 找回密码
 注册
查看: 1557|回复: 1

自动生成节点的程序里不用加设备创建和注册的函数么?

[复制链接]
鬼鬼一哈 发表于 2010-10-20 16:48:09 | 显示全部楼层 |阅读模式
本帖最后由 鬼鬼一哈 于 2010-10-20 16:50 编辑

///////////////////////////////节点要自己创建///////////////////////////////////
static void gpio_setup_cdev(struct cdev *dev, int minor,struct file_operations *fops)
{            /*字符设备的创建和注册*/
   int err,devno = MKDEV(major, minor);
   cdev_init(dev, fops);
   dev->owner = THIS_MODULE;
   dev->ops = fops;
   err = cdev_add (dev, devno, 1);
   if(err)        { printk(KERN_NOTICE "Error %d adding gpio %d", err, minor); }
}
static struct cdev gpio_devs;
static int __init gpio_init(void)
{
   int result;
   dev_t dev = MKDEV(major,0);
       / *分配设备号,省略代码*/
   gpio_setup_cdev(&gpio_devs, 0, &gpio_fops);
   printk("The major of gpio dev`ice is %d\n",major);
   return 0;
}
/////////////////////////////////////节点自动生成////////////////////////////////////
static struct cdev gpio_devs;
static int __init gpio_init(void)
{
   int result;
   dev_t dev = MKDEV(major,0);
    / *分配设备号,省略代码*/
  gpio_setup_cdev(&gpio_devs, 0, &gpio_fops);
//很多例子里都没写这一句(红色代码段)设备的创建和注册。。。。。
///////////////////////节点自动生成代码////////////////////////////
  gpio_class = class_create(THIS_MODULE,GPIO_DEVICE_NAME);
device_create(gpio_class, NULL, MKDEV(major, 0), NULL, GPIO_DEVICE_NAME);
  printk("The major of gpio dev`ice is %d\n",major);
  return 0;
}
是不是在节点自动生成代码中(代码里已经完成了设备的创建和注册了么?)不用添加代码
gpio_setup_cdev(&gpio_devs, 0, &gpio_fops);么?
zr_714 发表于 2010-10-20 22:46:17 | 显示全部楼层
我感觉应该要的把 节点自动生成是应用层的事情 底层的匹配应该还是要的把 。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-5 20:19 , Processed in 1.020547 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表