zoukankan      html  css  js  c++  java
  • 004_linux驱动之_class_create创建一个设备类

    (一)解析:class_create函数和class_destroy函数

        创建一个类         和        删除一个类。
     
    (二)class_create函数原型
     
    struct class *class_create(struct module *owner, const char *name);
     
    1. 查看函数注释:

    / * *

    创建一个struct类结构

    * @owner:指向“拥有”这个struct类的模块的指针

    * @name:指向该类名称的字符串的指针。

    *

    *这是用来创建一个结构类指针,然后可以使用

    *调用class_device_create()。

    *

    *注意,这里创建的指针将在完成时被销毁

    *调用class_destroy()。

    * /

     
    2. 使用示例:



    从使用示例中和解析中我们看出,使用class_create函数第一个变量为.owner,第二个变量为这个类的名字
     
    .owner为什么使用THIS_MODULE呢,这个我们看到003_linux驱动之_file_operations函数 里面我们使用举例里面我们的.owner是THIS_MODULE 
    这个可以不用管它,先这样设置。
     
    3. 说白了,这个函数就是创建一个类,还需在这个类下面创建设备,不然的话这个类没什么用
     
    (三)从上面的注解中我们可知道,要删除这个类我们需要调用class_destroy这个函数
    函数原型:void class_destroy(struct class *cls);
    我们看一下class_destroy函数的注解

    / * *

    * class_destroy -销毁一个struct类结构

    * @cls:指向将要被销毁的struct类的指针

    *

    *注意,要销毁的指针必须是通过调用创建的

    * class_create()。

    * /

    使用示例:


     
    (四)在这个类下面创建一个设备

     

  • 相关阅读:
    printf打印输出null问题的跟踪
    一个需求的反思
    编写可测试的代码
    编写高质量代码_改善C++程序的150个建议 读书笔记
    GetDlgItem的用法小结
    引用作为函数返回值的一点思考
    LoadRunner 使用介绍
    撰写技术文章的注意事项
    NetLimiter网速测试小坑
    需求管理和开发的一点小思考
  • 原文地址:https://www.cnblogs.com/luxiaoguogege/p/9690213.html
Copyright © 2011-2022 走看看