linux 驱动的有关问题
发布时间:2010-06-14 17:32:42 文章来源:www.iduyao.cn 采编人员:星星草
linux 驱动的问题
以下这些有什么作用?, 谁先加载?
static void ctp_wakeup(void)
{
}
static void ctp_reset(void)
{
}
.....
static struct ctp_platform_ops ctp_ops = {
.get_pendown_state = ctp_get_pendown_state,
.clear_penirq = ctp_clear_penirq,
.set_irq_mode = ctp_set_irq_mode,
.set_gpio_mode = ctp_set_gpio_mode,
.judge_int_occur = ctp_judge_int_occur,
.init_platform_resource = ctp_init_platform_resource,
.free_platform_resource = ctp_free_platform_resource,
.fetch_sysconfig_para = ctp_fetch_sysconfig_para,
.ts_reset = ctp_reset,
.ts_wakeup = ctp_wakeup,
.ts_detect = ctp_detect,
};
------解决方案--------------------
应该是定义了一种制版机的设备驱动函数,含义是猜的。
static void ctp_wakeup(void) // 唤醒函数的定义
static void ctp_reset(void) // 复位函数的定义
static struct ctp_platform_ops ctp_ops = { //定义制版机操作函数
.get_pendown_state = ctp_get_pendown_state, // 获得状态
.clear_penirq = ctp_clear_penirq, // 清除中断标志
.set_irq_mode = ctp_set_irq_mode, // 设定中断模式
.set_gpio_mode = ctp_set_gpio_mode, // 设定I/O口工作模式
.judge_int_occur = ctp_judge_int_occur, // 判断中断
.init_platform_resource = ctp_init_platform_resource, // 初始化设备资源
.free_platform_resource = ctp_free_platform_resource, // 释放设备资源
.fetch_sysconfig_para = ctp_fetch_sysconfig_para, // 获得结构参数
.ts_reset = ctp_reset, // 复位函数
.ts_wakeup = ctp_wakeup, // 唤醒函数
.ts_detect = ctp_detect, // 探测设备(是否存在)
};
------解决方案--------------------
作用LS的哥们儿说了,至于什么时候加载的,这些都只是将本模块的函数指针注册上去,作为回调函数给其他模块调用。可以用ctp_ops这个关键字查一下有哪个函数用它作为参数。
------解决方案--------------------
只是一些回调函数的入口地址。。没什么东东
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
在驱动开发中出现 'struct' type redefinition 应该怎么办?? 大神们告诉小弟一下...
下面是我写的代码:
#pragma once
//**********...
-
大神们帮我看一下,我的代码错在什么地方? 加载成功,卸载就蓝屏了....
/*
*******************************************************...
-
sigma8653很罕见的问题
SOS!
sigma8653板子插上卡,上电后可以识别SD卡,然后软重启(reboot)就无法识别了!
奇怪的时,继续软重启一次又可...
-
Cancel自旋锁 起了什么作用?
发现IoCancelIrp 函数中
获取了Cancel自旋锁
设置了Irp->Cancel
调用了OnCancelIo函数
但是进入了On...
-
windows下 pnp设备的即插即用功能是怎么实现的?
看到 windows内核情景分析里说
加载驱动有三种方式 前两种是静态 分别是引导...
-
取消当前 IRP 执行的过程是怎样的?
#pragma code_seg("PAGE")
NTSTATUS MyWdmRead(PDEVICE_OBJECT DeviceObject,PIRP Irp)
{
...
-
vs2008中,link2001错误的问题,代码如下
vs2008中,link2001错误的问题,代码如下
#include <ntddk.h>
VOID OnUnload(IN PDRIVER_OBJ...
-
什么是内核缓冲区,用户缓冲区
比如网卡的内核缓冲区,那这个缓冲区是在pc内存还是在网卡的芯片上呢?
------解决方案---------------...
-
如果在一个函数中有提升IRQL的语句 是不是整个函数都不能放在分页内存中 ?
如果我在一个函数前使用了 #pragma code_seg("PAGE") ...
-
请教Linux下dm9000网卡驱动程序问题
应用程序网络编程是基于socket接口的,好像完全屏蔽了底层,不能像字符设备那样应用程序可以调用...