/kernel/linux/linux-5.10/Documentation/translations/zh_CN/filesystems/ |
D | debugfs.rst | 5 :Original: :doc:`../../../filesystems/debugfs` 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 …]
|
/kernel/linux/linux-5.10/drivers/memory/tegra/ |
D | tegra186-emc.c | 31 } debugfs; member 106 *rate = emc->debugfs.min_rate; in tegra186_emc_debug_min_rate_get() 123 emc->debugfs.min_rate = rate; in tegra186_emc_debug_min_rate_set() 136 *rate = emc->debugfs.max_rate; in tegra186_emc_debug_max_rate_get() 153 emc->debugfs.max_rate = rate; in tegra186_emc_debug_max_rate_set() 201 emc->debugfs.min_rate = ULONG_MAX; in tegra186_emc_probe() 202 emc->debugfs.max_rate = 0; in tegra186_emc_probe() 219 if (emc->dvfs[i].rate < emc->debugfs.min_rate) in tegra186_emc_probe() 220 emc->debugfs.min_rate = emc->dvfs[i].rate; in tegra186_emc_probe() 222 if (emc->dvfs[i].rate > emc->debugfs.max_rate) in tegra186_emc_probe() [all …]
|
D | tegra20-emc.c | 158 } debugfs; member 553 *rate = emc->debugfs.min_rate; in tegra_emc_debug_min_rate_get() 570 emc->debugfs.min_rate = rate; in tegra_emc_debug_min_rate_set() 583 *rate = emc->debugfs.max_rate; in tegra_emc_debug_max_rate_get() 600 emc->debugfs.max_rate = rate; in tegra_emc_debug_max_rate_set() 615 emc->debugfs.min_rate = ULONG_MAX; in tegra_emc_debugfs_init() 616 emc->debugfs.max_rate = 0; in tegra_emc_debugfs_init() 619 if (emc->timings[i].rate < emc->debugfs.min_rate) in tegra_emc_debugfs_init() 620 emc->debugfs.min_rate = emc->timings[i].rate; in tegra_emc_debugfs_init() 622 if (emc->timings[i].rate > emc->debugfs.max_rate) in tegra_emc_debugfs_init() [all …]
|
D | tegra124-emc.c | 483 } debugfs; member 1069 *rate = emc->debugfs.min_rate; in tegra_emc_debug_min_rate_get() 1086 emc->debugfs.min_rate = rate; in tegra_emc_debug_min_rate_set() 1099 *rate = emc->debugfs.max_rate; in tegra_emc_debug_max_rate_get() 1116 emc->debugfs.max_rate = rate; in tegra_emc_debug_max_rate_set() 1139 emc->debugfs.min_rate = ULONG_MAX; in emc_debugfs_init() 1140 emc->debugfs.max_rate = 0; in emc_debugfs_init() 1143 if (emc->timings[i].rate < emc->debugfs.min_rate) in emc_debugfs_init() 1144 emc->debugfs.min_rate = emc->timings[i].rate; in emc_debugfs_init() 1146 if (emc->timings[i].rate > emc->debugfs.max_rate) in emc_debugfs_init() [all …]
|
D | tegra30-emc.c | 354 } debugfs; member 1159 *rate = emc->debugfs.min_rate; in tegra_emc_debug_min_rate_get() 1176 emc->debugfs.min_rate = rate; in tegra_emc_debug_min_rate_set() 1189 *rate = emc->debugfs.max_rate; in tegra_emc_debug_max_rate_get() 1206 emc->debugfs.max_rate = rate; in tegra_emc_debug_max_rate_set() 1221 emc->debugfs.min_rate = ULONG_MAX; in tegra_emc_debugfs_init() 1222 emc->debugfs.max_rate = 0; in tegra_emc_debugfs_init() 1225 if (emc->timings[i].rate < emc->debugfs.min_rate) in tegra_emc_debugfs_init() 1226 emc->debugfs.min_rate = emc->timings[i].rate; in tegra_emc_debugfs_init() 1228 if (emc->timings[i].rate > emc->debugfs.max_rate) in tegra_emc_debugfs_init() [all …]
|
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() 1643 *rate = emc->debugfs.min_rate; in tegra210_emc_debug_min_rate_get() 1660 emc->debugfs.min_rate = rate; in tegra210_emc_debug_min_rate_set() 1673 *rate = emc->debugfs.max_rate; in tegra210_emc_debug_max_rate_get() 1690 emc->debugfs.max_rate = rate; in tegra210_emc_debug_max_rate_set() 1704 if (!emc->debugfs.temperature) in tegra210_emc_debug_temperature_get() 1707 value = emc->debugfs.temperature; in tegra210_emc_debug_temperature_get() 1721 emc->debugfs.temperature = temperature; in tegra210_emc_debug_temperature_set() 1736 emc->debugfs.min_rate = ULONG_MAX; in tegra210_emc_debugfs_init() [all …]
|
/kernel/linux/linux-5.10/net/bluetooth/ |
D | hci_debugfs.c | 312 debugfs_create_file("features", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 314 debugfs_create_u16("manufacturer", 0444, hdev->debugfs, in hci_debugfs_create_common() 316 debugfs_create_u8("hci_version", 0444, hdev->debugfs, &hdev->hci_ver); in hci_debugfs_create_common() 317 debugfs_create_u16("hci_revision", 0444, hdev->debugfs, &hdev->hci_rev); in hci_debugfs_create_common() 318 debugfs_create_u8("hardware_error", 0444, hdev->debugfs, in hci_debugfs_create_common() 320 debugfs_create_file("device_id", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 323 debugfs_create_file("device_list", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 325 debugfs_create_file("blacklist", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 327 debugfs_create_file("blocked_keys", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common() 329 debugfs_create_file("uuids", 0444, hdev->debugfs, hdev, &uuids_fops); in hci_debugfs_create_common() [all …]
|
/kernel/linux/linux-5.10/net/mac80211/ |
D | debugfs_key.c | 321 debugfs_create_file(#name, 0400, key->debugfs.dir, \ 324 debugfs_create_file(#name, 0600, key->debugfs.dir, \ 333 if (!key->local->debugfs.keys) in ieee80211_debugfs_key_add() 337 key->debugfs.cnt = keycount; in ieee80211_debugfs_key_add() 339 key->debugfs.dir = debugfs_create_dir(buf, in ieee80211_debugfs_key_add() 340 key->local->debugfs.keys); in ieee80211_debugfs_key_add() 346 key->debugfs.stalink = in ieee80211_debugfs_key_add() 347 debugfs_create_symlink("station", key->debugfs.dir, buf); in ieee80211_debugfs_key_add() 369 debugfs_remove_recursive(key->debugfs.dir); in ieee80211_debugfs_key_remove() 370 key->debugfs.dir = NULL; in ieee80211_debugfs_key_remove() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
D | nouveau_debugfs.c | 75 struct nouveau_debugfs *debugfs = nouveau_debugfs(drm); in nouveau_debugfs_pstate_get() local 76 struct nvif_object *ctrl = &debugfs->ctrl; in nouveau_debugfs_pstate_get() 80 if (!debugfs) in nouveau_debugfs_pstate_get() 146 struct nouveau_debugfs *debugfs = nouveau_debugfs(drm); in nouveau_debugfs_pstate_set() local 147 struct nvif_object *ctrl = &debugfs->ctrl; in nouveau_debugfs_pstate_set() 152 if (!debugfs) in nouveau_debugfs_pstate_set() 260 drm->debugfs = kzalloc(sizeof(*drm->debugfs), GFP_KERNEL); in nouveau_debugfs_init() 261 if (!drm->debugfs) in nouveau_debugfs_init() 266 &drm->debugfs->ctrl); in nouveau_debugfs_init() 276 if (drm->debugfs && drm->debugfs->ctrl.priv) in nouveau_debugfs_fini() [all …]
|
/kernel/linux/linux-5.10/arch/sh/mm/ |
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)
|
/kernel/linux/linux-5.10/Documentation/filesystems/ |
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 …]
|
D | api-summary.rst | 134 The debugfs filesystem 137 debugfs interface 140 .. kernel-doc:: fs/debugfs/inode.c 143 .. kernel-doc:: fs/debugfs/file.c
|
/kernel/linux/linux-5.10/Documentation/admin-guide/ |
D | dynamic-debug-howto.rst | 39 * Provides a debugfs control file: ``<debugfs>/dynamic_debug/control`` 47 control file in the 'debugfs' filesystem. Thus, you must first mount 48 the debugfs filesystem, in order to make use of this feature. 50 ``<debugfs>/dynamic_debug/control``. For example, if you want to enable 54 <debugfs>/dynamic_debug/control 59 <debugfs>/dynamic_debug/control 62 Note, for systems without 'debugfs' enabled, the control file can be 71 nullarbor:~ # cat <debugfs>/dynamic_debug/control 83 nullarbor:~ # grep -i rdma <debugfs>/dynamic_debug/control | wc -l 86 nullarbor:~ # grep -i tcp <debugfs>/dynamic_debug/control | wc -l [all …]
|
/kernel/linux/linux-5.10/Documentation/fault-injection/ |
D | provoke-crashes.rst | 12 support via debugfs. 16 inserting the module, or through the debugfs interface. 37 These are numerous, and best queried directly from debugfs. Some 47 You can also induce failures by mounting debugfs and writing the type to 48 <debugfs>/provoke-crash/<crashpoint>. E.g.:: 50 mount -t debugfs debugfs /sys/kernel/debug
|
/kernel/linux/linux-5.10/drivers/misc/cxl/ |
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()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gvt/ |
D | debugfs.c | 163 vgpu->debugfs = debugfs_create_dir(name, vgpu->gvt->debugfs_root); in intel_gvt_debugfs_add_vgpu() 165 debugfs_create_bool("active", 0444, vgpu->debugfs, &vgpu->active); in intel_gvt_debugfs_add_vgpu() 166 debugfs_create_file("mmio_diff", 0444, vgpu->debugfs, vgpu, in intel_gvt_debugfs_add_vgpu() 168 debugfs_create_file("scan_nonprivbb", 0644, vgpu->debugfs, vgpu, in intel_gvt_debugfs_add_vgpu() 182 debugfs_remove_recursive(vgpu->debugfs); in intel_gvt_debugfs_remove_vgpu() 183 vgpu->debugfs = NULL; in intel_gvt_debugfs_remove_vgpu()
|
/kernel/linux/linux-5.10/drivers/net/wireless/ti/wl1251/ |
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 …]
|
/kernel/linux/linux-5.10/Documentation/admin-guide/mm/ |
D | cma_debugfs.rst | 5 The CMA debugfs interface is useful to retrieve basic information out of the 8 Each CMA zone represents a directory under <debugfs>/cma/, indexed by the 11 <debugfs>/cma/cma-0 21 echo 5 > <debugfs>/cma/cma-2/alloc
|
/kernel/linux/linux-5.10/drivers/usb/chipidea/ |
D | debug.c | 345 ci->debugfs = debugfs_create_dir(dev_name(ci->dev), usb_debug_root); in dbg_create_files() 347 debugfs_create_file("device", S_IRUGO, ci->debugfs, ci, in dbg_create_files() 349 debugfs_create_file("port_test", S_IRUGO | S_IWUSR, ci->debugfs, ci, in dbg_create_files() 351 debugfs_create_file("qheads", S_IRUGO, ci->debugfs, ci, in dbg_create_files() 353 debugfs_create_file("requests", S_IRUGO, ci->debugfs, ci, in dbg_create_files() 357 debugfs_create_file("otg", S_IRUGO, ci->debugfs, ci, in dbg_create_files() 361 debugfs_create_file("role", S_IRUGO | S_IWUSR, ci->debugfs, ci, in dbg_create_files() 363 debugfs_create_file("registers", S_IRUGO, ci->debugfs, ci, in dbg_create_files() 373 debugfs_remove_recursive(ci->debugfs); in dbg_remove_files()
|
/kernel/linux/linux-5.10/drivers/soundwire/ |
D | debugfs.c | 23 bus->debugfs = debugfs_create_dir(name, sdw_debugfs_root); in sdw_bus_debugfs_init() 28 debugfs_remove_recursive(bus->debugfs); in sdw_bus_debugfs_exit() 127 master = slave->bus->debugfs; in sdw_slave_debugfs_init() 135 slave->debugfs = d; in sdw_slave_debugfs_init() 140 debugfs_remove_recursive(slave->debugfs); in sdw_slave_debugfs_exit()
|
/kernel/linux/linux-5.10/drivers/video/fbdev/omap2/omapfb/dss/ |
D | Kconfig | 16 appropriate flags in <debugfs>/dynamic_debug/control. 22 This enables debugfs for OMAPDSS at <debugfs>/omapdss. This enables 30 Collect DSS IRQ statistics, printable via debugfs. 33 <debugfs>/omapdss/dispc_irq for DISPC interrupts, and 34 <debugfs>/omapdss/dsi_irq for DSI interrupts.
|
/kernel/linux/linux-5.10/fs/debugfs/ |
D | Makefile | 2 debugfs-objs := inode.o file.o 4 obj-$(CONFIG_DEBUG_FS) += debugfs.o
|
/kernel/linux/linux-5.10/drivers/gpu/drm/omapdrm/dss/ |
D | Kconfig | 25 appropriate flags in <debugfs>/dynamic_debug/control. 32 This enables debugfs for OMAPDSS at <debugfs>/omapdss. This enables 41 Collect DSS IRQ statistics, printable via debugfs. 44 <debugfs>/omapdss/dispc_irq for DISPC interrupts, and 45 <debugfs>/omapdss/dsi_irq for DSI interrupts.
|
/kernel/linux/linux-5.10/drivers/base/regmap/ |
D | regmap-debugfs.c | 606 map->debugfs = debugfs_create_dir(name, regmap_debugfs_root); in regmap_debugfs_init() 608 debugfs_create_file("name", 0400, map->debugfs, in regmap_debugfs_init() 611 debugfs_create_file("range", 0400, map->debugfs, in regmap_debugfs_init() 623 debugfs_create_file("registers", registers_mode, map->debugfs, in regmap_debugfs_init() 625 debugfs_create_file("access", 0400, map->debugfs, in regmap_debugfs_init() 630 debugfs_create_file("cache_only", 0600, map->debugfs, in regmap_debugfs_init() 632 debugfs_create_bool("cache_dirty", 0400, map->debugfs, in regmap_debugfs_init() 634 debugfs_create_file("cache_bypass", 0600, map->debugfs, in regmap_debugfs_init() 645 map->debugfs, range_node, in regmap_debugfs_init() 657 if (map->debugfs) { in regmap_debugfs_exit() [all …]
|
/kernel/linux/linux-5.10/lib/kunit/ |
D | debugfs.c | 101 suite->debugfs = debugfs_create_dir(suite->name, debugfs_rootdir); in kunit_debugfs_create_suite() 104 suite->debugfs, in kunit_debugfs_create_suite() 112 debugfs_remove_recursive(suite->debugfs); in kunit_debugfs_destroy_suite()
|