|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
该系列文章将分为四个部分:+ F) Y1 G8 B9 d3 x
) J5 L/ l+ w2 ^) a5 o
第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的Linux驱动 -- SPI子系统解读(一)9 I+ z, D4 u& ], y" M
$ o2 P1 q! H Q( z+ L5 e% o
第二部分,该文将对SPI的主控制器(master)驱动进行描述。基于S3C2440的Linux驱动 -- SPI子系统解读(二)(上)和基于S3C2440的Linux驱动 -- SPI子系统解读(二)(下)
6 n3 I" o! q: C2 F4 J/ X( Z7 i" S/ s+ j, u
第三部分,即本篇文章,该文将对SPI设备驱动,也称protocol 驱动,进行讲解。
4 c7 L: Y6 \* S) d& e! s2 }6 N
& X6 u! P! a: U! n5 L- W) `! d- U 第四部分,通过SPI设备驱动留给用户层的API,我们将从上到下描述数据是如何通过SPI的protocol 驱动,由bitbang中转,最后由master驱动将数据传输出去。 基于S3C2440的Linux驱动——SPI子系统解读(四)" \! p7 M' y$ a( m4 \" |9 y
8 F" R! B$ c& m
本文属于第三部分。& b$ l `/ @- B( u5 r0 J
* Z5 T; r/ w+ w6 o% k& J) h5. SPI设备驱动! b; \. E9 m5 c0 t7 ]5 H
+ x) h! [" W8 n: m# U4 ^9 V 在主控制器驱动中,spi_device已经注册了,在设备驱动中,首先要做的就是注册spi_driver,并提供用户层相应的API。
; N/ Y/ c+ K! _! o3 j4 i g5 A. e) k$ I
5.1 SPI设备驱动的注册
0 u- Y, z$ Q1 X0 d" Q1 U
* G; j1 J* T( v2 w3 b$ [3 A下列数据结构及函数位于drivers/spi/spidev.c。( ~% h' \3 I, d( P6 d
# M- k# ^/ a! ^ M
" O! Q; b5 ^4 c! A6 O6 C( a. C+ t0 s5 H# t
|
|