程序注解 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9904|回复: 0
打印 上一主题 下一主题

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。
+ b; o1 n- G7 r# n3 w: @1 y#include <linux/init.h>
+ [! `, D3 D# z9 _% I9 _#include <linux/module.h>& l5 }* x& D1 J0 o' K9 H
#include <linux/kernel.h>0 _+ ~4 u( [; U7 \# x1 w
#include <linux/types.h>
: G; \5 W5 `. Y$ o: M) F#include <linux/gpio.h>
2 h( o6 q  b* ~( U# x7 f# F#include <linux/leds.h>
. {  M& `; ?9 k( _8 R2 V* i& L( ^6 S#include <linux/platform_device.h>
* D- P" A1 ^2 P: \: n8 V+ w
( m4 x$ q! U( a1 q4 O#include <asm/mach-types.h>0 r! }+ i- z- b
#include <asm/mach/arch.h>
6 a+ m3 D0 O* a. O#include <mach/da8xx.h>) ]" F! K' D+ I) L3 v
#include <mach/mux.h>
% T/ H* f, N& k) M3 n
. i) @% {( ]9 I) a( b+ B#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)/ f  \" R. ^0 a8 p
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)/ e& ~0 ?6 `& n( |
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
9 k' H$ \# F$ `8 ]#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)' b8 u/ a2 ?" }' y
/ D' F+ K, Z$ ~. A, j1 G( p
/* assign the tl som board LED-GPIOs*/
2 M/ x9 F, ~! r& }3 J# w0 estatic const short da850_evm_tl_user_led_pins[] = {) Y: N, J# T+ ^
        /* These pins are definition at <mach/mux.h> file */
' O2 c- Q$ `0 |7 E  ~        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,
* S6 a2 z2 j. F% e- [) x        -1* @8 _3 p" L! i6 n4 a/ @
};9 X2 m. K5 c$ m7 I: T1 k
- {% T- W5 L/ f! Z# h/ q
static struct gpio_led da850_evm_tl_leds[] = {
: s: C% Z1 F' r# [* F8 Z; w4 f        {
; M3 ~6 P, F/ ?+ X6 O- h                .active_low = 0,2 j3 ]2 p6 K" [: x
                .gpio = DA850_USER_LED0,2 W2 C  k/ g* a" |; I+ y: Y
                .name = "user_led0",
. G; I4 O" o/ N                .default_trigger = "default-on",
- ~1 N+ H* r: L6 ?( P        },
& g' M) A9 e' R( X        {
1 ]$ t+ N# P3 u9 n; ^                .active_low = 0,
  O1 y9 H- S6 O! F- Y  Y3 _                .gpio = DA850_USER_LED1,
8 d' M1 i5 K  v% a  F                .name = "user_led1",
. r' a+ m% r9 ?7 W4 t                .default_trigger = "default-on",9 q2 @& S. m! S0 ^
        },
( _( v9 [* V1 {& d2 O2 P        {
" ^/ L9 B- _% j; W                .active_low = 0,
0 V4 q3 R8 ]1 Y5 u                .gpio = DA850_USER_LED2,
* c5 w( @( @( x* l                .name = "user_led2",/ Y# @! k2 I8 s/ h: M% X$ {% x& F7 t
                .default_trigger = "default-on",
1 n& l) K7 b8 _$ |& O        },
- ?; f+ Q  _: i1 }2 x8 Z! O; @        {8 C  X9 M. e5 o3 P7 `+ D2 s
                .active_low = 0,
7 ^/ }; m& Q  G9 H5 K! u0 C                .gpio = DA850_USER_LED3,
* _! L" o. M# m0 S. l; P                .name = "user_led3",$ J$ v; U1 ^( X  p0 e
                .default_trigger = "default-on",
5 V3 |) K! _2 m# J3 b        },
+ O+ O' W$ G5 K% b) h+ Q8 m};; u! x7 N) L! B$ Q! t

' V0 k9 W$ A* T* k, Ustatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {4 T# b( L* s: r, I9 q# J* ^
        .leds = da850_evm_tl_leds,
6 q! d$ R" f( e) a% t' ?        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),' a( l8 [# T4 X' e( a7 t6 }3 D
};
% N4 g8 `4 v* K( I1 d
0 V0 e9 X; A4 jstatic void led_dev_release(struct device *dev)' X( N( P( d7 J3 s( X# H( X* w, g2 P
{
3 F: S+ ~. p- \% l: H1 R};. m6 g& E1 x) b' f
5 H+ b* Q' Y0 D# x$ E  C
static struct platform_device da850_evm_tl_leds_device = {( v( t! N* }) X) y* W' j
        .name                = "leds-gpio",
* \% A! S  e9 D0 n( o        .id                = 1,. ~3 @9 P5 O7 T& z% l6 c
        .dev = {
6 [' f3 G) v+ K, Y8 v                .platform_data = &da850_evm_tl_leds_pdata,# b0 O& {( y( V& ~( Y9 R- h
                .release = led_dev_release,
9 Y: K& H4 U0 C; }9 N3 C        }
; t2 \8 v! T& ~3 k& p};
# e5 _) u& r& h; K
) m7 R4 |- n6 m% r3 Vstatic int __init led_platform_init(void), i+ x& S( a: W# y
{  h+ u1 w6 |: v" D
        int ret;
3 N, f, p8 s/ S  j5 W* ?$ p- E0 k#if 0$ g4 a- }8 A+ q0 t# O' ~
        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);
& `7 m: m: }; P$ X        if (ret)( U8 w3 z+ b9 Q3 a4 l) J
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"8 y* _6 {7 I! R$ v) h
                                "%d\n", ret);
5 D0 \3 d5 v) v3 I5 b& k5 Z0 f' S#endif
/ D/ v. f& ]4 Q7 x1 r        ret = platform_device_register(&da850_evm_tl_leds_device);
6 e: z2 N6 }! _3 Y$ y( k0 X( f1 z! w3 u* v        if (ret)) @# f2 ?& u" f$ ?9 M
                pr_warning("Could not register som GPIO expander LEDS");* `  L, A2 e  l! j* m; b5 @; P/ L4 X
        else7 Y# N6 y* }2 e, E
                printk(KERN_INFO "LED register sucessful!\n");% R9 ?' f8 Q5 f6 A

! J6 b  }; e( u2 O) @" K        return ret;
. D2 C% U5 E/ x3 ~# b}2 W( W# @1 ~( ?8 F0 o* X
- E6 q+ \( q2 E: ^& O( ~
static void __exit led_platform_exit(void)5 J0 o6 d- f; y1 r; ~* S
{
: W( q# _$ @8 c" d  B        platform_device_unregister(&da850_evm_tl_leds_device);
* Z0 W* W! T0 ?+ y1 z6 z
6 N* Z% L4 \1 U% Z* a        printk(KERN_INFO "LED unregister!\n");7 |3 F4 D7 l5 r) t4 x
}
' K) e; W/ v& T! x* r' [& K/ c' W3 P1 P6 [) Z. w* d8 m6 @+ U
module_init(led_platform_init);% I2 o$ U& s: @7 q4 e4 W0 B
module_exit(led_platform_exit);
: @$ U0 d/ z& k% w1 W! Q* Z
: ?: m2 `4 e( A2 yMODULE_DESCRIPTION("Led platform driver");
- G- p/ P$ g& m- X4 N$ _9 jMODULE_AUTHOR("Tronlong");
; G5 C, h6 x9 oMODULE_LICENSE("GPL");7 E$ _0 q! [$ T0 ]

' q. v# s. V* d0 L& s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

点击跳转“创龙科技服务通”

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2026-2-28 18:33 , Processed in 0.040426 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表