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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] 程序注解

[复制链接]

5

主题

8

帖子

53

积分

注册会员

Rank: 2

积分
53
跳转到指定楼层
楼主
发表于 2018-1-19 19:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求大神给下面的程序做注解,请稍详细些,谢谢。3 n; H7 o& X5 H, v9 Z0 R
#include <linux/init.h>" r! k; r" U- H' I
#include <linux/module.h>
, P/ ^" e( }4 L7 L7 T#include <linux/kernel.h>
- S3 E6 i4 i3 Z1 J+ p#include <linux/types.h>. B4 J+ E$ W. W* P2 {5 M7 T4 Z. C
#include <linux/gpio.h>
) [3 g4 s' A/ m5 h) H# q% _#include <linux/leds.h>& c6 ?( B9 m" L0 f
#include <linux/platform_device.h>
  m* R6 j0 H& r2 j* M
2 @9 s" F3 k) d% }! K. }+ L#include <asm/mach-types.h>
3 L2 v; X& G: R/ n6 c2 a6 _#include <asm/mach/arch.h>9 w9 }" h  ?9 G, [1 K3 ~
#include <mach/da8xx.h>2 b6 {4 k( z7 R  m' X5 x$ U
#include <mach/mux.h>
# E& D. i6 }: H% s. g! u4 v5 M( N  R& f4 O4 I& ~2 Z" [) @) D8 o
#define DA850_USER_LED0        GPIO_TO_PIN(0, 0)
9 q# I9 Z5 `/ Z% _9 e#define DA850_USER_LED1        GPIO_TO_PIN(0, 5); E$ U! L! T  r
#define DA850_USER_LED2        GPIO_TO_PIN(0, 1)
5 T7 ^0 \! R6 L$ h2 E8 s0 b#define DA850_USER_LED3        GPIO_TO_PIN(0, 2)$ U3 W3 P) U& C/ B" Y- Q& g

1 @# L7 \: W4 l+ b/* assign the tl som board LED-GPIOs*// R$ q! n9 B. o' c
static const short da850_evm_tl_user_led_pins[] = {, r7 q& m: e& g0 d! S8 y- K; s
        /* These pins are definition at <mach/mux.h> file */
, A& n- A6 E3 {. p        DA850_GPIO0_0, DA850_GPIO0_1, DA850_GPIO0_2, DA850_GPIO0_5,
' z" f3 o& K; s8 _        -1& A/ w6 }, J! z- h  @* Z. t7 H
};) |+ B/ Y" p' j8 \5 P: t' I
: r6 d0 Y) T2 r% o
static struct gpio_led da850_evm_tl_leds[] = {1 x5 z' U7 p) _0 M
        {
: F  H7 D' V  Y& {$ B                .active_low = 0,
4 _5 b  o" c4 X4 b) U1 c: R                .gpio = DA850_USER_LED0,
+ W/ x$ f. j+ u% Y                .name = "user_led0",4 s. Q2 |* Z5 D" [3 b' M0 \
                .default_trigger = "default-on",
8 z0 ]& a  t" O$ y, n+ K        },' Q1 M! B' K0 x& V0 b4 o# j% c
        {
/ o1 O, H+ U/ x9 V                .active_low = 0,# Y" p7 p7 Q4 i. z+ w1 t" O
                .gpio = DA850_USER_LED1,0 V' p4 Q9 k5 ]; t. I; C
                .name = "user_led1",
! ?* I  [5 }. Z( M0 A4 c9 c                .default_trigger = "default-on",
. w/ `' j% [/ p: i        },6 ]' G0 G* q' X
        {
6 I8 j0 R9 H' \9 G' X9 w/ f0 F                .active_low = 0,
- V" a  l# E: U$ a' i2 A                .gpio = DA850_USER_LED2,
! J2 X  n1 x8 o2 E- I0 q                .name = "user_led2",
$ _% Z/ f5 N0 G9 M: |! O                .default_trigger = "default-on",
: u7 U/ s& L- E0 j9 I. V' }' m" m        },* f/ i, d& J3 i! x
        {. R+ L6 L1 o" y: U) ~: b* D
                .active_low = 0,. R. ]8 C1 q! Y+ ~
                .gpio = DA850_USER_LED3,
8 {. U; W6 b, s7 |' ], q                .name = "user_led3",
. J/ X/ V3 A; F( O2 v% H$ |                .default_trigger = "default-on",
& D, C+ W) u2 U        },
1 A# x4 L1 w# J};
- v4 O; k3 T- ~$ c
3 e, @; ^! @1 b) c2 U. @- `3 bstatic struct gpio_led_platform_data da850_evm_tl_leds_pdata = {
' z$ K2 ^8 U: g7 b; n$ U' v& O  A6 x        .leds = da850_evm_tl_leds,
) s! I+ W4 S- _% H) G! ]        .num_leds = ARRAY_SIZE(da850_evm_tl_leds),2 e/ X9 h: T% t$ |
};
2 w; w7 }2 B9 S
8 [' C2 T' ]8 d- x+ kstatic void led_dev_release(struct device *dev)8 [$ j+ p4 B! K% _, r
{
/ G2 W; _" [$ W8 d, W+ Y};0 q( X* T1 `7 \; g  X" X% x. p

( b/ V8 A9 Z2 f- A0 bstatic struct platform_device da850_evm_tl_leds_device = {
' r7 k. I$ B5 k7 ^        .name                = "leds-gpio",
/ s; G8 c$ j2 G2 L1 q        .id                = 1,5 i$ A9 T/ b  |0 W! T
        .dev = {
+ K; D; M6 J$ C! m' n5 S                .platform_data = &da850_evm_tl_leds_pdata,/ P  T8 t' ^% V* s
                .release = led_dev_release,
) E) Y5 y% K7 v4 }1 i7 `$ X6 B: s        }' o+ r$ P& @, J4 }# N. M5 d7 x- R
};5 A# p7 u: e' g" [" [' E

- U. g9 L0 V2 p+ q1 E/ h0 r. @static int __init led_platform_init(void)3 @$ L6 _3 Q; m/ f& \$ x- X
{
4 w5 D. v/ P- A  S        int ret;1 R8 {) K" O) D4 M  ?
#if 0
6 y, {. |5 s7 d# H( h* m        ret = davinci_cfg_reg_list(da850_evm_tl_user_led_pins);3 {/ `* N& ~( d, L( L* k: h
        if (ret)
; W% ]& L% K1 p+ E( q* X! t                pr_warning("da850_evm_tl_leds_init : User LED mux failed :", E( ^+ O4 W" n- ]+ V" C
                                "%d\n", ret);4 s% {3 }2 H) i2 y4 ~- Q
#endif
9 q! B1 n8 O( i. f; R        ret = platform_device_register(&da850_evm_tl_leds_device);
' f( m1 h+ [& V# ^1 t        if (ret)0 c2 _* y1 y; }% I0 i  g6 ]
                pr_warning("Could not register som GPIO expander LEDS");8 @( e& I: `$ H. v; b2 x* s* J3 u
        else
3 w8 n- C7 i( d2 ~  P! `1 H( z: Y                printk(KERN_INFO "LED register sucessful!\n");
1 i  a6 _" r2 L; T6 K- U# ?: L1 W$ k: ^; S9 U" |
        return ret;  V# r1 Y9 L! p0 {
}
+ S: H" z9 [( w- A" B2 `/ Z+ Z5 ]: O7 y7 t7 n
static void __exit led_platform_exit(void)) g2 l0 O, n( l  u
{( x# j6 o8 n5 c4 F
        platform_device_unregister(&da850_evm_tl_leds_device);! F+ `& M% T% y& L) c6 N2 a5 W/ V* L
; P$ E4 z' E3 g& Z9 E& D
        printk(KERN_INFO "LED unregister!\n");
6 V) {$ n- z% M) H, W2 Y}- H% m5 ^! @. q" V
/ G) i: A; j  Z% j, S
module_init(led_platform_init);! l3 s. M! v. z- j& L; @
module_exit(led_platform_exit);
1 C7 [* \/ h2 x# d) V* c( q% H) A& M' U
MODULE_DESCRIPTION("Led platform driver");
' r& c/ T7 h1 V  m8 {% S$ D3 GMODULE_AUTHOR("Tronlong");
  o' W1 E0 s6 K% j1 @' {MODULE_LICENSE("GPL");
% I; h. a9 }7 M8 c) b
) m9 q% d: v( T6 y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

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

本版积分规则


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

GMT+8, 2026-1-10 00:52 , Processed in 0.038133 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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