cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

iio_configfs.rst (2891B)


      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
     79module_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的任何可配置属性。