Create a device node in code

转载 2016年05月31日 22:23:18
static int __init ofcd_init(void) /* Constructor */
{
    printk(KERN_INFO "Welcome!");
    if (alloc_chrdev_region(&first, 0, 1, "char_dev") < 0)  //$cat /proc/devices
    {
        return -1;
    }
    if ((cl = class_create(THIS_MODULE, "chardrv")) == NULL)    //$ls /sys/class
    {
        unregister_chrdev_region(first, 1);
        return -1;
    }

    cdev_init(&c_dev, &fops);
    if (cdev_add(&c_dev, first, 1) == -1)
    {
        device_destroy(cl, first);
        class_destroy(cl);
        unregister_chrdev_region(first, 1);
        return -1;
    }
    if (device_create(cl, NULL, first, NULL, "mynull") == NULL) //$ls /dev/
    {
        class_destroy(cl);
        unregister_chrdev_region(first, 1);
        return -1;
    }
return 0;

}


Code might be clear if you would use goto like kernel uses. 

相关文章推荐

Genymotion添加模拟器时报Unable to create virtual device,Server returned HTTP status code xxx

Genymotion添加模拟器时报Unable to create virtual device,Server returned HTTP status code xxx,被墙了导致无法下载,解决方法...

Genymotion添加模拟器时报“Unable to create virtual device,Server returned HTTP status code 0”

使用Genymotion添加模拟器时报“Unable to create virtual device,Server returned HTTP status code 0”,被墙了导致无法下载,解决...
  • iqv520
  • iqv520
  • 2016-03-18 23:02
  • 4877

Node.js in Action_CODE zip

  • 2017-10-06 01:42
  • 78KB
  • 下载

device_create ()详解

在驱动程序中初始化入口函数中,向内核注册一个设备后,往往要注册一个类 例如 static int __init mydriver_init(void) //驱动程序的初始化 {     ……...

DEVICE_ATTR 和 sysfs 的东西 -- sysfs_create_group

说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR原型是#define DEVICE_ATTR(_name, _mode, _show, _store)  struct device...

谈论attribute驱动实现方式(及device_create与设备节点的关系)

谈论attribute驱动实现方式(及device_create与设备节点的关系) (1)device_create要能实现自动创建设备节点这一部分作用需要真正的主设备号的存在,并不是使用了devic...

How to Create a Device Driver --WINCE 6.0

这个例子只是说明流驱动开发的一般步骤。如果要实习你的目标设备的功能,你必须重新定义驱动代码。 步骤: 1,复制电源管理驱动的例子到我们的操作系统设计包中; 例如, 复制 %_WINC...

TFS部署:create_block allocate space error. ret: -1, error: 28, error desc: No space left on device

在CentOS 6.5 下安装完TFS部署的过程中,执行“./scripts/stfs format 1”命令时,出现错误: ERROR create_block (blockfile_mana...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)