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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。+ q; I4 T  V) b# L
#include <linux/init.h>
2 f$ r3 F  J8 X  H' C#include <linux/module.h>
) |% L7 l2 u5 [. `* n9 J0 j& H$ B#include <linux/kernel.h>
1 W9 L9 x6 s# h5 {- p8 C#include <linux/types.h>9 B) O4 r  I! x& H. Z: M
#include <linux/gpio.h>
  t" E+ _% P6 Q' g8 o9 h; G: j#include <linux/leds.h>
  \% Q3 X3 m- p6 A#include <linux/platform_device.h>9 }4 t- |7 [( V

5 L, p9 H6 k- ~5 D! F#include <asm/mach-types.h>: v/ X2 j6 e' ?2 @2 a! l
#include <asm/mach/arch.h>; b0 \0 O$ G( l1 M) U3 [. i
#include <mach/da8xx.h>! k5 Q1 g3 d0 g1 e
#include <mach/mux.h>8 H5 L* ?* q; T" q* y% W4 @
9 b' f1 q6 u4 v2 `; z/ d0 X- s6 W
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)5 {: N  A( d- _% U
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
* C$ M: g3 y. M" x+ H8 p8 z#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
) C' ^: ~& t% ?9 Q" x0 U% r+ o3 t#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)5 M1 L: u2 L, K3 }% x
# _. F0 ]1 c  [1 T
/* assign the tl som board LED-GPIOs*/% n/ C. K+ }8 `" v, |4 b7 M" G/ K
static const short da850_evm_tl_user_led_pins[] = {! i- L. ~: i+ T  f0 M/ R
        /* These pins are definition at <mach/mux.h> file */
" q+ ?% S7 o2 q8 C        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,1 X% n' n$ @6 ^9 N  c. o& c
        -1
% _3 y/ d. }, X};
, p# }  T- B0 k
0 ?) k9 j; D, W( B; ^3 h2 Zstatic struct gpio_led da850_evm_tl_leds[] = {
: L6 S* V1 j2 {2 l( t        {
  {7 l5 n9 T* y- [8 a7 o                .active_low = 0," W9 P/ l  V. @0 X
                .gpio = DA850_USER_LED0,
; j) \6 f3 w% U- F% L; Q& R; P/ C  x                .name = "user_led0",
* ^2 |4 }, e, ~' p8 y( z                .default_trigger = "default-on",
+ x% z  f% X; I/ v0 {* K: h- B        },& N. G6 k. t: u9 F
        {
8 U9 j/ V3 \/ \" d2 P+ j/ N                .active_low = 0,
  x6 l, m& M8 I: [7 h9 a( T2 {0 ^                .gpio = DA850_USER_LED1,- T% x" C0 Q) Z$ }6 X5 i0 Y
                .name = "user_led1",0 s6 r8 v, ?: A8 D  K/ j: W
                .default_trigger = "default-on",
6 q; p( o5 \& o, G) \; R        },
0 V& @; S& }# n% X0 b; {2 q        {
# y6 z8 U; b! @                .active_low = 0,
" v4 A! o$ K- k' i' i& x                .gpio = DA850_USER_LED2,7 }1 Y8 g6 Y% M8 f
                .name = "user_led2",
& ?; x, ^/ I  |0 B2 [- d& L) t                .default_trigger = "default-on",
- n: A7 R( I! n. e, ~7 d        },
% s0 l5 g3 i+ c  X, ?; g1 L1 J        {
& M) q" r% ?! q) |" A5 J                .active_low = 0,
# x2 c0 ]% X- F                .gpio = DA850_USER_LED3,
8 g0 n0 j" ^  [. d3 V5 N3 _# Q                .name = "user_led3",
: `5 x! M4 u+ g                .default_trigger = "default-on",
/ P# Q2 e! b2 D/ n- u2 r: i; d        },7 R3 C; a% c% ~' }
};
6 Z0 j, [; d+ |! x* z5 _( N2 s' x: S' q4 _1 Q% V
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
) X5 ^6 `) i  w- C, X0 _        .leds = da850_evm_tl_leds,# N, V! x. D9 O# H, U! _
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),
' q- r% y  t3 m2 K( b};
" A+ w0 _( S" n% `. {0 `8 l
0 r4 X7 a, A7 Y; Hstatic void led_dev_release(struct device *dev)
1 v* J5 ]1 m7 j+ S8 R. x$ R{
" s8 z; M6 w- ]6 o};" `" G' r- d1 B. M! F+ }
$ \* O8 z2 W0 \1 v
static struct platform_device da850_evm_tl_leds_device = {9 ^4 Q5 X/ A- y  n2 X/ X, {% k6 P
        .name                = "leds-gpio",. H# d3 x- R4 O! m% `: w
        .id                = 1,' E$ Z6 q8 l% K: K$ x; S- B1 U
        .dev = {# K3 L& f7 Q: ~
                .platform_data = &da850_evm_tl_leds_pdata,
5 Y7 N* x( s5 H! a                .release = led_dev_release,
: J9 [" p+ d4 Z. y8 K9 |( i        }# h( Q- o9 {0 n7 h$ S- L
};) t- Q. z/ Z( [

/ t$ J8 Z  C- f. }$ ?4 q( tstatic int __init led_platform_init(void)
# }( T- l' f1 W{
- E  h3 L; b9 ]. J4 V3 {5 }/ B        int ret;
0 n# [5 b! c% {#if 0
/ p. u8 e9 |( \2 x        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);5 ^. _1 ]% Y/ t* P& d
        if (ret)7 U; D. E6 o6 f( B, n. U. L
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
$ c) l6 s2 Q% z/ Y- s                                "%d\n", ret);
5 Q5 H8 i& v, Y, H#endif
3 o/ U/ T5 y' p        ret = platform_device_register(&da850_evm_tl_leds_device);, u  e4 C/ V) q0 M$ U  K
        if (ret). k5 P! n' q2 }5 [- z
                pr_warning("Could not register som GPIO expander LEDS");) n8 T5 G1 A. f. V1 O& Z0 O- d
        else
. n5 n2 _+ O/ w( z                printk(KERN_INFO "LED register sucessful!\n");' L6 [0 _% C+ ]8 Q5 _

5 ~9 s; v% N3 o0 Y        return ret;. ^& V0 M, _  @; F
}7 V( P6 S) o2 {0 ~  h6 I: P
0 J2 \$ ~+ x# }) r; Y
static void __exit led_platform_exit(void)
% j  A, O) G+ G1 I{) G! _7 K+ S' d3 K- b
        platform_device_unregister(&da850_evm_tl_leds_device);2 i$ ]: ^% O  N* K7 m

. C0 [5 ~% t8 q1 h5 E- k5 ?        printk(KERN_INFO "LED unregister!\n");
- S$ I0 R! |% F2 ^}3 b. l5 I* G* ~5 |. F4 j/ O
% A7 H% T# {6 J: j% w' p7 a
module_init(led_platform_init);
* ^6 m2 V" d, Y: r: l: b" H" ~/ e+ Nmodule_exit(led_platform_exit);
5 Z8 q! @) W2 L( w8 W) u4 Z( g5 J. Z% T; _
MODULE_DESCRIPTION("Led platform driver");
6 ?  G" b, v2 F. e$ \2 C1 C4 }3 d/ NMODULE_AUTHOR("Tronlong");
8 X8 A. W# H9 C- D$ J& kMODULE_LICENSE("GPL");  E+ ]+ T" N& N& t; {+ Y
2 S- \% Z+ {1 I/ ^9 ^  Z2 ^4 j4 L* c$ m
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 13:24 , Processed in 0.036695 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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