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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。! N* |, Q$ p5 l8 s5 o
#include <linux/init.h>. S  ~3 d7 L1 t( H' K
#include <linux/module.h>
5 h9 M5 M7 U  N7 f2 T( T0 W#include <linux/kernel.h>' ~$ l/ L# ^4 h: T
#include <linux/types.h>
5 u+ z' k- ?6 A: g#include <linux/gpio.h>
# H6 o' W  t0 K% {#include <linux/leds.h>
. Q: Z9 d: }' U8 m6 ^#include <linux/platform_device.h>4 T% }( a0 S, T- d
& I( u5 r; F# V% ]& \
#include <asm/mach-types.h>* e/ R! H7 c# W) l% Q
#include <asm/mach/arch.h>! \5 G/ V: o" H3 ~5 ]1 r
#include <mach/da8xx.h>1 p: E9 Z  j0 G/ [; i
#include <mach/mux.h>. ~2 W; k! T$ \: m2 ?; |3 |9 b
+ q6 [5 z: G! x; N
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)0 ^! i. ]+ e9 o5 ~
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
( |# L4 _# i" p  @: g+ L- N#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
" W* @' y6 V3 x) t. t  u7 [& P#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)
0 S: x/ p" w8 I
0 g9 V) t# {7 |0 s0 N/* assign the tl som board LED-GPIOs*/
" j. |' X8 @* j& c, }static const short da850_evm_tl_user_led_pins[] = {7 O; a6 ?9 M- I" n9 M: a) Q
        /* These pins are definition at <mach/mux.h> file */4 q; R" I" j" a* i3 r$ c/ W4 B! z
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,
7 ^+ x: a& T% z% S+ P        -1
/ L0 A& R' Q2 w# A( v) R};6 Z, _  F. D' P9 R' t3 a/ z2 N. o( e
. q6 ?8 X8 r. K, r( t
static struct gpio_led da850_evm_tl_leds[] = {! V  Q2 g: \/ u
        {( |  Y7 u/ a& g6 a
                .active_low = 0,
% ~  d! B/ A4 \! _( x2 k$ o                .gpio = DA850_USER_LED0,
" P6 ]+ {; {- c* E& ?                .name = "user_led0",
+ v7 v: n4 \/ {! @+ g                .default_trigger = "default-on",/ m+ U# v/ _5 J- Q
        },$ l. R4 a$ H/ q
        {
) W3 ~/ g6 i3 J                .active_low = 0,: x2 `9 r4 l. b' T2 v
                .gpio = DA850_USER_LED1,
2 i$ M: u# D4 e$ J- t+ j3 _                .name = "user_led1",  B* v# z, R$ g9 G
                .default_trigger = "default-on",- o0 Z& _, N4 X& T4 d, N1 n
        },
+ ?) A6 R- M9 L/ _3 D8 G        {
- @0 k, |' [3 E* x8 u                .active_low = 0,6 K  i0 L& @7 y
                .gpio = DA850_USER_LED2,
1 F5 w% _" }- n; K6 c, C6 n                .name = "user_led2",  I& J: R! Z8 {6 A/ }
                .default_trigger = "default-on",: Q" D! i6 U! U" m+ b
        },
6 @; w* `7 K( M        {
) k) d. e( v4 t: ?, |. s                .active_low = 0,
- [0 u0 t  {$ Z7 W6 {7 h                .gpio = DA850_USER_LED3,; T7 d- {( V' T- h5 C
                .name = "user_led3",
2 C1 X1 |9 C2 B0 @0 G5 |                .default_trigger = "default-on",7 ~, s& g+ I' c* I0 |
        },, |" |' I, z  {
};
$ `" I# G' h0 X) R7 i+ d  K
$ X9 f9 [+ g" q5 |( N. g( ~2 D; Zstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {6 u' F( C2 T( ]7 K. e
        .leds = da850_evm_tl_leds,6 t, t  s2 B" y' @1 R$ s. O
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),
3 x9 t/ t- u2 {};
8 j4 P7 ?9 a) g6 P5 B0 J9 s
; \7 g& }0 Q2 X% Cstatic void led_dev_release(struct device *dev)7 z2 U, n! A7 ?4 V5 h) t% u
{* h9 n4 I3 C4 W
};
" ~. D0 R# p, n; J) t
' c6 H5 a! B: @) S( l$ A$ b/ r5 Ystatic struct platform_device da850_evm_tl_leds_device = {! }) H  R1 `* j( ~
        .name                = "leds-gpio",
" F$ v; u, B9 e4 ?# w4 e        .id                = 1,* K- z/ k! a- @0 J, k$ ^+ _
        .dev = {
" e3 j* ^  U& D3 A1 N                .platform_data = &da850_evm_tl_leds_pdata,
- y" O/ E. X1 c2 u0 p& ^                .release = led_dev_release,
* B2 n' _5 V+ w: v: c        }
1 |* W0 Q% ], y4 `) w( Y- \};) t6 l9 {. c3 I: G

; D7 u/ Q+ n6 p2 J- K" ystatic int __init led_platform_init(void)
3 P" `& y% m& R4 U{
) l( V- E# V- t, h        int ret;
/ i8 j! Z% _3 q+ u- r  i#if 0
  G$ a6 \3 `6 W% z7 Q4 z        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);
" U! ?) R7 Z/ A- E        if (ret)
( v! r  J3 |4 T# ^) b                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
7 L7 c9 r- X8 V                                "%d\n", ret);/ z, i8 a$ A. p- [9 v$ [4 o- s( D( s
#endif
! B9 |$ b' Q  Y, k; C, a3 C& }5 E        ret = platform_device_register(&da850_evm_tl_leds_device);
3 }$ p- D  C9 a; o2 [/ _        if (ret)+ }, `+ L3 }) t& P2 q0 r0 N
                pr_warning("Could not register som GPIO expander LEDS");
0 `! f3 }2 x' @$ e' ]( x        else- z! G1 E& p2 O2 \; a
                printk(KERN_INFO "LED register sucessful!\n");: R9 S% Z  k; S
8 [. |$ w4 P: N3 {  ?! o( d
        return ret;+ t- S4 v% }. f
}: b, P' c- y6 y3 D# F
! ~: @& u+ }. z
static void __exit led_platform_exit(void)6 ?1 ]4 [) N' D1 @
{
$ W, g  }3 A  v4 _+ x; x        platform_device_unregister(&da850_evm_tl_leds_device);4 a, ^1 `. O3 m8 y5 B0 Z
/ D0 N3 \" j0 ~5 c" s
        printk(KERN_INFO "LED unregister!\n");. e" l' V+ h7 M/ w& _9 X" k
}
- x  J6 T5 I& k
6 v1 N) w% z8 G' ^! Amodule_init(led_platform_init);5 d. S& P, T8 O: l4 ]& _
module_exit(led_platform_exit);- S5 L- D( j) O, Y3 e; o! Y% R
" `8 T! d2 s6 N" o- i, C! v- B
MODULE_DESCRIPTION("Led platform driver");" ?5 {" y, K8 ~  S' j
MODULE_AUTHOR("Tronlong");
5 c$ w" h7 ^$ u- _  H# \MODULE_LICENSE("GPL");: h/ N1 G, [% l9 ~- A( I; m: E, w! @
5 r- N) C' k8 u- ]3 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-4-1 05:37 , Processed in 0.040220 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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