历史上的今天
返回首页

历史上的今天

今天是:2025年01月17日(星期五)

正在发生

2019年01月17日 | 2416开发记录四: ioctl与unlocked_ioctl区别

2019-01-17 来源:eefocus

ioctl函数的实现


首先说明在2.6.36以后ioctl函数已经不再存在了,而是用unlocked_ioctl和compat_ioctl两个函数实现以前版本的ioctl函数。同时在参数方面也发生了一定程度的改变,去除了原来ioctl中的struct inode参数,同时改变了返回值。


但是驱动设计过程中存在的问题变化并不是很大,**同样在应用程序设计中我们还是采用ioctl实现访问,而并不是unlocked_ioctl函数,因此我们还可以称之为ioctl函数的实现。


原来的驱动程序


static const struct file_operations globalmem_fops=

{

.owner=THIS_MODULE,

.llseek=globalmem_llseek,

.open=globalmem_open,

.read=globalmem_read,

.write=globalmem_write,

.ioctl=globalmem_ioctl,

.release=globalmem_release,

};


int globalmem_ioctl(struct inode* inode,struct file* filp, unsigned int cmd,unsigned long arg)


{


switch (cmd)


  {


   case:XXX:   ...


    ……


  }


}


改变后的


static const struct file_operations globalmem_fops=

{

.owner=THIS_MODULE,

.llseek=globalmem_llseek,

.open=globalmem_open,

.read=globalmem_read,

.write=globalmem_write,

.unlocked_ioctl=globalmem_ioctl,

.release=globalmem_release,

};


int globalmem_ioctl(struct file* filp, unsigned int cmd,unsigned long arg)//没有inode参数!


{


switch (cmd)


  {


   case:XXX:   ...


    ……


  }


}


推荐阅读

史海拾趣

American Electric公司的发展小趣事

随着全球化进程的加速,American Electric公司开始实施国际化战略。公司积极拓展海外市场,与多个国家的电力企业建立合作关系,共同开展电力项目。同时,公司还在海外设立了多个分支机构,以便更好地服务当地客户。这些举措不仅提高了公司的国际影响力,还为公司的长期发展奠定了坚实的基础。

CyOptics Inc公司的发展小趣事

随着Avago的进一步发展和演变,CyOptics作为其子品牌也迎来了新的发展机遇。如今,Avago已经演变为Broadcom公司,而CyOptics则继续以其在光学领域的专业技术和丰富经验为Broadcom的产品线增添光彩。展望未来,CyOptics将继续秉承其技术领先和创新驱动的理念,为全球客户提供更加优质的光学产品和服务。

Ecera Comtek Corp公司的发展小趣事

Ecera Comtek Corp公司成立于XX世纪初,由几位热衷于电子通信技术的工程师共同创立。初创时期,公司面临着资金短缺、技术挑战和市场竞争等多重压力。然而,创始人们凭借对技术的热情和执着,不断研发创新产品,逐渐在行业内树立了口碑。他们经常通宵达旦地工作,试验新的设计方案,努力提升产品的性能和稳定性。经过数年的努力,Ecera Comtek Corp公司终于推出了首款具有竞争力的无线通信设备,为公司的发展奠定了坚实的基础。

Coors Components Inc公司的发展小趣事

随着电子行业的不断发展,智能化、绿色化成为了行业的新趋势。Coors Components Inc公司敏锐地捕捉到这一趋势,加大了对智能电子产品和环保材料的研发力度。通过不断推出符合市场需求的新产品,公司成功抓住了行业发展的机遇,实现了快速发展。

Fujisoku Corporation公司的发展小趣事

在电子废弃物处理成为全球关注焦点的背景下,“未来电子”积极倡导绿色生产和循环经济理念。公司投入大量资源研发环保型电子产品,并建立了完善的电子废弃物回收处理体系。通过技术创新和科学管理,“未来电子”实现了生产过程中的节能减排和废弃物的有效回收利用,赢得了社会各界的广泛赞誉。这一举措不仅提升了公司的社会形象,还为公司的可持续发展奠定了坚实基础。

Devar Inc公司的发展小趣事

随着电商的兴起,Devar Inc公司看到了智能包装的巨大潜力。公司研发了一系列智能包装解决方案,利用传感器、RFID技术和物联网技术,实现了产品的追踪、溯源和防伪功能。同时,Devar还积极探索将AR技术应用于包装设计中,为消费者提供与产品包装互动的体验。这些创新不仅提升了产品的附加值,也增强了消费者对品牌的认同感。

问答坊 | AI 解惑

求高手帮忙画个!EDA电气图!

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 求高手帮忙画个!EDA或其他的!电气图! 截图发我! 原理图 看附件!谢谢 ! xiongyaqi@126.com  …

查看全部问答>

刚完成的机器人小车基板!发上来让大家拍砖!

板子是在TAOBAO上买的!当然自己买玩具来改的话也不错! 可以买线控的挖土机来改! 这是装好之后反面的样子!(上图是反面) 这是正面! 不过这个样子是没办法焊元件的,因为轮子什么的.都怕热,所以全拆了! 这是装好元件的样子,网上买的小车, ...…

查看全部问答>

科学家研发手机电池10秒钟可充好电

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 美国科学家正在研发一种超级电池,只需花10秒钟就可为手机充电,预计可立刻为电动车加速,或在数分钟内为手提电脑充电,并有助发展新一代超轻便手机。   目前的磷酸铁锂电池(LiFePO4)可储存 ...…

查看全部问答>

wince 5.0 NK.BIN下载问题

我要将NK.bin下载至硬件,使用以太网口,目前遇到问题是: 通过超级终端控制设备发送bootme信息,使用sniffer抓包可以见到发来的bootme包。 但是在pb上就是建立不上连接,而且我以前还正常地下载过,这次不知道怎么不行了 是否和build options ...…

查看全部问答>

bmp位图文件格式

要是把点阵形成一个bmp位图的形式(纯黑白的不要别的颜色)文件格式,需要怎么实现呢?我的邮箱liuqiang007008@126.com…

查看全部问答>

关于怎么算出二进制

就是把十进制7/16怎么化成二进制,还有-5/16怎么化成二进制,不知道是怎么算的,知道的朋友请指点一下好吗?…

查看全部问答>

写给正在找工作的朋友

最近一直忙着答辩,好久没来了。今天登陆论坛,看到有朋友发帖子,问找工作最看重什么,还列了5个选项:公司薪资福利待遇、公司企业文化、公司发展前景、公司工作环境、个人发展前景?就俺的个人经验看来:找工作,别的什么都不重要,薪酬待遇永远 ...…

查看全部问答>

FPGA 三态IO 问题

如题,设计一个双向IO,在顶层模块   always @(posedge clk_sys)          ad_dout …

查看全部问答>

急招LTE modem /RF/GNSS方向技术牛人、SW Manager、Linux AE、Test等职位,地点上海

急招:1、技术大牛: LTE modem 、RF、GNSS方向均可 2、Multimedia and Graphic Manager. 3、Linux AE,音视频方向 4、Test Engineer,Multimedia、Connectivity、Android方向均可 。地点均在上海 ,微信 170810425,QQ:2872128376,Email:287212 ...…

查看全部问答>