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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。) K1 k5 y& ]/ \+ C) L
#include <linux/init.h>
) U: W2 X* g3 v2 `#include <linux/module.h>0 V% D& N$ y9 y7 ?9 S5 c
#include <linux/kernel.h>$ e: ~) u( r+ W( O; L2 x
#include <linux/types.h>" z& f0 n; J5 g% ?9 O
#include <linux/gpio.h>
% f$ B7 M3 G% z#include <linux/leds.h>3 d2 Y0 K$ B. h+ K5 m' c. ?5 k) y
#include <linux/platform_device.h>
2 `% G; U; H' }" h) D
/ ^" s' P# v; c! ^#include <asm/mach-types.h>
+ H; C, f, x; W. R0 r1 S#include <asm/mach/arch.h>
" R5 z+ {6 y, ^4 f( c+ l: y# ~#include <mach/da8xx.h>* c- o1 ^, x# }, f+ m& X% O
#include <mach/mux.h>% y3 J2 L2 S* u: [

5 B/ g8 n9 U9 X, H#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)7 x- T+ K2 e( d7 ?
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
* `1 f- v( t/ {0 \8 P, b1 Y#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
) n4 r/ ?1 {4 w: _$ Z#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)
7 B! H+ Y8 F7 _7 `& r* {2 J1 z$ L7 q% x9 }1 d4 r" J
/* assign the tl som board LED-GPIOs*/
3 V4 W8 c8 M  K# k/ zstatic const short da850_evm_tl_user_led_pins[] = {
( Z& s/ {& w; O1 u# o* g3 s        /* These pins are definition at <mach/mux.h> file */  ]# q. T0 Z  i( R/ v
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,  I7 i# A( G4 w+ b( q
        -1
# m0 G0 ~4 @" c- V3 J5 |};7 [% w* A- v6 T" x

6 n$ i! ?! [& n; r3 P; U4 Jstatic struct gpio_led da850_evm_tl_leds[] = {  J2 ~% v  d4 [: V6 D! w
        {
5 L+ d/ {) [' @                .active_low = 0,8 h* T8 O2 D6 k8 N& L' q
                .gpio = DA850_USER_LED0,/ j. R2 ?( E4 O0 e) T
                .name = "user_led0",
' [& w% {( G  g+ V% ]  {2 _                .default_trigger = "default-on"," Y) c" [" u1 M3 C
        },0 V0 f8 r2 v9 ~5 ^7 _& r$ v
        {
1 V6 m6 n& U4 v3 v6 T- T                .active_low = 0,
9 E# M/ `- p. z4 \- g                .gpio = DA850_USER_LED1,
  s9 U5 Z/ i. i- h% O                .name = "user_led1",% a& L) ?; k( q( s6 l
                .default_trigger = "default-on",% X+ ~  _* [0 K# C4 c4 ~7 J2 @' V
        },
! z8 T3 i2 o# v- Z/ z  F; R" m        {3 g5 U3 G& T! \2 Q
                .active_low = 0,
3 n, b( T* x+ n3 o                .gpio = DA850_USER_LED2,
* L9 V( m  K# f: n                .name = "user_led2",
# E+ }9 Z$ d* B% a* L                .default_trigger = "default-on",
8 r# s  y1 G# ?$ C- C$ B        },* e( C& P5 M- R
        {
! ]# F9 B6 `) X5 I9 o                .active_low = 0,
* F' d) C3 c) p                .gpio = DA850_USER_LED3,
( T! K, a1 Q5 L- A' `                .name = "user_led3",' A$ K. q' z1 d: h/ G
                .default_trigger = "default-on",- Z) o$ _7 A5 H9 h( l% |/ j
        },
& i6 h! K0 k' A- ^};
4 X, j4 q, e3 v+ q% ^. c) _9 N$ e: n/ H( k1 ]3 O5 v8 |. ^
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {- X" f  J# j. ?. ~2 {5 t9 l
        .leds = da850_evm_tl_leds,1 s# o, T% ?- Q* A% |1 \2 \! ^8 I  \
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),/ m7 e9 }6 p+ P7 g
};/ F$ C: B, i+ L2 K+ E
& ?" m7 I# B5 `$ f0 x
static void led_dev_release(struct device *dev)
/ f/ S8 G/ U* N, B{% e' `8 u2 Q0 Y% O* C
};
$ E; e! \$ |9 n" X
1 Y& J- p- S1 |. S  B: @static struct platform_device da850_evm_tl_leds_device = {1 c( [. X+ ~  N. W( Z+ ?
        .name                = "leds-gpio",
5 B: X& a2 s2 H! x        .id                = 1,
- Y* g5 Z; b$ b        .dev = {' t( }) U/ G5 `( _: u
                .platform_data = &da850_evm_tl_leds_pdata,
* _& \5 d* s, _( Q                .release = led_dev_release," v0 t9 D0 |$ f- l% |" _% G3 B
        }
3 M1 i% Y) L% l2 s& `};# {8 v( W  e1 j
* g! y( Y$ E1 W: t8 V& q: Y. r6 ?
static int __init led_platform_init(void)
1 ?8 a0 X7 N- ?  v+ H; L* ~{$ R) E  m/ L" W$ L% }( U0 v1 {: Y
        int ret;
, |+ l1 O: G- P#if 07 p8 H8 k4 B4 Y% E% ^! Y
        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);4 J' R4 B1 N2 Z3 D, |9 L
        if (ret)( a* k& e( ]1 K  O
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
' C  g0 Y: {* `$ y                                "%d\n", ret);0 W! b8 N  A. f% m; K4 \
#endif
  J" ^8 B! j6 U7 _9 ^5 z6 \        ret = platform_device_register(&da850_evm_tl_leds_device);* I/ W: _# C& M5 V8 u9 h1 \6 S
        if (ret)
# K" N. ?* O7 C. A& |& e5 z* V- K9 V                pr_warning("Could not register som GPIO expander LEDS");1 G) e% C& d# [1 @
        else
1 c+ J% U$ f6 e3 m4 q' j                printk(KERN_INFO "LED register sucessful!\n");/ ^4 W( q! J: `& A( \" }
' n. R6 W$ T" O" S6 a
        return ret;9 q6 A6 ?$ W3 t9 m  I" ~
}
% P+ ^( T& d! g! f7 P1 Q1 q8 l
% `: F( m1 l8 ^+ K: B+ G# @+ [static void __exit led_platform_exit(void)
) d% F- A- C' `3 [{
, w0 w0 ^5 w6 v4 u& G- f        platform_device_unregister(&da850_evm_tl_leds_device);
& X7 P* _0 P4 ^4 O
1 Z- [" n5 O, M$ p1 P        printk(KERN_INFO "LED unregister!\n");9 m! A. E4 O4 b; \% J
}
7 ^9 _5 ^8 H  @2 o' j+ p, J% J" c' w  k5 I0 F
module_init(led_platform_init);
$ t6 C  k( r& \! F) _3 V; }module_exit(led_platform_exit);0 z; F3 ?" j& \$ l3 Q* F& j
5 B  M% T! Q3 E- b8 J( S# a
MODULE_DESCRIPTION("Led platform driver");9 w- q; g5 G7 n" f  i! J% h
MODULE_AUTHOR("Tronlong");9 t4 X2 _# |9 ^
MODULE_LICENSE("GPL");
2 P! b5 p9 G9 O( J9 ]! ~' z5 u* b$ w, I" t4 L( D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-9 08:00 , Processed in 0.037931 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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