Linux驱动之Platform Driver_platform driver .driver-程序员宅基地

技术标签: struct  timer  c  Linux  平台  io  linux  

# Platform Driver 平台驱动
    Linux中的所有设备驱动都需要注册到系统平台下,这此操作由platform_device.h中定义的一组函数完成.我们先来看看struct platform_driver这个结构体:
   
struct platform_driver {
       int (*probe)(struct platform_device *);
       int (*remove)(struct platform_device *);
       void (*shutdown)(struct platform_device *);
       int (*suspend)(struct platform_device *, pm_message_t state);
       int (*resume)(struct platform_device *);  
       struct device_driver driver;  
       const struct platform_device_id *id_table;
};

    该结构中包含了一组操作函数和一个struct device_driver的对像. 在我们自己的驱动中首先要做的就是定义platform_driver中的函数,并创建这个结构的一个对象实例, 然后在init()函数中调用platform_driver_register()向系统注册我们的驱动.
    如kernel-3.0的leds-s3c24xx.c 中的platform_driver的定义为:
static struct platform_driver s3c24xx_led_driver = {
    .probe        = s3c24xx_led_probe,
    .remove        = s3c24xx_led_remove,
    .driver        = {
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aero_boy/article/details/6778598

智能推荐

C语言经典算法-6-程序员宅基地

文章浏览阅读945次,点赞22次,收藏23次。c语言经典算法,数字拆解,选择、插入、气泡排序,shell排序,shaker排序

yum的repo文件详解、以及epel简介、yum源的更换_epel.repo-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏18次。一、什么是repo文件repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来_epel.repo

mac mysql的使用教程_Navicat for mac使用教程-程序员宅基地

文章浏览阅读710次。1.安装后第一次打开会弹出此框要求你连接mysql。连接名随便填,password 默认为 root.屏幕快照 2014-12-16 上午12.03.48.png2.完成之后,进入主界面你会看到你刚看创建的Connection.(这里我创建的连接名字为DB)屏幕快照 2014-12-16 上午12.06.58.png3.打开DB,你会发现里面有几个已经创建的数据库,这是系统自动帮你创建的,不用管他..._navicat for mysql用法 mac版

uniapp小程序实现内容自适应并向上滚动弹幕_uniapp 弹幕 滚动-程序员宅基地

文章浏览阅读691次,点赞9次,收藏7次。uniapp小程序实现内容自适应并向上滚动弹幕_uniapp 弹幕 滚动

java发送http请求获取响应结果【工具包系列】_httpprotocolhandler-程序员宅基地

文章浏览阅读5.7k次。import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.NameValuePair;import org.apache.log4j.Logger;import java.io.BufferedReader;import java.io.IOException;impo_httpprotocolhandler

酷开会员 | 有了酷开系统和好朋友一起K歌,客厅秒变KTV-程序员宅基地

文章浏览阅读184次。每个人都轮流上台演唱,有的人歌声婉转动听,有的人歌声豪放有力,有的人歌声深情款款。酷开系统是一款高度智能化的电视操作系统,它有着丰富的功能和应用,其中的大屏K歌,更是成为了很多消费者的心头好。酷开系统的K歌版块中拥有大量的歌曲,包括流行金曲、经典老歌、网络热歌等等,不管你喜欢什么曲目、什么风格,你的音乐需求在这里都能得到满足。虽然家中没有激情的舞台和华丽的灯光,但我们有真挚的情感和热情的朋友。酷开系统的大屏K歌还有许多有趣的功能,比如评分系统,可以对我们的演唱进行打分,让我们知道自己的唱歌水平如何。

随便推点

sentaurus光电器件仿真笔记(sde部分)(一)_sentaurus网格如何划分-程序员宅基地

文章浏览阅读5.8k次,点赞4次,收藏42次。项目场景:最近由于项目组做光电器件有流片机会,所以在找了个简单的器件进行仿真实现。mesh网格策略:一般的三维器件仿真模拟的网格策略为:(sdedr:define-refinement-window “W.Global” “Cuboid”(position -200 -200 0)(position 200 200 0) ..._sentaurus网格如何划分

微信公众号支付 错误chooseWXPay:fail, the permission value is offline verifying-程序员宅基地

文章浏览阅读4.8w次,点赞3次,收藏3次。一是在模拟器中实行发起支付,要在真机是发起二是微信公众号支付授权目录要填写实际发起支付的url地址,比如你的页面是http://www.newfms.com/order/pay/id-115,那么此处应该填http://www.newfms.com/order/pay/ 如果在uni-APP 生成的h5网址结构中比如:https://www.xxxx.cn/h5/#/pages/s..._choosewxpay:fail, the permission value is offline verifying

canvas+audio+range 模拟音乐播放器_zmw77.aqq-程序员宅基地

文章浏览阅读10w+次。这次利用h5的一些功能,来简单实现一个音乐播放器的播放界面,主要体现在canvas绘制,audio播放音频,range控制进度及音量。h5有很大的浏览器兼容性问题,这里不做考虑。demo中有一个canvas动画的实现,考虑到动画的流畅性及性能,这里使用requestAnimationFramerequestAnimationFrame 采用系统时间间隔,保持最佳绘制效率,不会因为间隔时..._zmw77.aqq

【论文阅读】ControlNet_controlnet 论文-程序员宅基地

文章浏览阅读2.2k次。ControlNet论文阅读_controlnet 论文

使用SQL语句操作数据库(黑窗口)_musql黑窗口能写sql吗-程序员宅基地

文章浏览阅读980次。在黑窗口简单操作数据库_musql黑窗口能写sql吗

element Upload上传文件夹_el-upload的:directory="true"怎么不生效-程序员宅基地

文章浏览阅读3.3k次。webkitdirectory实现文件夹上传,仅支持webkit内核浏览器this.$nextTick(() => { document.getElementsByClassName( "el-upload__input" )[0].webkitdirectory = true;});_el-upload的:directory="true"怎么不生效

推荐文章

热门文章

相关标签