zoukankan      html  css  js  c++  java
  • class_create()

    #define class_create(owner, name)               
    ({                                              
            static struct lock_class_key __key;     
            __class_create(owner, name, &__key);    
    })

    扩展阅读

    class_create为该设备创建一个class再为每个设备调用 class_device_create创建对应的设备。大致用法如下:
    struct class *myclass = class_create(THIS_MODULE, “my_device_driver”);
    class_device_create(myclass, NULL, MKDEV(major_num, 0), NULL, “my_device”);
    这样的module被加载时,udev daemon就会自动在/dev下创建my_device设备文件


    class_create()
    -------------------------------------------------
    linux-2.6.22/include/linux/device.h
    struct class *class_create(struct module *owner, const char *name)
        class_create - create a struct class structure
        @owner: pointer to the module that is to "own" this struct class
        @name: pointer to a string for the name of this class.
    在/sys/class/下创建类目录



    class_device_create()
    -------------------------------------------------
    linux-2.6.22/include/linux/device.h
    struct class_device *class_device_create(struct class        *cls,
                                             struct class_device *parent,
                                             dev_t               devt,
                                             struct device       *device,
                                             const char          *fmt, ...)

        class_device_create - creates a class device and registers it with sysfs
        @cls: pointer to the struct class that this device should be registered to.
        @parent: pointer to the parent struct class_device of this new device, if any.
        @devt: the dev_t for the char device to be added.
        @device: a pointer to a struct device that is assiociated with this class device.
        @fmt: string for the class device's name

  • 相关阅读:
    如何解决Unsupported major.minor version 52.0问题?
    无法将 Ethernet0 连接到虚拟网络”VMnet0″ 详细信息可以在 vmware.log 文件中找到未能连接虚拟机Ethernet0
    安卓逆向入门教程(一)
    go数据类型 slice map
    Tomcat服务配置及性能优化
    RabbitMQ消息可靠性投递
    LevelDb引擎
    【前端】Vue.js前端框架
    【PHP】PHP 微服务协程框架Swoft
    Supervisor进程管理工具
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4412039.html
Copyright © 2011-2022 走看看