switch class和extcon

在3.0的内核中switch class位于drivers/switch目录下
在3.4的内核中switch class位于drivers/staging/android/switch目录下
到了3.5内核就把switch class移除掉了,换成了extcon,原因如下:
switch class和extcon_第1张图片


switch class

添加switch driver,可以参考switch_gpio.c文件
a. 通过switch_dev_register注册struct switch_dev
b. 当有变化需要通知用户空间时,通过switch_set_state设置state节点的值
在switch_set_state这个函数中调用了kobject_uevent_env/kobject_uevent通过uevent来通知user space,user space读取state获取当前状态。


extcon


参考文章

  1. Android 4.x耳机插拔检测实现方法
  2. Introduce External Connector Class (extcon)

你可能感兴趣的:(switch class和extcon)