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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。& j0 f& O! A8 E, }$ T2 B4 V( _
#include <linux/init.h>* G6 r4 t1 r; z8 q
#include <linux/module.h>
; f5 @: y- T1 J$ v0 P) E4 [#include <linux/kernel.h>" E) U) j( P& q
#include <linux/types.h>$ b# z4 Z% Q* _: Y
#include <linux/gpio.h>
3 Z' M" D6 `$ g# s1 \4 M#include <linux/leds.h>+ K& a( v/ f3 P
#include <linux/platform_device.h>
3 \& E) s) Z; }$ Y" ]: _) q
: D0 j! H2 x% j7 O# A; c#include <asm/mach-types.h>
- \  }% ~$ y1 Q  R#include <asm/mach/arch.h>
8 q8 F3 c' c+ P1 W#include <mach/da8xx.h>0 k' i* {: N" k, @# G- v
#include <mach/mux.h>9 \2 H7 R! Y, V
0 x. G7 J9 E; d; b2 z. l
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)
8 b- c: @3 S) ?) V* `* i#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)) o1 T, T  `7 p" x; R. v+ v
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
4 y# G/ T0 R4 l9 U$ h# s5 t2 L# `#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)* D3 J* L  ^, F
/ ~" {) Y5 F& x' F5 N* t1 {$ x
/* assign the tl som board LED-GPIOs*/
9 K- y4 N6 R6 J+ L4 }! Qstatic const short da850_evm_tl_user_led_pins[] = {
+ n) S7 n. z" _% j4 ]0 J! T        /* These pins are definition at <mach/mux.h> file */
' w  s' j( F. f+ t        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,1 V' D8 d; m+ Q1 u4 b
        -1
: Y) n5 d! a5 b( E! z& R2 U};! Q, f3 R. y9 _5 S
2 K) y  J9 ~# ^! h6 a8 E
static struct gpio_led da850_evm_tl_leds[] = {
0 S; b8 F# f9 P. p: Z" L  ~        {! L0 u& i) N5 D3 b
                .active_low = 0,1 }1 ]+ ]9 z4 t
                .gpio = DA850_USER_LED0,
! g6 [) E/ Y! \3 z# W" @8 Y8 U                .name = "user_led0",3 K) n/ w1 q7 {
                .default_trigger = "default-on",
+ j) ]% b' ]( |1 s! X/ b. A5 a: q: J        },
  f" M4 a2 j1 X0 a        {
" {# ?- W, o! b0 X- d( v                .active_low = 0,5 a1 g; z9 ?$ J# h, s' Q
                .gpio = DA850_USER_LED1,
$ [& q9 t) ~$ R' e4 T, }4 X- ]/ Z9 {                .name = "user_led1",
' B( \+ j! M0 G4 m                .default_trigger = "default-on",. Q: Y' {  |" b+ [  C  Q
        },4 E: q* ~8 z5 G6 |. w1 Z' C0 c) T
        {
6 `& h/ E! L6 o  ^& E( N                .active_low = 0,8 U$ [1 f+ e/ D' ?0 r/ p
                .gpio = DA850_USER_LED2,  Q; h7 M0 k3 @
                .name = "user_led2",3 M2 f- V  J2 H% `+ e0 S! S
                .default_trigger = "default-on",1 V- R& O$ e* W# W
        },
. {0 W( }6 y2 x( o% h% N# K        {
1 {' ]- [1 O, t% T& I2 |                .active_low = 0,3 L2 u3 z4 u) D+ J( B( M( ?
                .gpio = DA850_USER_LED3,8 M9 ]/ ^% S7 ~8 }8 J* C
                .name = "user_led3",# T2 x  @3 V6 T( D; {  D4 @! z& W. u
                .default_trigger = "default-on",
; y7 T' |4 k6 Q- B4 t1 K        },
) e; U' Z! R. t/ F  ^- P" O) n2 x};
/ H5 W! Z3 _2 \& b# b4 k  D
$ \7 [9 V' l6 N; z3 e6 Qstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
' A- {- k4 \) y        .leds = da850_evm_tl_leds,: f( U: `) \0 o7 L4 }2 ~  F
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),2 k3 Q/ F) k5 ~0 _/ @
};5 c3 Y7 A, b0 J, w, ?$ m5 r
5 V: C) W( y8 K2 N' k
static void led_dev_release(struct device *dev)+ `2 y! J" H5 c. L
{1 r! W- M) O! I6 C) P$ }! k8 J* \
};
# ]8 {* g5 J8 x" \& N' i1 q
# z4 b! H2 m: z3 M8 Istatic struct platform_device da850_evm_tl_leds_device = {  b% H$ r1 m6 A
        .name                = "leds-gpio",
8 W8 ~$ D! I4 Y+ w; G        .id                = 1,0 f; f- b. N# k1 d3 C
        .dev = {! r/ {9 M% m, ~* {  R. D
                .platform_data = &da850_evm_tl_leds_pdata," C0 _: j8 O% y9 j8 j
                .release = led_dev_release,
7 {9 ~7 b' V( S8 Y' l        }9 i+ G9 t# p! W
};
$ D8 S0 B& m, x) D3 W* v
+ f% O$ V& T' K* R( w; X% G) m# c* Hstatic int __init led_platform_init(void)
- N- E$ l8 e" s6 P4 W$ O{
. I4 n) T* D6 w6 l        int ret;, o/ C2 r' m; [- N4 s1 l
#if 0' f7 w/ f$ K# ~9 ?( h& p4 i/ n
        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);! ^  l6 H7 f( A1 i% e
        if (ret)* \( {2 C- N* d3 G. Z
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"  L. d: l5 o) E4 ?& B/ A7 _
                                "%d\n", ret);
9 ~, U( N" B' r1 ?& `#endif- L1 a0 }# F( R" [; {
        ret = platform_device_register(&da850_evm_tl_leds_device);% q  k# ^. r8 K& F; \; \- D
        if (ret)
, w- a! z, z6 Y  @, s                pr_warning("Could not register som GPIO expander LEDS");" v' a" C/ T1 t0 P. y, q
        else/ }7 T7 K/ e" b5 w. L
                printk(KERN_INFO "LED register sucessful!\n");2 G: o( v: Y" |

# e! ]+ S  S7 C" W: q        return ret;1 ?9 B5 M( D, z$ r
}3 y& I; L, ]/ f

$ ?' W4 U1 ~/ H- b# n! tstatic void __exit led_platform_exit(void)
# j5 L' Z4 |2 {" u+ ]{. ^' O$ j, Z, L  i" b; }
        platform_device_unregister(&da850_evm_tl_leds_device);
2 S7 {/ _' o+ T9 Z3 I3 d8 T1 P/ a$ e9 s0 R
        printk(KERN_INFO "LED unregister!\n");
7 o: W% N0 K6 u& n# O% D}
2 F% m1 Y9 K0 I$ s0 q9 b9 G7 @/ U' ]8 R) c: \5 x/ V: y
module_init(led_platform_init);
; J  T5 U0 A5 omodule_exit(led_platform_exit);
1 c& Z+ n# o, ?2 H9 o; `9 i, }
2 z* r7 V; M; ^) R' k  |1 W3 ^" Z  nMODULE_DESCRIPTION("Led platform driver");# E: B8 o/ X9 v' d# w" W$ Q
MODULE_AUTHOR("Tronlong");, G. N6 Q1 A2 D1 `- _7 D1 `
MODULE_LICENSE("GPL");
* t; A& i) s; I3 N) L7 t' F+ A. v, U! F! e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-2-19 19:52 , Processed in 0.039699 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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