程序注解 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。
! `+ q; c% U& f& c9 Y#include <linux/init.h>
4 N* `1 t/ ^% Z) d2 O#include <linux/module.h>
2 R  b6 S  c. E#include <linux/kernel.h>
* A4 y! a$ v% Q" `: L#include <linux/types.h>
7 a! O- @; D1 E6 Y#include <linux/gpio.h>
0 Q4 k* @% [+ T" j. Z. ?% ?#include <linux/leds.h>1 P. l' U% `7 g$ E  k  I' R9 J
#include <linux/platform_device.h># c1 R% I: i' s! _0 z$ E9 Y$ h

# m) Z' x( G. r2 W#include <asm/mach-types.h>) }. T5 i( u7 ]2 P
#include <asm/mach/arch.h>/ i0 D- a2 D& z/ t  `5 J/ K4 k
#include <mach/da8xx.h>4 }4 S7 y0 }* P. P2 ~, A5 `2 m
#include <mach/mux.h>! [, }. B, m, m, Z7 q
( K5 a- Y! K" ^3 U4 j' v6 a6 t
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)/ a7 A' m6 s( M
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)& X( y) X- h; j" k
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)2 X/ M; m2 A# @) ]7 k, y" O+ K
#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)  B/ b7 J/ r( J

1 v4 N% M# y! N/* assign the tl som board LED-GPIOs*/
3 s& r& {1 l/ f$ Wstatic const short da850_evm_tl_user_led_pins[] = {
8 `# |1 m  x2 V, B$ |. {        /* These pins are definition at <mach/mux.h> file *// O3 q( f; D4 A' d" T
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,. B  m# T0 O/ R0 q
        -1
$ n: M4 _7 L+ L1 g! j6 B};% Z6 o3 e1 D( z7 f! k" W
/ b7 x- m5 W# c# E) H" g% A
static struct gpio_led da850_evm_tl_leds[] = {
. N% [4 C& s" t/ P) Z7 m/ s        {: y- e6 W$ j6 t/ q* x* b7 O+ Y
                .active_low = 0,' G- J, ]( A$ \4 A/ @: a
                .gpio = DA850_USER_LED0,
7 P' S6 r2 f% P* g4 v. I+ \                .name = "user_led0",
4 L. S5 ?# ]6 B% p                .default_trigger = "default-on",- n5 u' q! b. e# |6 Y
        },7 k8 G6 U  J; }1 q- {
        {! c+ D4 `% V# V# F- x# ]
                .active_low = 0,
9 M7 l2 ]4 j; ?0 e9 K( L' C1 Y                .gpio = DA850_USER_LED1,
  A: P  W9 B( Q                .name = "user_led1",; F3 u1 Q$ g3 F7 [* Z3 a: ?7 A
                .default_trigger = "default-on",2 p+ w7 H8 Z6 I- P- B% z: `9 m
        },5 s. }4 F! w9 w. v5 F
        {
0 O! I5 z; X8 d5 j0 M- X. V                .active_low = 0,+ _" r  s+ h" d3 C
                .gpio = DA850_USER_LED2,9 R, Z0 ~6 F, J+ }3 c0 f) m+ r
                .name = "user_led2",7 P1 k: s5 S% i2 w; I2 n) ?8 s1 G( F
                .default_trigger = "default-on",
  Q6 s# }& p% N  }$ W1 E        },
$ A" C, ]3 Z; _  \$ D3 ]% R6 m: d        {! Q# y& z' Q" [1 t
                .active_low = 0,- v9 K, T- u0 R& F9 T* O( ~, Y' ~( K
                .gpio = DA850_USER_LED3,7 |; G8 x- @. {8 C* v
                .name = "user_led3",2 w( m: y* `! K3 Y& \
                .default_trigger = "default-on"," A6 g! U! U- F/ X) c3 c: e
        },
, ~& t7 ?5 W3 `};4 Y# Y, G" o) z3 i5 l7 Y1 I

1 x, O% ~  H3 ]5 L8 ?2 e1 Pstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
2 F* h, Q! u- j, A. u        .leds = da850_evm_tl_leds,  d* L$ q. B" L8 z# _" X  p1 J
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),4 [/ w/ n! \# P1 a5 N
};- G  ^& W' a" n* z" i7 }1 P

% H+ K% z  ^: [+ rstatic void led_dev_release(struct device *dev)
, s5 H/ Q* }, {4 `{/ M4 O4 C# m) j5 q
};8 b' ]0 t5 S3 m/ k8 L2 {
3 e. \: u5 f9 u( D$ p3 @
static struct platform_device da850_evm_tl_leds_device = {. L' E$ H: Z4 v0 @  r
        .name                = "leds-gpio",7 {6 `$ E4 L# r; K, d1 a" i+ v
        .id                = 1,
1 c! Z! Y9 W) `* P" D  W        .dev = {
/ O, u5 P6 k; D: w                .platform_data = &da850_evm_tl_leds_pdata,4 E+ e$ J: O8 _
                .release = led_dev_release,/ l9 [6 w$ @4 B! o
        }! b0 v- z% i9 P6 Q( E: N
};
3 Z6 N, p4 x3 g' T' m+ R* q  [
: N# v3 a" p( L0 }$ ystatic int __init led_platform_init(void): Y- m$ f4 P1 J9 V3 k# I
{9 G* d# f$ Q5 G7 n
        int ret;" R; h) j: |% K; e9 i# }9 t- r( p; [
#if 0
4 c- S* v( ]: ?* |+ ?% U        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);; v0 x; o6 d8 l1 ?
        if (ret)
# s9 A3 ], p5 \/ H7 A9 C" f- D6 `2 M                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"! t- ?: j: q) z/ {
                                "%d\n", ret);
' V( j, Y! P4 h3 k+ o: V#endif
2 Y# j2 Y) X% z        ret = platform_device_register(&da850_evm_tl_leds_device);0 k- ^% P) X0 f  [
        if (ret)- ~$ j, D9 D# n$ h6 _3 S. m2 A
                pr_warning("Could not register som GPIO expander LEDS");5 B  y3 e7 B+ E; G5 P
        else
/ t6 v" R1 Q6 N4 t) ~) a                printk(KERN_INFO "LED register sucessful!\n");
/ }4 o, V, \1 C3 ]# P# B! }( q! \. H. W
        return ret;2 J) T# O$ q8 L0 i$ m
}
7 m9 b- _& ^6 f  N2 J' z0 G
# D% z+ H& M- Y( C9 P" tstatic void __exit led_platform_exit(void)3 u8 B8 s8 Y% L# \' M' ?: t
{% k; V: T3 ~/ v
        platform_device_unregister(&da850_evm_tl_leds_device);
: Y1 a' f" Y4 Q8 }! l' a7 S3 Q, Y6 a- Y1 u
        printk(KERN_INFO "LED unregister!\n");
8 Y6 \8 ~0 y' j' A$ X}
  C/ X; A9 n3 M. P* ~; Y* L, j" x3 s! O! [* `: ?9 [) G6 o
module_init(led_platform_init);
  k, l& W! _5 A. Pmodule_exit(led_platform_exit);: Z$ b! A- t+ ~2 i
2 e* L9 J7 Z) t
MODULE_DESCRIPTION("Led platform driver");
$ e: ~8 G" |2 JMODULE_AUTHOR("Tronlong");
' D  [) i& F& x3 {6 ]; I0 X7 vMODULE_LICENSE("GPL");
) K) S7 T7 S; G: ?! _/ ?0 R
& d, \, V4 I: R2 k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 08:27 , Processed in 0.036356 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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