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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3190|回复: 0

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2018-1-19 19:02:07 | 显示全部楼层 |阅读模式 |文章模式
求大神给下面的程序做注解,请稍详细些,谢谢。
- R9 q0 n2 l9 R2 m  C3 \* T#include <linux/init.h>7 g+ K3 m  L! _; O; m; ^
#include <linux/module.h>
. K' f* X* Z5 Y#include <linux/kernel.h>
3 G+ p! S1 k$ {#include <linux/types.h>% p( v+ T6 f  p( ^0 O& C
#include <linux/gpio.h>( p" D6 |$ P: M! q' m
#include <linux/leds.h>
( @2 X! Y  h: G: q#include <linux/platform_device.h>2 ]; Q3 s- t$ U3 d4 u
. {9 _. Y- k3 o6 E* `; U
#include <asm/mach-types.h>
# e5 S- r% z$ k- O8 T  u& p& {" f#include <asm/mach/arch.h>
: {+ F- ~- L4 |, t3 U% E* S: f" ]3 i#include <mach/da8xx.h>
) W7 O2 W/ X" d#include <mach/mux.h>
# Q2 a+ M; y6 l* `1 D" E; c2 f2 ^( l% u) M5 c
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)4 @. @$ n# p( h3 A, r# e' D, B5 X
#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)
% Q3 j7 G! |4 J! Y! `+ k#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
9 l0 n) U+ E( d; l5 }/ W5 p& G* o7 H! y#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)# v  }; [1 x3 l! n( j
1 ]$ e$ e  V8 K
/* assign the tl som board LED-GPIOs*/4 b, x+ E; C( e6 R
static const short da850_evm_tl_user_led_pins[] = {9 R( G6 `( k, `
        /* These pins are definition at <mach/mux.h> file */; z  y( a5 b* V! i5 `$ o5 O8 M7 G
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,: I$ u: C! ^! X( f
        -1
# D3 o/ i* g( L1 v2 {& G};  P' H( M- y3 E( x6 ^
. g& R* K- ?& T! B
static struct gpio_led da850_evm_tl_leds[] = {
" H0 J( R7 S0 Y: ?) K9 E4 K        {
7 d# Z0 J* ~% `9 H. `5 W                .active_low = 0,* u5 w. O3 U9 n! G: H% C, [. s
                .gpio = DA850_USER_LED0,
# p2 y1 A4 X# A- J/ n7 o& J                .name = "user_led0",8 {, ?5 U% n2 u6 q/ [/ o
                .default_trigger = "default-on",
! \4 A. b) I( R# t+ x- D        },; i! B4 E" Z4 W1 _* B5 d; |$ i# L9 C
        {1 G: F/ r9 p- h! ~: ]6 g3 z
                .active_low = 0,2 N  z6 m6 d: p
                .gpio = DA850_USER_LED1,# h! v1 ?9 ]" S
                .name = "user_led1",, L* f7 ~( \& Y1 s8 A" d
                .default_trigger = "default-on",
, U5 O  d" q4 o1 r: d' D, e5 N        },, r6 I8 }5 E+ D0 N6 @* @8 G
        {! H( x* a0 }8 F5 B; y
                .active_low = 0,) S! Y3 h, S& c/ I' @- o
                .gpio = DA850_USER_LED2,8 z+ d2 U, x. N! r  x8 M2 O& J) _
                .name = "user_led2",& i8 b1 l- u/ g4 U3 u
                .default_trigger = "default-on",
, N7 L' ~  W) k+ w0 a/ e  w        },6 G: W; c! P+ R1 s7 p+ |
        {( @9 M9 T$ g* c( S+ {
                .active_low = 0,
- U3 F& `4 n9 p/ {  d; B                .gpio = DA850_USER_LED3,
! y6 h3 i. r; z# L                .name = "user_led3",
+ [9 d& n8 O) _  u; l                .default_trigger = "default-on",: o& n6 Z# @  e# S" |
        },% ]2 w: S$ R4 k8 @. Y
};
9 |5 ~0 O( N; L! i3 Y9 Q" y7 W& o2 `- n. w7 m4 \
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {' [; N: C: o! l2 C
        .leds = da850_evm_tl_leds,& f9 N, k8 [/ Z& G9 g
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),
9 I" P) h6 {+ N* I- Q};
2 |% c' u9 j6 U' T* M" ~$ [5 ?3 S9 i7 K
static void led_dev_release(struct device *dev)4 T* p( u7 S6 ^- m' v, [
{
. K1 t5 m: ]. j};+ G6 T! Q5 _0 {- \! F$ l
/ j2 o( C: }6 x3 E
static struct platform_device da850_evm_tl_leds_device = {" p' v/ [' {5 s# W9 {
        .name                = "leds-gpio",. ]- z' j$ R0 P& l+ i
        .id                = 1,0 d* f& C8 d& Z. C! i+ _) v+ `
        .dev = {/ B" R" C/ w: W0 I
                .platform_data = &da850_evm_tl_leds_pdata,
2 g, H3 Z: t9 g- n7 l                .release = led_dev_release,6 u2 o8 q/ s- J! `- }
        }2 C5 Q: {+ g& n9 }8 o# R5 R' l& U
};
$ Y9 k  G! C5 Y
+ Y! t3 ?8 g, v4 [+ Jstatic int __init led_platform_init(void)
" h8 S' q- _  O5 x( M% M{
) f, ^/ C( i$ w5 a' j        int ret;
: A* A" X$ @. }$ a; c  G# o#if 0
* E8 w6 f% ], A8 N+ X  F2 P0 ]! s        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);
& C$ q& h* y) _8 b+ ~, n        if (ret)
. H& g+ S% V0 U$ B7 K& m                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"+ u4 l/ d4 m/ @+ Y
                                "%d\n", ret);& E4 _) q5 A* w5 Y" k
#endif* S, l0 z* E5 [
        ret = platform_device_register(&da850_evm_tl_leds_device);+ u9 T& I0 I( o  M8 O$ ~4 |: ^
        if (ret)
1 M% r. _- K% b0 b- }6 r5 c                pr_warning("Could not register som GPIO expander LEDS");
- V/ J" y* ?& G+ Z  z% b2 v% Q4 q        else6 L3 Y/ P  p; D6 n, Q& w. l' @  ?3 @
                printk(KERN_INFO "LED register sucessful!\n");
. l! P9 d2 R5 x5 M: I- g/ C6 R( _$ i- t5 v
        return ret;. G: j. ^" n3 x0 N) o4 O. k# _; c
}/ P% J% r: l  d
0 D7 E9 [" j. c% U0 ]
static void __exit led_platform_exit(void)& I1 b& ?  {4 k2 S' g2 W
{7 c5 T$ F" y4 j  E$ @+ H
        platform_device_unregister(&da850_evm_tl_leds_device);1 j* c2 j+ U& j) T. P

; E) ~, s, Y2 k. a  Z4 y6 i# K! b9 {6 a        printk(KERN_INFO "LED unregister!\n");
. f$ z  R6 t% @" Z2 m% s, D}- y; R0 _* n0 V/ P) f
8 A9 s+ q* m6 c+ {6 J4 }; P0 X
module_init(led_platform_init);( |' \# K+ m$ \: _. a" W
module_exit(led_platform_exit);0 R# B1 x4 u2 ?6 G: l

; i% I& k" ?$ U& @. r- j) H( NMODULE_DESCRIPTION("Led platform driver");
" y: S* E6 v: [! S! G' QMODULE_AUTHOR("Tronlong");# U& s9 z* d& p3 W  n" |' _  [
MODULE_LICENSE("GPL");
3 W# {( `$ y/ T4 `& g! n) y: ^2 `4 s6 q9 G/ a
我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有0人回答
最近访问 头像模式 列表模式
回复

使用道具 举报

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

本版积分规则  回帖提醒

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

GMT+8, 2022-12-4 23:42 , Processed in 0.065329 second(s), 32 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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