Merge tag 'libnvdimm-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdim...
[linux-2.6-microblaze.git] / Documentation / translations / zh_CN / iio / iio_configfs.rst
1 .. include:: ../disclaimer-zh_CN.rst
2
3 :Original: Documentation/iio/iio_configfs.rst
4
5 :翻译:
6
7  司延腾 Yanteng Si <siyanteng@loongson.cn>
8
9 .. _cn_iio_configfs:
10
11 =====================
12 工业 IIO configfs支持
13 =====================
14
15 1. 概述
16 =======
17
18 Configfs是一种内核对象的基于文件系统的管理系统,IIO使用一些可以通过
19 configfs轻松配置的对象(例如:设备,触发器)。
20
21 关于configfs是如何运行的,请查阅Documentation/filesystems/configfs.rst
22 了解更多信息。
23
24 2. 用法
25 =======
26 为了使configfs支持IIO,我们需要在编译时选中config的CONFIG_IIO_CONFIGFS
27 选项。
28
29 然后,挂载configfs文件系统(通常在 /config directory目录下)::
30
31   $ mkdir/config
32   $ mount -t configfs none/config
33
34 此时,将创建所有默认IIO组,并可以在/ config / iio下对其进行访问。 下一章
35 将介绍可用的IIO配置对象。
36
37 3. 软件触发器
38 =============
39
40 IIO默认configfs组之一是“触发器”组。 挂载configfs后可以自动访问它,并且可
41 以在/config/iio/triggers下找到。
42
43 IIO软件触发器为创建多种触发器类型提供了支持。 通常在include/linux/iio
44 /sw_trigger.h:中的接口下将新的触发器类型实现为单独的内核模块:
45 ::
46
47   /*
48    * drivers/iio/trigger/iio-trig-sample.c
49    * 一种新触发器类型的内核模块实例
50    */
51   #include <linux/iio/sw_trigger.h>
52
53
54   static struct iio_sw_trigger *iio_trig_sample_probe(const char *name)
55   {
56         /*
57          * 这将分配并注册一个IIO触发器以及其他触发器类型特性的初始化。
58          */
59   }
60
61   static int iio_trig_sample_remove(struct iio_sw_trigger *swt)
62   {
63         /*
64          * 这会废弃iio_trig_sample_probe中的操作
65          */
66   }
67
68   static const struct iio_sw_trigger_ops iio_trig_sample_ops = {
69         .probe          = iio_trig_sample_probe,
70         .remove         = iio_trig_sample_remove,
71   };
72
73   static struct iio_sw_trigger_type iio_trig_sample = {
74         .name = "trig-sample",
75         .owner = THIS_MODULE,
76         .ops = &iio_trig_sample_ops,
77   };
78
79 module_iio_sw_trigger_driver(iio_trig_sample);
80
81 每种触发器类型在/config/iio/triggers下都有其自己的目录。 加载iio-trig-sample
82 模块将创建“ trig-sample”触发器类型目录/config/iio/triggers/trig-sample.
83
84 我们支持以下中断源(触发器类型)
85
86         * hrtimer,使用高分辨率定时器作为中断源
87
88 3.1 Hrtimer触发器创建与销毁
89 ---------------------------
90
91 加载iio-trig-hrtimer模块将注册hrtimer触发器类型,从而允许用户在
92 /config/iio/triggers/hrtimer下创建hrtimer触发器。
93
94 例如::
95
96   $ mkdir /config/iio/triggers/hrtimer/instance1
97   $ rmdir /config/iio/triggers/hrtimer/instance1
98
99 每个触发器可以具有一个或多个独特的触发器类型的属性。
100
101 3.2 "hrtimer" 触发器类型属性
102 ----------------------------
103
104 "hrtimer”触发器类型没有来自/config dir的任何可配置属性。