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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。
8 d; Q" w8 q& v3 K) p9 z& f#include <linux/init.h>$ ]3 s) O8 W5 Y% n
#include <linux/module.h>
6 V- X( D0 @& V# z9 _#include <linux/kernel.h>2 t. Y% ]# J* w+ y8 p* E* d" d7 O; g
#include <linux/types.h>
6 k! M, L) t& x! C6 n#include <linux/gpio.h>
6 t3 h% b3 H9 A% u3 _#include <linux/leds.h>4 c8 U! e; f& \  ?' L( o* d! Z
#include <linux/platform_device.h>' b' d: k% U' u1 d, a
: n' ~* K8 @3 U8 O: E* {0 @3 t
#include <asm/mach-types.h>) V# B5 ^. o  g
#include <asm/mach/arch.h>
* K) R5 z# E- K) {, G( I5 c#include <mach/da8xx.h>
2 P6 V9 l# D& ]) v/ |6 a" ~#include <mach/mux.h>
& D4 x+ u# M/ a$ c5 e: B  }
, }! z8 a! h  h4 K2 N8 @& @#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)) {( v8 I, m  x2 A+ x
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)5 E% n: q+ M7 x9 g* R7 R  r
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
+ u& L/ ^% M. Y( U# x#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)- E5 I; O* C$ g. e
( \  d: x3 s0 L- C5 i: |3 v
/* assign the tl som board LED-GPIOs*/
: W9 i) s2 E: X% Istatic const short da850_evm_tl_user_led_pins[] = {
2 ?5 L0 I9 m  u+ x1 |8 c/ y, x% C) T        /* These pins are definition at <mach/mux.h> file */
, K0 a# C5 F8 `  X# M        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,  \; L' f; u0 L1 a; N, v
        -1
1 i, G0 v5 ]9 @/ A, }0 b3 T( }};# }* q+ h- H; q" M2 ]' {

, @$ W5 M6 j2 Y% j: xstatic struct gpio_led da850_evm_tl_leds[] = {9 o1 r8 s' Q  h' Q1 ^
        {
7 n) A" q5 o+ t9 N; n                .active_low = 0,
- F, P& R7 {, q                .gpio = DA850_USER_LED0,
4 E7 K' S; r" I+ J# i9 w4 z                .name = "user_led0",. ^: `0 Q: O/ y
                .default_trigger = "default-on",
0 L7 n/ k5 J. n/ v' B9 C9 @, Q1 Z        },, D8 T7 L. g0 a
        {
/ I5 p0 L& n% N7 ?; F  K                .active_low = 0,9 [4 P& V. a5 {+ X
                .gpio = DA850_USER_LED1,) ^: ?( ~! H- {8 z% I+ {
                .name = "user_led1",7 K4 `2 V# t5 X9 J4 z) M
                .default_trigger = "default-on",7 h4 q9 z& V! H' |; j1 [+ a4 U
        },
) U2 i6 X7 X( L* o7 P9 v        {( S: [6 R% z, `, ^
                .active_low = 0,
1 ^5 w% f# n6 U/ G* @8 K, W                .gpio = DA850_USER_LED2,
: T  D4 E6 x: x- e+ L; e: m0 [                .name = "user_led2",
  m9 C3 w' I, @5 C4 V5 l( S3 ^+ m                .default_trigger = "default-on",
6 L7 h$ `' P1 e0 h2 g* D        },/ T$ S6 N2 w, a: v# s
        {
# T& l& u" b6 c' y) |                .active_low = 0,+ O9 G& I; ^! Z0 v0 l
                .gpio = DA850_USER_LED3,! b4 U3 r  `4 M* X
                .name = "user_led3",! @; z3 R' [! y' T9 X
                .default_trigger = "default-on",
$ U( l. S+ q5 [8 G3 D        },: i; ]: z4 S9 e# l; w
};3 E/ \: V( t5 d# E9 U
( ]6 ?% W* Q; L+ z) L1 Y3 F
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
- M) n+ }, c  b+ j        .leds = da850_evm_tl_leds,# G6 w$ S& E, O. [  n) n
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),$ w' B, r- |7 e8 B4 ]& M# x  q. w
};
# G; K& ?& @& l* X5 \
% ?* M: \& B8 lstatic void led_dev_release(struct device *dev), x8 [0 i2 C2 ]" K+ K
{
' I8 w; _' z0 v. G  M6 E};
* `9 C& r. o7 y4 }! t) L
3 W+ T0 j4 h9 o% B* Q- [1 q. qstatic struct platform_device da850_evm_tl_leds_device = {: O* ^# @% e  R( |/ ?3 B
        .name                = "leds-gpio",% b' D, i) F& \
        .id                = 1,: ~3 ?0 a% K5 x( G/ O, w, J
        .dev = {
4 A/ f9 p% L( P0 |                .platform_data = &da850_evm_tl_leds_pdata,- W' {/ [# I; T+ [+ Q  G1 Z
                .release = led_dev_release,
  v# m+ i6 g5 ^& ~( P0 F        }: \; G. G0 g( {2 e( |
};3 H0 f: `7 g( n+ B3 H  c

) N3 ~1 c; V' T* y( Z7 Kstatic int __init led_platform_init(void)/ T  q2 w% Y: K9 o
{
( O8 [) I2 A* L" W' a, G$ e        int ret;
! Z0 M6 n: z1 l1 @3 p, @  |#if 0
: E) [4 L4 P( A5 F, {        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);
" j! I) u& h8 z0 ?        if (ret); u7 d9 a: B1 F9 j: G2 Y
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
) Z) E  |0 E8 R# y( j                                "%d\n", ret);
. S; l% K0 a  W3 D. G#endif2 D+ D. `- V* M$ I: r
        ret = platform_device_register(&da850_evm_tl_leds_device);
3 X& q* w/ C" [$ i: @( L        if (ret)
6 i1 F8 q1 w- i                pr_warning("Could not register som GPIO expander LEDS");
7 P. B0 U, \* k( d7 a        else/ T, F7 X- b: |/ F7 v$ d: m( H
                printk(KERN_INFO "LED register sucessful!\n");
% X1 u( ?/ C/ U' U: R# t. m3 V  C( {% G& u, s
        return ret;3 d% o" y) f9 g2 E3 A
}9 z  E* p( f! l8 j8 {( N" z

9 i" v( Q' N( Q# Astatic void __exit led_platform_exit(void). M6 _2 {$ E/ @3 o
{
% z' b' O, D! O        platform_device_unregister(&da850_evm_tl_leds_device);
4 [, U0 u; _. y, w! E0 r6 U/ M- {; r! X: ^* U5 u
        printk(KERN_INFO "LED unregister!\n");5 d) V1 D3 w8 u
}* s, v. |$ R1 E! k+ f6 j

. y% J2 }$ v7 O1 i' w7 Xmodule_init(led_platform_init);+ X4 f( P- x) [# ~5 Q7 m
module_exit(led_platform_exit);
! R6 t, ?  S! b* r! a
/ L% B3 G  Q& Q: EMODULE_DESCRIPTION("Led platform driver");
- z( k- S7 z, _& f! X: C; U% QMODULE_AUTHOR("Tronlong");
+ M; f' N1 n9 B6 Q; O3 D! kMODULE_LICENSE("GPL");; z. q! f0 K, n  [( m4 W8 B

' G0 ]2 |0 {$ U* E" ^4 L: i9 d, d6 @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-1-26 00:19 , Processed in 0.038902 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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