zoukankan      html  css  js  c++  java
  • I2C设备驱动程序从用户空间绑定控制(旧内核)

    注意:只有当你在处理内核2.6中发现的一些旧代码时,这一节才有用。如果您使用的是最新的内核,您可以安全地跳过这一节。

    直到内核2.6.32,许多I2C驱动程序都使用 <linux/i2c.h> 提供的帮助宏,它创建了标准模块参数,让用户控制驱动程序探测I2C总线和连接到设备的方式。这些参数被称为probe(让驱动程序探测一个额外的地址),force(强制将驱动程序连接到给定的设备上)和 ignore(防止驱动程序探测给定地址)。

    在将I2C子系统转换为标准设备驱动程序绑定模型之后,很明显,不再需要这些每个模块的参数,可以进行集中实现。新的基于sysfs的接口在如何实例化I2C设备一文“方法4:从用户空间实例化”中进行了描述。

    下面是旧模块参数到新接口的映射。

    将驱动程序连接到I2C设备

    旧方法(模块参数):

    # modprobe <driver> probe=1,0x2d
    # modprobe <driver> force=1,0x2d
    # modprobe <driver> force_<device>=1,0x2d

    新方法(sysfs接口):

    # echo <device> 0x2d > /sys/bus/i2c/devices/i2c-1/new_device

    阻止驱动程序连接到I2C设备

    旧方法(模块参数):

    # modprobe <driver> ignore=1,0x2f

    新方法(sysfs接口):

    # echo dummy 0x2f > /sys/bus/i2c/devices/i2c-1/new_device
    # modprobe <driver>

    当然,在加载驱动程序之前实例化虚拟设备是很重要的。虚拟设备将由i2c核心自己处理,以防止稍后其他驱动程序绑定到它。如果在有问题的地址上有一个真实的设备,而您想要另一个驱动程序绑定到它,那么只需传递有问题的设备的名称,而不是虚拟的。

    本文来自博客园,作者:王楼小子,转载请注明原文链接:https://www.cnblogs.com/wanglouxiaozi/p/15165578.html

  • 相关阅读:
    xmind 8 readme
    【08】英语词汇速记大全1词根词缀记忆法
    【20180312】2018年03月12日(随想)
    大佬说
    github私有库购买信息
    【01】用构造器创建函数中的小知识
    【01】魔芋使用MDN的一点点经验
    10.12 telnet:远程登录主机
    10.11 arping:发送arp请求
    10.10 traceroute:追踪数据传输路由状况
  • 原文地址:https://www.cnblogs.com/wanglouxiaozi/p/15165578.html
Copyright © 2011-2022 走看看