+ -
当前位置:首页 → 问答吧 → [问题] driver跟driver之间的沟通??

[问题] driver跟driver之间的沟通??

时间:2010-06-04

来源:互联网

现在有两只driver.
(1)
light-sensor 检测现在环境的亮度
(2)
backlight 可以调整萤幕的亮度


Q: 环境变暗的时候light-sensor 收到interrupt 希望将backlight调亮

此时light-sensor中的interrupt handle 要怎么跟 backlight 沟通???

就是driver 跟 driver 之间要怎么直接沟通??


ps.之前想的方法是透过device node 由 user space 下ioctl 去调整backlight..

但这种作法应该是错误的吧...

作者: rz600000   发布时间: 2010-06-04

一种是直接呼叫,就是driver 安装时 light-sensor depends on backlight (这样 modprobe light-sensor 时,自动载入 backlight)
这样你在 light-sensor 里就可以直接呼叫 backlight 的 (exported) function
一种是light-sensor 反应回 user mode, 在那儿写个 daemon 处理并控制(I/O control) backlight 应该也可行吧!

作者: tomjpsun   发布时间: 2010-06-04

应该用export function 感恩欧

那再请问一下 是否有kernel内部的ipc?

谢谢!!!

作者: rz600000   发布时间: 2010-06-04

[url]http://lxr.linux.no/#linux+v2.6.34/ipc/util.c#L100[/url]
由其注解得知有 semaphores, messages and shared memory ,但好像都是给 process 之间的。
D-bus可以提供processes之间,或kernel与processes间的communication.

作者: tomjpsun   发布时间: 2010-06-04