aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/zh_CN/gpio.txt
diff options
context:
space:
mode:
authorTekkaman Ninja <tekkamanninja@gmail.com>2012-09-16 12:53:31 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-26 16:12:32 -0400
commit1980a347a71693a41663a1780c2da869174a0025 (patch)
tree542099043dd71411dd2e0a6504ce63cc3ddb6c78 /Documentation/zh_CN/gpio.txt
parent0a4dfa28f403f47a5aeb68394541fa1866de4922 (diff)
Documentation: Fixes some translation error in Documentation/zh_CN/gpio.txt
Fixes some translation error in Documentation/zh_CN/gpio.txt The modification is based on Dong Aisheng <b29396@freescale.com>'s corrections: 1.Two "OUTPUT" is incorrectly translated as "输入"; 2.five improvement of translation; 3.Delete a redundant paragraph, Signed-off-by: Fu Wei <tekkamanninja@gmail.com> Acked-by: Harry Wei <harryxiyou@gmail.com> Acked-by: Dong Aisheng <b29396@freescale.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation/zh_CN/gpio.txt')
-rw-r--r--Documentation/zh_CN/gpio.txt32
1 files changed, 14 insertions, 18 deletions
diff --git a/Documentation/zh_CN/gpio.txt b/Documentation/zh_CN/gpio.txt
index 04843872b507..4fa7b4e6f856 100644
--- a/Documentation/zh_CN/gpio.txt
+++ b/Documentation/zh_CN/gpio.txt
@@ -129,10 +129,10 @@ FPGA 的特定板子上使用 80-95。编号不一定要连续,那些平台中
129使用 GPIO 129使用 GPIO
130--------- 130---------
131对于一个 GPIO,系统应该做的第一件事情就是通过 gpio_request() 131对于一个 GPIO,系统应该做的第一件事情就是通过 gpio_request()
132函数分配,见下文。 132函数分配,见下文。
133 133
134接下来要做的方向,这通常是在板级启动代码中为 GPIO 设置 134接下来是I/O方向,这通常是在板级启动代码中为所使用的 GPIO 设置
135一个 platform_device 时 135platform_device 时
136 136
137 /* 设置为输入或输出, 返回 0 或负的错误代码 */ 137 /* 设置为输入或输出, 返回 0 或负的错误代码 */
138 int gpio_direction_input(unsigned gpio); 138 int gpio_direction_input(unsigned gpio);
@@ -167,17 +167,18 @@ get/set(获取/设置)函数调用没法返回错误,且有可能是配置错误
167 /* GPIO 输入:返回零或非零 */ 167 /* GPIO 输入:返回零或非零 */
168 int gpio_get_value(unsigned gpio); 168 int gpio_get_value(unsigned gpio);
169 169
170 /* GPIO 输 */ 170 /* GPIO 输 */
171 void gpio_set_value(unsigned gpio, int value); 171 void gpio_set_value(unsigned gpio, int value);
172 172
173是布尔值,零表示低电平,非零表示高电平。当读取一个输出引脚的值时, 173GPIO值是布尔值,零表示低电平,非零表示高电平。当读取一个输出引脚的值时,
174返回值应该是引脚上的值。这个值不总是和输出值相符,因为存在开漏输出信号和 174返回值应该是引脚上的值。这个值不总是和输出值相符,因为存在开漏输出信号和
175输出潜伏问题。 175输出问题。
176 176
177以上的 get/set 函数不会对早期已经通过 gpio_direction_*()报告“无效的 177以上的 get/set 函数无错误返回值,因为之前 gpio_direction_*()应已检查过
178GPIO”返回错误。此外,还需要注意的是并不是所有平台都可以从输出引脚中读取 178其是否为“无效GPIO”。此外,还需要注意的是并不是所有平台都可以从输出引脚
179数据的,那些引脚也不总是返回零。且对那些无法安全访问(可能会休眠)的 GPIO 179中读取数据,对于不能读取的引脚应总返回零。另外,对那些在原子上下文中无法
180(见下文)使用这些函数是错误的。 180安全访问的 GPIO (译者注:因为访问可能导致休眠)使用这些函数是不合适的
181(见下文)。
181 182
182在 GPIO 编号(还有输出、值)为常数的情况下,鼓励通过平台特定的实现来优化 183在 GPIO 编号(还有输出、值)为常数的情况下,鼓励通过平台特定的实现来优化
183这两个函数来访问 GPIO 值。这种情况(读写一个硬件寄存器)下只需要几条指令 184这两个函数来访问 GPIO 值。这种情况(读写一个硬件寄存器)下只需要几条指令
@@ -202,7 +203,7 @@ GPIO 值的命令需要等待其信息排到队首才发送命令,再获得其
202 /* GPIO 输入:返回零或非零 ,可能会休眠 */ 203 /* GPIO 输入:返回零或非零 ,可能会休眠 */
203 int gpio_get_value_cansleep(unsigned gpio); 204 int gpio_get_value_cansleep(unsigned gpio);
204 205
205 /* GPIO 输,可能会休眠 */ 206 /* GPIO 输,可能会休眠 */
206 void gpio_set_value_cansleep(unsigned gpio, int value); 207 void gpio_set_value_cansleep(unsigned gpio, int value);
207 208
208 209
@@ -247,7 +248,7 @@ GPIO 值的命令需要等待其信息排到队首才发送命令,再获得其
247进入进程之前是可以申请的。 248进入进程之前是可以申请的。
248 249
249这个函数完成两个基本的目标。一是标识那些实际上已作为 GPIO 使用的信号线, 250这个函数完成两个基本的目标。一是标识那些实际上已作为 GPIO 使用的信号线,
250这样便于更好地诊断;系统可能需要服务几百个的 GPIO,但是对于任何一个 251这样便于更好地诊断;系统可能需要服务几百个的 GPIO,但是对于任何一个
251给定的电路板通常只有一些被使用。另一个目的是捕获冲突,查明错误:如两个或 252给定的电路板通常只有一些被使用。另一个目的是捕获冲突,查明错误:如两个或
252更多驱动错误地认为他们已经独占了某个信号线,或是错误地认为移除一个管理着 253更多驱动错误地认为他们已经独占了某个信号线,或是错误地认为移除一个管理着
253某个已激活信号的驱动是安全的。也就是说,申请 GPIO 的作用类似一种锁机制。 254某个已激活信号的驱动是安全的。也就是说,申请 GPIO 的作用类似一种锁机制。
@@ -381,11 +382,6 @@ irq_to_gpio()返回的非错误值大多数通常可以被 gpio_get_value()所
381比如在 IRQ 是沿触发时初始化或更新驱动状态。注意某些平台不支持反映射,所以 382比如在 IRQ 是沿触发时初始化或更新驱动状态。注意某些平台不支持反映射,所以
382你应该尽量避免使用它。 383你应该尽量避免使用它。
383 384
384它们的返回值为对应命名空间的相关编号,或是负的错误代码(如果无法映射)。
385(例如,某些 GPIO 无法做为 IRQ 使用。)以下的编号错误是未经检测的:
386使用一个未通过 gpio_direction_input()配置为输入的 GPIO 编号,
387或者使用一个并非来源于gpio_to_irq()的 IRQ 编号。
388
389 385
390模拟开漏信号 386模拟开漏信号
391---------------------------- 387----------------------------
@@ -500,7 +496,7 @@ ARCH_WANT_OPTIONAL_GPIOLIB 意味着 gpiolib 核心默认关闭,且用户可以
500 #define gpio_cansleep __gpio_cansleep 496 #define gpio_cansleep __gpio_cansleep
501 497
502这些定义可以用更理想的实现方法替代,那就是使用经过逻辑优化的内联函数来访问 498这些定义可以用更理想的实现方法替代,那就是使用经过逻辑优化的内联函数来访问
503基于特定片上系统的 GPIO。例如,若引用 GPIO (寄存器)是常量“12”, 499基于特定片上系统的 GPIO。例如,若引用 GPIO (寄存器)是常量“12”,
504读取或设置它可能只需少则两或三个指令,且不会休眠。当这样的优化无法实现时, 500读取或设置它可能只需少则两或三个指令,且不会休眠。当这样的优化无法实现时,
505那些函数必须使用框架提供的代码,那就至少要几十条指令才可以实现。对于用 GPIO 501那些函数必须使用框架提供的代码,那就至少要几十条指令才可以实现。对于用 GPIO
506模拟的 I/O 接口, 如此精简指令是很有意义的。 502模拟的 I/O 接口, 如此精简指令是很有意义的。