易截截图软件、单文件、免安装、纯绿色、仅160KB

linux下一个驱动怎么调用另一个驱动


一个ADC
电池检测要用
按键要用
现将ADC做成一个字符驱动
另外电池检测做成字符驱动,
按键做成input驱动

adc 驱动接受一个通道号参数

电池检测,按键的驱动怎么调用这个ADC驱动啊,麻烦大了

各位牛人有什么好的方法,或者另外的方法
先谢谢了
都是驱动,都在内核态, 可以当做函数直接调用就是了。

static ssize_t adc_read(struct file *file, char  *buf, size_t count, loff_t *ppos)
{
int data=0;
unsigned int tmp;

//start ADC
tmp = readl(adc_base + ADCCON) | 0x01; //start AD convert
writel( tmp, adc_base + ADCCON);

do{
tmp = readl(adc_base + ADCCON);
}while(tmp & ENABLE_START_EN); //check if Enable_start is low

do{
tmp = readl(adc_base + ADCCON);
}while(!(tmp&ECFLG_END));

data = D_PDATA_MASK12(readl(adc_base + ADCDAT0));
DPRINTK("ADC Value=0x%x\n",data);

if(copy_to_user(buf, &data, sizeof(data)))
  return -EFAULT;

return (sizeof(int));
}
做为字符驱动,adc定义的read如上,这个函数如何在别的驱动使用
还是另外定义接口,不做面向文件系统的接口?

你另外写一个函数阿, 实现类似的功能就行了。

帮顶~

如果去掉了面向文件系统的函数,连fops也不定义,这还是一个驱动吗,
看了下2410的gpio.c,不是驱动的形式,只是定义了操作�


相关问答:

linux 安装xinetd的问题

因为安装cvs要用到xinetd服务,发现机器上没有。。就从网上下载了个装上,
SQL code:
[root@localhost ~]# rpm -qa xinetd
[root@localhost ~]# rpm -qa telnet
telnet-0.17-38.el5
[root@localhost ~]#
� ......

linux + oracle用XP访问不了

我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......

java如何控制远程Linux重启

我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢? ......

关于Linux gcc编译器的问题

原先的GCC版本为4.1.2,我重新编译安装了GCC4.3.2,但是编译完程序运行程序时会出现version `GLIBCXX_3.4.9' not found 这个问题.在网上面查了一下是软连接的问题。但是本人对Linux不太熟悉,“应该制作RPM包然后 ......

Linux下安装问题

原先的GCC版本为4.1.2,我重新编译安装了GCC4.3.2,但是编译完程序运行程序时会出现version `GLIBCXX_3.4.9' not found 这个问题,我不太明白怎么回事,请各位大虾指点一下。
手动再装一次glibc*_3.4.9

这是� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号