File Index
Files and directories
Sign in
FILE

iio_configfs.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/translations/zh_CN/iio/iio_configfs.rst RESTRUCTUREDTEXT
  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
 151. 概述
 16=======
 17
 18Configfs是一种内核对象的基于文件系统的管理系统,IIO使用一些可以通过
 19configfs轻松配置的对象(例如:设备,触发器)。
 20
 21关于configfs是如何运行的,请查阅Documentation/filesystems/configfs.rst
 22了解更多信息。
 23
 242. 用法
 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
 373. 软件触发器
 38=============
 39
 40IIO默认configfs组之一是“触发器”组。挂载configfs后可以自动访问它,并且可
 41以在/config/iio/triggers下找到。
 42
 43IIO软件触发器为创建多种触发器类型提供了支持。通常在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
 883.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
1013.2 "hrtimer" 触发器类型属性
102----------------------------
103
104"hrtimer”触发器类型没有来自/config dir的任何可配置属性。
105它确实引入了触发目录的sampling_frequency属性。
106该属性以Hz为单位设置轮询频率,精度为mHz。
~/ Read-only file preview.