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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。
" G! L7 g! l: A" d( E0 j#include <linux/init.h>
# l2 D4 ]/ g8 W; R#include <linux/module.h>9 X) H' p6 s: a
#include <linux/kernel.h># }  {3 g- n0 X$ W$ W: x
#include <linux/types.h>
* f/ ]( q% j) _4 \( z#include <linux/gpio.h>. N* x, m2 v( d& q" U
#include <linux/leds.h>
( w! N1 K8 R; s#include <linux/platform_device.h>
+ t" G/ L3 E, Y- M: S$ ~" n+ f. B! c1 r/ \/ j" M
#include <asm/mach-types.h>
2 X" `. P9 s2 x4 d: \1 A; l#include <asm/mach/arch.h>2 p5 F0 a' ~$ G( K! V. P
#include <mach/da8xx.h>( y1 H9 K0 y4 D/ O. j
#include <mach/mux.h>/ z, f" ^7 ^$ {' f

9 l- N4 Z8 f( v2 o9 v+ p5 p#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)7 T( ^8 z$ k1 c
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
; i9 d2 b; y$ u* z9 S/ w3 ?#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
$ Z) k, J9 X& n1 V8 f#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)+ b6 V# I4 z& `0 @" C  u2 u
" P/ _5 A( C/ E0 p
/* assign the tl som board LED-GPIOs*/
9 E5 q! t  N& Q' P6 istatic const short da850_evm_tl_user_led_pins[] = {
7 g% t6 m) g/ d        /* These pins are definition at <mach/mux.h> file */
8 I! f9 @' H/ K) k: Y6 ~        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,' M0 d7 N9 L* B* Y- m
        -1
7 F  M8 I1 ~8 W};
1 j: B1 ?5 N" v
4 P- y% H5 g& j' c% C* o. C: v' Hstatic struct gpio_led da850_evm_tl_leds[] = {& T  y, N, P% Y' q% p2 i, C! f, R: \8 x
        {
# P8 {  `4 p, {                .active_low = 0,
' B+ v: v+ \: S/ T8 o0 q* ]; q                .gpio = DA850_USER_LED0,2 O: h5 f* A) Y9 R
                .name = "user_led0",- r& @$ H6 ]( J3 U: w
                .default_trigger = "default-on",. O$ R7 {! r- s' q% K3 G& y
        },8 @7 S. b5 F. Q5 c8 |
        {0 u/ C+ Z. P( Q, f/ P) _4 R) f
                .active_low = 0,
, R  d" B5 M& s                .gpio = DA850_USER_LED1,+ t3 d' J$ E5 H, C7 O4 W& [+ F
                .name = "user_led1",1 F' z. m% l4 h+ m6 q, V9 N
                .default_trigger = "default-on",
' w5 a* s: C  _+ @/ |8 |        },
3 n% V9 q5 N& U3 ^8 p, x) _; l        {3 m& C, u( X; s4 T* t. f
                .active_low = 0,
0 I7 t6 d5 o  V0 h  ?8 F4 N8 u7 g                .gpio = DA850_USER_LED2,
  Y' Y# A1 a  y4 O8 `4 J' F                .name = "user_led2",
5 z7 ]' d1 Q: Z3 B" S                .default_trigger = "default-on",
7 N$ |! h( @/ ~. t1 G        },' V& @2 W0 A: B) I+ f* S4 J: R
        {7 Q7 F* u6 q" h* a$ T7 O
                .active_low = 0,
1 u8 I% Q( B* R$ q( [                .gpio = DA850_USER_LED3,
: A$ f7 l9 _# i8 F6 c% F                .name = "user_led3",8 q  j0 e1 G& z, ]& ^) A
                .default_trigger = "default-on",, n( r. F' X* \+ ?  p: d! r
        },0 `! v: M& U- s% t2 e" D  P
};; @( `6 P% a  J3 q- G' f. u4 S

' j( @& h" l# s$ ~" S" O. pstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
7 F  J$ a9 i) d5 o/ d) {1 ?        .leds = da850_evm_tl_leds,
2 q  A8 |  G4 P8 {, {- a        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),7 L. ^% E% p0 M& k
};/ n; z! N; Q4 {, G0 \9 Z; h5 `: G. Y
0 x$ U7 v+ x: H6 b$ P' ]" `
static void led_dev_release(struct device *dev)
8 ^" O! k  k" S! i{
2 U+ C. q/ I' i};
+ Z% Y3 _5 D0 W: v; G3 P, w- @& F3 H! c; ?, P* h$ i. ]  r
static struct platform_device da850_evm_tl_leds_device = {) V- @/ o" n. X3 f5 W) J
        .name                = "leds-gpio",
, y" Q2 C3 x0 N* I$ m        .id                = 1,! J+ V9 Q9 S1 g% ?) F2 E$ [) X
        .dev = {. W0 q) j7 x) R
                .platform_data = &da850_evm_tl_leds_pdata,
6 F: q4 e) b2 x2 o                .release = led_dev_release,
1 y. O/ _" }" D  ~% d, I9 s        }4 d  s" Q+ ^" S% |
};2 S  Q: b6 Q: J' v7 y8 \6 d
- w1 E" U( u: O, x( E( x
static int __init led_platform_init(void)7 I- p& E$ x8 C$ H. q4 @+ X3 d
{
; Q. Z4 S7 j3 d% V) h$ b" K        int ret;8 b2 K$ X' A5 W! y
#if 0
# v9 y$ ~& c+ b  k        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);+ \7 t$ h7 I5 O% \& B6 A! x
        if (ret)
9 O" O' e" l0 `) m                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
9 v1 B, b7 ^; r8 d( N' m- D0 j                                "%d\n", ret);' h- q2 K9 S) P' h9 \
#endif
  V' C' A1 r8 U% X  b6 H        ret = platform_device_register(&da850_evm_tl_leds_device);# k1 l. {2 p. u* Y. A
        if (ret)
1 C% p: v" ]9 m0 B$ v2 A                pr_warning("Could not register som GPIO expander LEDS");5 @5 c* T* _( t3 W
        else
5 L5 a& l3 ^% V3 P7 E$ D, p1 z                printk(KERN_INFO "LED register sucessful!\n");: c! U: X3 t# L0 X
' F" p/ R4 y' m
        return ret;
- i7 ^) }( U: `  Z}
% ^. Z8 |; m9 j" T+ v& _+ p8 H
" q7 }2 y, ]- e) sstatic void __exit led_platform_exit(void)
/ X7 L. J. ?9 _6 n# i* N{7 E/ {( Q, N2 ^
        platform_device_unregister(&da850_evm_tl_leds_device);
4 |* s2 ^' |  k' Q
+ b; k3 P' o# z9 }% u) ~        printk(KERN_INFO "LED unregister!\n");2 f/ K2 `! u* [3 G# S6 o
}8 y) e$ j( G" f5 u7 ?; K
( Z0 W' O; L$ R8 S2 g$ _5 I
module_init(led_platform_init);
4 q! \0 P$ D' X4 g! N1 amodule_exit(led_platform_exit);
. c# o8 ^+ e9 v/ h
  R" E* E# h- j0 xMODULE_DESCRIPTION("Led platform driver");
0 M% \5 m+ ]5 c" qMODULE_AUTHOR("Tronlong");5 s8 E3 ?) D! w" x' r5 O
MODULE_LICENSE("GPL");. j+ V- ^$ }# m, B2 w5 R5 G
. G- u" P- h7 u6 R7 u, {. I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-20 15:46 , Processed in 0.038527 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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