/linux/Documentation/translations/zh_CN/filesystems/ |
H A D | debugfs.rst | 5 :Original: Documentation/filesystems/debugfs.rst 24 信息。也不像sysfs,具有严格的“每个文件一个值“的规则。debugfs根本没有规则,开发 25 人员可以在这里放置他们想要的任何信息。debugfs文件系统也不能用作稳定的ABI接口。 26 从理论上讲,debugfs导出文件的时候没有任何约束。但是[1]实际情况并不总是那么 27 简单。即使是debugfs接口,也最好根据需要进行设计,并尽量保持接口不变。 32 mount -t debugfs none /sys/kernel/debug 35 debugfs根目录默认仅可由root用户访问。要更改对文件树的访问,请使用“ uid”,“ gid” 36 和“ mode”挂载选项。请注意,debugfs API仅按照GPL协议导出到模块。 38 使用debugfs的代码应包含<linux/debugfs.h>。然后,首先是创建至少一个目录来保存 39 一组debugfs文件:: [all …]
|
/linux/Documentation/translations/zh_TW/filesystems/ |
H A D | debugfs.rst | 5 :Original: Documentation/filesystems/debugfs.rst 25 信息。也不像sysfs,具有嚴格的“每個文件一個值“的規則。debugfs根本沒有規則,開發 26 人員可以在這裏放置他們想要的任何信息。debugfs文件系統也不能用作穩定的ABI接口。 27 從理論上講,debugfs導出文件的時候沒有任何約束。但是[1]實際情況並不總是那麼 28 簡單。即使是debugfs接口,也最好根據需要進行設計,並儘量保持接口不變。 33 mount -t debugfs none /sys/kernel/debug 36 debugfs根目錄默認僅可由root用戶訪問。要更改對文件樹的訪問,請使用“ uid”,“ gid” 37 和“ mode”掛載選項。請注意,debugfs API僅按照GPL協議導出到模塊。 39 使用debugfs的代碼應包含<linux/debugfs.h>。然後,首先是創建至少一個目錄來保存 40 一組debugfs文件:: [all …]
|
/linux/tools/testing/selftests/drivers/net/virtio_net/ |
H A D | virtio_net_common.sh | 62 local debugfs=`virtio_debugfs_get $dev` 64 if [ ! -f "$debugfs/device_features" ] || 65 [ ! -f "$debugfs/filter_feature_add" ] || 66 [ ! -f "$debugfs/filter_feature_del" ] || 67 [ ! -f "$debugfs/filter_features" ] || 68 [ ! -f "$debugfs/filter_features_clear" ]; then 78 local debugfs=`virtio_debugfs_get $dev` 80 cat $debugfs/device_features |grep "^$feature$" &> /dev/null 87 local debugfs=`virtio_debugfs_get $dev` 89 echo "1" > $debugfs/filter_features_clear [all …]
|
/linux/net/bluetooth/ |
H A D | hci_debugfs.c | 317 debugfs_create_file("features", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 319 debugfs_create_u16("manufacturer", 0444, hdev->debugfs, in hci_debugfs_create_common() 321 debugfs_create_u8("hci_version", 0444, hdev->debugfs, &hdev->hci_ver); in hci_debugfs_create_common() 322 debugfs_create_u16("hci_revision", 0444, hdev->debugfs, &hdev->hci_rev); in hci_debugfs_create_common() 323 debugfs_create_u8("hardware_error", 0444, hdev->debugfs, in hci_debugfs_create_common() 325 debugfs_create_file("device_id", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 328 debugfs_create_file("device_list", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 330 debugfs_create_file("blacklist", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 332 debugfs_create_file("blocked_keys", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 334 debugfs_create_file("uuids", 0444, hdev->debugfs, hdev, &uuids_fops); in hci_debugfs_create_common() [all …]
|
/linux/drivers/memory/tegra/ |
H A D | tegra186-emc.c | 33 } debugfs; member 97 *rate = emc->debugfs.min_rate; in tegra186_emc_debug_min_rate_get() 114 emc->debugfs.min_rate = rate; in tegra186_emc_debug_min_rate_set() 127 *rate = emc->debugfs.max_rate; in tegra186_emc_debug_max_rate_get() 144 emc->debugfs.max_rate = rate; in tegra186_emc_debug_max_rate_set() 177 emc->debugfs.min_rate = ULONG_MAX; in tegra186_emc_get_emc_dvfs_latency() 178 emc->debugfs.max_rate = 0; in tegra186_emc_get_emc_dvfs_latency() 192 if (emc->dvfs[i].rate < emc->debugfs.min_rate) in tegra186_emc_get_emc_dvfs_latency() 193 emc->debugfs.min_rate = emc->dvfs[i].rate; in tegra186_emc_get_emc_dvfs_latency() 195 if (emc->dvfs[i].rate > emc->debugfs.max_rate) in tegra186_emc_get_emc_dvfs_latency() [all …]
|
H A D | tegra20-emc.c | 213 } debugfs; member 847 *rate = emc->debugfs.min_rate; in tegra_emc_debug_min_rate_get() 864 emc->debugfs.min_rate = rate; in tegra_emc_debug_min_rate_set() 877 *rate = emc->debugfs.max_rate; in tegra_emc_debug_max_rate_get() 894 emc->debugfs.max_rate = rate; in tegra_emc_debug_max_rate_set() 909 emc->debugfs.min_rate = ULONG_MAX; in tegra_emc_debugfs_init() 910 emc->debugfs.max_rate = 0; in tegra_emc_debugfs_init() 913 if (emc->timings[i].rate < emc->debugfs.min_rate) in tegra_emc_debugfs_init() 914 emc->debugfs.min_rate = emc->timings[i].rate; in tegra_emc_debugfs_init() 916 if (emc->timings[i].rate > emc->debugfs.max_rate) in tegra_emc_debugfs_init() [all …]
|
H A D | tegra124-emc.c | 502 } debugfs; member 1182 *rate = emc->debugfs.min_rate; in tegra_emc_debug_min_rate_get() 1199 emc->debugfs.min_rate = rate; in tegra_emc_debug_min_rate_set() 1212 *rate = emc->debugfs.max_rate; in tegra_emc_debug_max_rate_get() 1229 emc->debugfs.max_rate = rate; in tegra_emc_debug_max_rate_set() 1243 emc->debugfs.min_rate = ULONG_MAX; in emc_debugfs_init() 1244 emc->debugfs.max_rate = 0; in emc_debugfs_init() 1247 if (emc->timings[i].rate < emc->debugfs.min_rate) in emc_debugfs_init() 1248 emc->debugfs.min_rate = emc->timings[i].rate; in emc_debugfs_init() 1250 if (emc->timings[i].rate > emc->debugfs.max_rate) in emc_debugfs_init() [all …]
|
H A D | tegra210-emc-core.c | 620 if (!emc->debugfs.temperature) in tegra210_emc_poll_refresh() 623 temperature = emc->debugfs.temperature; in tegra210_emc_poll_refresh() 1630 *rate = emc->debugfs.min_rate; in tegra210_emc_debug_min_rate_get() 1647 emc->debugfs.min_rate = rate; in tegra210_emc_debug_min_rate_set() 1660 *rate = emc->debugfs.max_rate; in tegra210_emc_debug_max_rate_get() 1677 emc->debugfs.max_rate = rate; in tegra210_emc_debug_max_rate_set() 1691 if (!emc->debugfs.temperature) in tegra210_emc_debug_temperature_get() 1694 value = emc->debugfs.temperature; in tegra210_emc_debug_temperature_get() 1708 emc->debugfs.temperature = temperature; in tegra210_emc_debug_temperature_set() 1723 emc->debugfs.min_rate = ULONG_MAX; in tegra210_emc_debugfs_init() [all …]
|
/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_debugfs.c | 75 struct nouveau_debugfs *debugfs = nouveau_debugfs(drm); in nouveau_debugfs_pstate_get() local 80 if (!debugfs) in nouveau_debugfs_pstate_get() 83 ctrl = &debugfs->ctrl; in nouveau_debugfs_pstate_get() 147 struct nouveau_debugfs *debugfs = nouveau_debugfs(drm); in nouveau_debugfs_pstate_set() local 152 if (!debugfs) in nouveau_debugfs_pstate_set() 191 ret = nvif_mthd(&debugfs->ctrl, NVIF_CONTROL_PSTATE_USER, in nouveau_debugfs_pstate_set() 298 drm->debugfs = kzalloc(sizeof(*drm->debugfs), GFP_KERNEL); in nouveau_debugfs_init() 299 if (!drm->debugfs) in nouveau_debugfs_init() 304 &drm->debugfs->ctrl); in nouveau_debugfs_init() 310 if (drm->debugfs && drm->debugfs->ctrl.priv) in nouveau_debugfs_fini() [all …]
|
/linux/arch/sh/mm/ |
H A D | Makefile | 24 debugfs-y := asids-debugfs.o 26 debugfs-$(CONFIG_CPU_SH4) += cache-debugfs.o 30 debugfs-$(CONFIG_CPU_SH4) += tlb-debugfs.o 37 obj-$(CONFIG_DEBUG_FS) += $(debugfs-y)
|
/linux/Documentation/filesystems/ |
H A D | debugfs.rst | 13 debugfs has no rules at all. Developers can put any information they want 14 there. The debugfs filesystem is also intended to not serve as a stable 17 even debugfs interfaces are best designed with the idea that they will need 22 mount -t debugfs none /sys/kernel/debug 25 The debugfs root directory is accessible only to the root user by 29 Note that the debugfs API is exported GPL-only to modules. 31 Code using debugfs should include <linux/debugfs.h>. Then, the first order 33 debugfs files:: 39 created in the debugfs root. On success, the return value is a struct 43 indication that the kernel has been built without debugfs support and none [all …]
|
/linux/Documentation/translations/zh_CN/admin-guide/mm/damon/ |
H A D | usage.rst | 31 - *debugfs interface.* 338 debugfs接口 343 DAMON debugfs接口将在下一个LTS内核发布后被移除,所以用户应该转移到 348 ``rm_contexts`` under its debugfs directory, ``<debugfs>/damon/``. 358 # cd <debugfs>/damon 372 # cd <debugfs>/damon 380 # cd <debugfs>/damon 408 # cd <debugfs>/damon 427 用户可以通过读取和写入 ``scheme`` debugfs文件来获得和设置这些方案。读取该文件还可以显示每个 513 # cd <debugfs>/damon [all …]
|
/linux/Documentation/translations/zh_TW/admin-guide/mm/damon/ |
H A D | usage.rst | 31 - *debugfs interface.* 338 debugfs接口 343 DAMON debugfs接口將在下一個LTS內核發佈後被移除,所以用戶應該轉移到 348 ``rm_contexts`` under its debugfs directory, ``<debugfs>/damon/``. 358 # cd <debugfs>/damon 372 # cd <debugfs>/damon 380 # cd <debugfs>/damon 408 # cd <debugfs>/damon 427 用戶可以通過讀取和寫入 ``scheme`` debugfs文件來獲得和設置這些方案。讀取該文件還可以顯示每個 513 # cd <debugfs>/damon [all …]
|
/linux/drivers/vdpa/mlx5/net/ |
H A D | debug.c | 20 if (ndev->debugfs) in mlx5_vdpa_remove_tirn() 42 if (ndev->debugfs) in mlx5_vdpa_remove_rx_flow_table() 133 if (node->dent && ndev->debugfs) in mlx5_vdpa_remove_rx_counters() 143 ndev->debugfs = debugfs_create_dir(dev_name(&ndev->mvdev.vdev.dev), in mlx5_vdpa_add_debugfs() 145 if (!IS_ERR(ndev->debugfs)) in mlx5_vdpa_add_debugfs() 146 ndev->rx_dent = debugfs_create_dir("rx", ndev->debugfs); in mlx5_vdpa_add_debugfs() 151 debugfs_remove_recursive(ndev->debugfs); in mlx5_vdpa_remove_debugfs() 152 ndev->debugfs = NULL; in mlx5_vdpa_remove_debugfs()
|
/linux/drivers/soundwire/ |
H A D | intel_ace2x_debugfs.c | 124 struct dentry *root = sdw->cdns.bus.debugfs; in intel_ace2x_debugfs_init() 129 sdw->debugfs = debugfs_create_dir("intel-sdw", root); in intel_ace2x_debugfs_init() 131 debugfs_create_file("intel-registers", 0400, sdw->debugfs, sdw, in intel_ace2x_debugfs_init() 134 debugfs_create_file("intel-m-datamode", 0200, sdw->debugfs, sdw, in intel_ace2x_debugfs_init() 137 debugfs_create_file("intel-s-datamode", 0200, sdw->debugfs, sdw, in intel_ace2x_debugfs_init() 140 sdw_cdns_debugfs_init(&sdw->cdns, sdw->debugfs); in intel_ace2x_debugfs_init() 145 debugfs_remove_recursive(sdw->debugfs); in intel_ace2x_debugfs_exit()
|
/linux/Documentation/fault-injection/ |
H A D | provoke-crashes.rst | 12 support via debugfs. 16 inserting the module, or through the debugfs interface. 36 These are numerous, and best queried directly from debugfs. Some 46 You can also induce failures by mounting debugfs and writing the type to 47 <debugfs>/provoke-crash/<crashpoint>. E.g.:: 49 mount -t debugfs debugfs /sys/kernel/debug
|
/linux/Documentation/gpu/amdgpu/ |
H A D | ras.rst | 6 debugfs (for error injection). 8 RAS debugfs/sysfs Control and Error Injection Interfaces 12 :doc: AMDGPU RAS debugfs control interface 26 RAS EEPROM debugfs Interface 30 :doc: AMDGPU RAS debugfs EEPROM table reset interface 48 The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs fil…
|
/linux/Documentation/dev-tools/kunit/ |
H A D | run_manual.rst | 52 debugfs chapter 55 KUnit can be accessed from userspace via the debugfs filesystem (See more 56 information about debugfs at Documentation/filesystems/debugfs.rst). 58 If ``CONFIG_KUNIT_DEBUGFS`` is enabled, the KUnit debugfs filesystem is 65 You can use debugfs to retrieve KUnit test results. The test results are 66 accessible from the debugfs filesystem in the following read-only file: 78 You can use the debugfs filesystem to trigger built-in tests to run after 84 echo "any string" > /sys/kernel/debugfs/kunit/<test_suite>/run
|
/linux/drivers/net/wireless/ti/wl1251/ |
H A D | debugfs.c | 41 wl->debugfs.name = debugfs_create_file(#name, 0400, parent, \ 46 debugfs_remove(wl->debugfs.name); \ 47 wl->debugfs.name = NULL; \ 73 DEBUGFS_ADD(sub## _ ##name, wl->debugfs.fw_statistics) 431 DEBUGFS_ADD(tx_queue_len, wl->debugfs.rootdir); in wl1251_debugfs_add_files() 432 DEBUGFS_ADD(tx_queue_status, wl->debugfs.rootdir); in wl1251_debugfs_add_files() 433 DEBUGFS_ADD(retry_count, wl->debugfs.rootdir); in wl1251_debugfs_add_files() 434 DEBUGFS_ADD(excessive_retries, wl->debugfs.rootdir); in wl1251_debugfs_add_files() 451 wl->debugfs.rootdir = debugfs_create_dir(KBUILD_MODNAME, NULL); in wl1251_debugfs_init() 453 wl->debugfs.fw_statistics = debugfs_create_dir("fw-statistics", in wl1251_debugfs_init() [all …]
|
/linux/drivers/misc/cxl/ |
H A D | debugfs.c | 67 adapter->debugfs = dir; in cxl_debugfs_adapter_add() 77 debugfs_remove_recursive(adapter->debugfs); in cxl_debugfs_adapter_remove() 101 if (!afu->adapter->debugfs) in cxl_debugfs_afu_add() 105 dir = debugfs_create_dir(buf, afu->adapter->debugfs); in cxl_debugfs_afu_add() 106 afu->debugfs = dir; in cxl_debugfs_afu_add() 120 debugfs_remove_recursive(afu->debugfs); in cxl_debugfs_afu_remove()
|
/linux/drivers/hwspinlock/ |
H A D | sun6i_hwspinlock.c | 33 struct dentry *debugfs; member 51 priv->debugfs = debugfs_create_dir(DRIVER_NAME, NULL); in sun6i_hwspinlock_debugfs_init() 52 debugfs_create_file("supported", 0444, priv->debugfs, priv, &hwlocks_supported_fops); in sun6i_hwspinlock_debugfs_init() 86 debugfs_remove_recursive(priv->debugfs); in sun6i_hwspinlock_disable() 171 if (IS_ERR(priv->debugfs)) in sun6i_hwspinlock_probe() 172 priv->debugfs = NULL; in sun6i_hwspinlock_probe()
|
/linux/drivers/media/platform/amphion/ |
H A D | vpu_dbg.c | 430 if (!vpu->debugfs) in vpu_inst_create_dbgfs_file() 433 if (inst->debugfs) in vpu_inst_create_dbgfs_file() 437 inst->debugfs = debugfs_create_file((const char *)name, in vpu_inst_create_dbgfs_file() 439 vpu->debugfs, in vpu_inst_create_dbgfs_file() 451 debugfs_remove(inst->debugfs); in vpu_inst_remove_dbgfs_file() 452 inst->debugfs = NULL; in vpu_inst_remove_dbgfs_file() 466 if (!vpu->debugfs) in vpu_core_create_dbgfs_file() 469 if (!core->debugfs) { in vpu_core_create_dbgfs_file() 471 core->debugfs = debugfs_create_file((const char *)name, in vpu_core_create_dbgfs_file() 473 vpu->debugfs, in vpu_core_create_dbgfs_file() [all …]
|
/linux/drivers/gpu/drm/i915/gvt/ |
H A D | debugfs.c | 179 vgpu->debugfs = debugfs_create_dir(name, vgpu->gvt->debugfs_root); in intel_gvt_debugfs_add_vgpu() 181 debugfs_create_file("mmio_diff", 0444, vgpu->debugfs, vgpu, in intel_gvt_debugfs_add_vgpu() 183 debugfs_create_file_unsafe("scan_nonprivbb", 0644, vgpu->debugfs, vgpu, in intel_gvt_debugfs_add_vgpu() 185 debugfs_create_file_unsafe("status", 0644, vgpu->debugfs, vgpu, in intel_gvt_debugfs_add_vgpu() 199 debugfs_remove_recursive(vgpu->debugfs); in intel_gvt_debugfs_remove_vgpu() 200 vgpu->debugfs = NULL; in intel_gvt_debugfs_remove_vgpu()
|
/linux/Documentation/admin-guide/mm/ |
H A D | cma_debugfs.rst | 5 The CMA debugfs interface is useful to retrieve basic information out of the 8 Each CMA area represents a directory under <debugfs>/cma/, represented by 11 <debugfs>/cma/<cma_name> 21 echo 5 > <debugfs>/cma/<cma_name>/alloc
|
/linux/drivers/hwmon/ |
H A D | sg2042-mcu.c | 53 struct dentry *debugfs; member 298 mcu->debugfs = debugfs_create_dir(dev_name(dev), sgmcu_debugfs); in sg2042_mcu_debugfs_init() 300 debugfs_create_file("firmware_version", 0444, mcu->debugfs, in sg2042_mcu_debugfs_init() 302 debugfs_create_file("pcb_version", 0444, mcu->debugfs, mcu, in sg2042_mcu_debugfs_init() 304 debugfs_create_file("mcu_type", 0444, mcu->debugfs, mcu, in sg2042_mcu_debugfs_init() 306 debugfs_create_file("board_type", 0444, mcu->debugfs, mcu, in sg2042_mcu_debugfs_init() 345 debugfs_remove_recursive(mcu->debugfs); in sg2042_mcu_i2c_remove()
|