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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。
' [/ B% B- u* R3 z) [( k#include <linux/init.h>
4 Z  J3 z5 F% T#include <linux/module.h>
, E) H, `% G& H" a! |% r#include <linux/kernel.h>
5 I/ L& w2 \2 z4 O. a7 Q#include <linux/types.h>- L" R0 N* _, B+ c1 ?# p5 k4 f
#include <linux/gpio.h>" Z+ m! C" D; z7 @8 P' y  E
#include <linux/leds.h>4 k4 c3 V  b: X. ]9 }; u
#include <linux/platform_device.h>0 ]2 t! {) R$ Z' w4 q( ]

3 l# E" x6 k4 N4 Q1 W#include <asm/mach-types.h>3 S7 q) V  k  |7 O8 O
#include <asm/mach/arch.h>
: ^+ f) t* @* w2 E! s9 U#include <mach/da8xx.h>6 Z) _9 r6 w& j. k3 w9 j; o
#include <mach/mux.h>
5 O, B$ ]% |7 q" B+ R, @, P- ~; H% F
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)
% E5 I" Q, t! c/ o  G#define DA850_USER_LED1        GPIO_TO_PIN(0, 5)2 Z. u, \# n$ d8 t; F% @
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)- w7 {' ~% m, J3 d
#define DA850_USER_LED3        GPIO_TO_PIN(0, 2); o+ u8 h# {! X1 k) q
4 D+ ]* K! Y+ q% `( e# B2 j
/* assign the tl som board LED-GPIOs*/! X# R3 C) d( b$ {, o' q: z
static const short da850_evm_tl_user_led_pins[] = {& ]3 U( \* j0 I  s
        /* These pins are definition at <mach/mux.h> file *// o% o: Q4 |3 A
        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,
' S7 P. K9 D9 q1 Z% w+ e        -10 d' R5 I! {# N6 r9 u  @6 P
};
: N- z# D6 u) g
: C  u2 y% e# e0 @4 a) _4 wstatic struct gpio_led da850_evm_tl_leds[] = {  `. M5 p5 L! N9 ]2 Y0 K
        {/ U8 ?7 _9 D, \5 T
                .active_low = 0,6 u! B$ `, {# q- q1 B1 e
                .gpio = DA850_USER_LED0,
4 s5 \% D$ N! M) O                .name = "user_led0",9 A$ P  e3 ]! j) y
                .default_trigger = "default-on",
  U7 O. R6 [/ b4 e        },9 S  U# I+ L' [$ e) G
        {
% G. X, I0 s% m% Y: ~# I) u                .active_low = 0,
( J1 N9 i4 z5 R# I) L( ~' D7 `4 a! F                .gpio = DA850_USER_LED1,
- l* m0 ~5 T7 j9 r                .name = "user_led1",' P( c; G7 D+ J  V5 j
                .default_trigger = "default-on",
/ V0 d2 I- U  p; l8 A* o9 F7 W        },
* T  ^. I9 i3 V  d/ u- a, P        {, c+ P, g( |7 y3 R
                .active_low = 0,5 B$ x" x( R7 `8 J0 K
                .gpio = DA850_USER_LED2,  e5 Z+ I8 @% Q) C
                .name = "user_led2",
4 t& y& j! z( q* H  Q  V                .default_trigger = "default-on",
# W5 ~% W; k7 b        },
) A4 s1 u* B9 ?5 S# i6 `4 w: \3 t+ o        {
% T" w' X. j5 }- G                .active_low = 0," w: X7 Q7 ~& N, X/ t; z" W9 _; ]
                .gpio = DA850_USER_LED3,
+ F/ Z! f7 u( o4 U                .name = "user_led3",
2 j" z& u, B* ~                .default_trigger = "default-on",
3 d' v) e' E4 w/ w. N- b        },# \2 n7 F8 a" D5 m( b
};' ]. e$ g! ]# r& A+ a
9 t& k' n. w3 `1 t/ r
static struct gpio_led_platform_data da850_evm_tl_leds_pdata = {% V7 O: {$ a/ S* h6 K
        .leds = da850_evm_tl_leds,, t  D$ J2 f: @: ~
        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),
7 w8 H$ e2 O& H( d; o- |, ^8 u};
: c% g4 E* T3 z; |- [6 c
3 [, l) @  F/ E+ T! w- I4 Istatic void led_dev_release(struct device *dev)5 ]" l- x8 p3 T/ R+ D# M6 u  A$ h( _
{
3 ]; T8 m* v8 L. G6 i4 m};0 ^" K7 n( `2 C+ e" p; m
$ L( l; B  T  s3 h# K0 b9 S
static struct platform_device da850_evm_tl_leds_device = {
9 V2 w( _+ j) [, C0 ?        .name                = "leds-gpio",
6 d7 U% V% p! H0 L' J        .id                = 1,
4 Y+ z2 Q! O0 h1 @/ L1 @/ c6 _        .dev = {
$ k+ f2 B7 B/ h. ]# C) x. n6 I                .platform_data = &da850_evm_tl_leds_pdata,' z8 C8 O9 @: }5 e2 l$ W9 i
                .release = led_dev_release,
; t/ \9 [0 ?* a* T* P$ N8 M        }1 s( C0 I2 h7 I3 z' t7 H" X
};
, T$ g4 B6 Q, e: m/ n" K1 L
4 |5 d- R, z" J1 o9 p3 B! V! M7 Jstatic int __init led_platform_init(void)/ k; ]8 m4 O! T. s8 _
{
! y/ Y' `' ^; z        int ret;% L! B+ p6 o0 D% J
#if 0# @8 N; V. j+ d4 T5 b
        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);! q8 t- C6 h( b. P) Y
        if (ret)1 X! S5 ]) ]0 ~  J! a
                pr_warning("da850_evm_tl_leds_init : User LED mux failed :"
( l6 x5 s+ j2 P' a+ m' b* J                                "%d\n", ret);! `0 _4 ^4 N5 B3 @% x8 e0 a
#endif
. F6 c2 p( q2 J        ret = platform_device_register(&da850_evm_tl_leds_device);8 U  E: M! M- B- @
        if (ret)
7 F+ l/ ]" P' ]9 |                pr_warning("Could not register som GPIO expander LEDS");
: _4 \! b) b6 R  O4 k3 G7 c        else
9 P; o1 n' f7 [* h" I9 G                printk(KERN_INFO "LED register sucessful!\n");
9 ^- k# x4 d  X. O* [, V$ ~3 M. l1 s! p4 [
        return ret;
- L4 R( ^9 ^0 M5 K  R6 U- n5 C, D, g}$ R7 e2 I9 e$ C6 {4 Q/ I

' {# }& ?$ q1 |+ Y1 S+ g6 zstatic void __exit led_platform_exit(void)" k9 j+ c( G" z
{' ^) ?& Z1 ]8 e8 d' ^
        platform_device_unregister(&da850_evm_tl_leds_device);
3 i% E: |' y- i# p( ^, K' B
) q* M$ u# w+ d7 P0 \% V        printk(KERN_INFO "LED unregister!\n");
9 o5 [7 [( {2 F! c  A7 C}1 x8 l: Z2 p5 d( D+ S8 ]
  A: {: t% K+ p" Z( Q
module_init(led_platform_init);
, ?% j/ H  R. ~module_exit(led_platform_exit);
* |* J' t9 ~& e, ]
' ?! K" X  D$ d- F3 m' ~MODULE_DESCRIPTION("Led platform driver");
6 t) N" K7 M+ r" z" _" JMODULE_AUTHOR("Tronlong");
( `' M( D* }/ C+ l4 H* bMODULE_LICENSE("GPL");
3 s3 G' E, H- j0 r' J
  d; P% B) T5 {" [: [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-14 21:34 , Processed in 0.040898 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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