Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'driver-core-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core

Pull driver core and documentation fixes from Greg KH:
"Here is one tiny debugfs change to fix up an API where the last user
was successfully fixed up in 5.10-rc1 (so it couldn't be merged
earlier), and a much larger Documentation/ABI/ update to the files so
they can be automatically parsed by our tools.

The Documentation/ABI/ updates are just formatting issues, small ones
to bring the files into parsable format, and have been acked by
numerous subsystem maintainers and the documentation maintainer. I
figured it was good to get this into 5.10-rc2 to help wih the merge
issues that would arise if these were to stick in linux-next until
5.11-rc1.

The debugfs change has been in linux-next for a long time, and the
Documentation updates only for the last linux-next release"

* tag 'driver-core-5.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (40 commits)
scripts: get_abi.pl: assume ReST format by default
docs: ABI: sysfs-class-led-trigger-pattern: remove hw_pattern duplication
docs: ABI: sysfs-class-backlight: unify ABI documentation
docs: ABI: sysfs-c2port: remove a duplicated entry
docs: ABI: sysfs-class-power: unify duplicated properties
docs: ABI: unify /sys/class/leds/<led>/brightness documentation
docs: ABI: stable: remove a duplicated documentation
docs: ABI: change read/write attributes
docs: ABI: cleanup several ABI documents
docs: ABI: sysfs-bus-nvdimm: use the right format for ABI
docs: ABI: vdso: use the right format for ABI
docs: ABI: fix syntax to be parsed using ReST notation
docs: ABI: convert testing/configfs-acpi to ReST
docs: Kconfig/Makefile: add a check for broken ABI files
docs: abi-testing.rst: enable --rst-sources when building docs
docs: ABI: don't escape ReST-incompatible chars from obsolete and removed
docs: ABI: create a 2-depth index for ABI
docs: ABI: make it parse ABI/stable as ReST-compatible files
docs: ABI: sysfs-uevent: make it compatible with ReST output
docs: ABI: testing: make the files compatible with ReST output
...

+4106 -2465
+9 -1
Documentation/ABI/README
··· 32 32 layout of the files below for details on how to do this.) 33 33 34 34 obsolete/ 35 - This directory documents interfaces that are still remaining in 35 + This directory documents interfaces that are still remaining in 36 36 the kernel, but are marked to be removed at some later point in 37 37 time. The description of the interface will document the reason 38 38 why it is obsolete and when it can be expected to be removed. ··· 57 57 sure they are working in a proper way and do not need to 58 58 be changed further. 59 59 60 + 61 + Note: 62 + The fields should be use a simple notation, compatible with ReST markup. 63 + Also, the file **should not** have a top-level index, like:: 64 + 65 + === 66 + foo 67 + === 60 68 61 69 How things move between levels: 62 70
+4 -4
Documentation/ABI/obsolete/sysfs-class-dax
··· 8 8 system. Device DAX is strict, precise and predictable. 9 9 Specifically this interface: 10 10 11 - 1/ Guarantees fault granularity with respect to a given 12 - page size (pte, pmd, or pud) set at configuration time. 11 + 1. Guarantees fault granularity with respect to a given 12 + page size (pte, pmd, or pud) set at configuration time. 13 13 14 - 2/ Enforces deterministic behavior by being strict about 15 - what fault scenarios are supported. 14 + 2. Enforces deterministic behavior by being strict about 15 + what fault scenarios are supported. 16 16 17 17 The /sys/class/dax/ interface enumerates all the 18 18 device-dax instances in the system. The ABI is
+3
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-pyra
··· 7 7 setting reported by the mouse. This number has to be further 8 8 processed to receive the real dpi value: 9 9 10 + ===== ==== 10 11 VALUE DPI 12 + ===== ==== 11 13 1 400 12 14 2 800 13 15 4 1600 16 + ===== ==== 14 17 15 18 This file is readonly. 16 19 Has never been used. If bookkeeping is done, it's done in userland tools.
+2
Documentation/ABI/obsolete/sysfs-gpio
··· 13 13 GPIOs are identified as they are inside the kernel, using integers in 14 14 the range 0..INT_MAX. See Documentation/admin-guide/gpio for more information. 15 15 16 + :: 17 + 16 18 /sys/class/gpio 17 19 /export ... asks the kernel to export a GPIO to userspace 18 20 /unexport ... to return a GPIO to the kernel
+1
Documentation/ABI/removed/devfs
··· 5 5 devfs has been unmaintained for a number of years, has unfixable 6 6 races, contains a naming policy within the kernel that is 7 7 against the LSB, and can be replaced by using udev. 8 + 8 9 The files fs/devfs/*, include/linux/devfs_fs*.h were removed, 9 10 along with the assorted devfs function calls throughout the 10 11 kernel tree.
+1
Documentation/ABI/removed/raw1394
··· 7 7 to implement sensible device security policies, and its low level 8 8 of abstraction that required userspace clients to duplicate much 9 9 of the kernel's ieee1394 core functionality. 10 + 10 11 Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of 11 12 firewire-core. 12 13
+1 -1
Documentation/ABI/removed/sysfs-class-rfkill
··· 10 10 claim just control over a single rfkill instance. 11 11 This file was scheduled to be removed in 2012, and was removed 12 12 in 2016. 13 - Values: 0: Kernel handles events 13 + Values: 0: Kernel handles events
+1
Documentation/ABI/removed/video1394
··· 8 8 performance issues in its first generation. Any video1394 user had 9 9 to use raw1394 + libraw1394 too because video1394 did not provide 10 10 asynchronous I/O for device discovery and configuration. 11 + 11 12 Replaced by /dev/fw*, i.e. the <linux/firewire-cdev.h> ABI of 12 13 firewire-core. 13 14
+37 -30
Documentation/ABI/stable/firewire-cdev
··· 14 14 Each /dev/fw* is associated with one IEEE 1394 node, which can 15 15 be remote or local nodes. Operations on a /dev/fw* file have 16 16 different scope: 17 + 17 18 - The 1394 node which is associated with the file: 19 + 18 20 - Asynchronous request transmission 19 21 - Get the Configuration ROM 20 22 - Query node ID 21 23 - Query maximum speed of the path between this node 22 24 and local node 25 + 23 26 - The 1394 bus (i.e. "card") to which the node is attached to: 27 + 24 28 - Isochronous stream transmission and reception 25 29 - Asynchronous stream transmission and reception 26 30 - Asynchronous broadcast request transmission ··· 35 31 manager 36 32 - Query cycle time 37 33 - Bus reset initiation, bus reset event reception 34 + 38 35 - All 1394 buses: 36 + 39 37 - Allocation of IEEE 1212 address ranges on the local 40 38 link layers, reception of inbound requests to such 41 39 an address range, asynchronous response transmission ··· 49 43 userland implement different access permission models, some 50 44 operations are restricted to /dev/fw* files that are associated 51 45 with a local node: 46 + 52 47 - Addition of descriptors or directories to the local 53 48 nodes' Configuration ROM 54 49 - PHY packet transmission and reception ··· 62 55 The following file operations are supported: 63 56 64 57 open(2) 65 - Currently the only useful flags are O_RDWR. 58 + Currently the only useful flags are O_RDWR. 66 59 67 60 ioctl(2) 68 - Initiate various actions. Some take immediate effect, others 69 - are performed asynchronously while or after the ioctl returns. 70 - See the inline documentation in <linux/firewire-cdev.h> for 71 - descriptions of all ioctls. 61 + Initiate various actions. Some take immediate effect, others 62 + are performed asynchronously while or after the ioctl returns. 63 + See the inline documentation in <linux/firewire-cdev.h> for 64 + descriptions of all ioctls. 72 65 73 66 poll(2), select(2), epoll_wait(2) etc. 74 - Watch for events to become available to be read. 67 + Watch for events to become available to be read. 75 68 76 69 read(2) 77 - Receive various events. There are solicited events like 78 - outbound asynchronous transaction completion or isochronous 79 - buffer completion, and unsolicited events such as bus resets, 80 - request reception, or PHY packet reception. Always use a read 81 - buffer which is large enough to receive the largest event that 82 - could ever arrive. See <linux/firewire-cdev.h> for descriptions 83 - of all event types and for which ioctls affect reception of 84 - events. 70 + Receive various events. There are solicited events like 71 + outbound asynchronous transaction completion or isochronous 72 + buffer completion, and unsolicited events such as bus resets, 73 + request reception, or PHY packet reception. Always use a read 74 + buffer which is large enough to receive the largest event that 75 + could ever arrive. See <linux/firewire-cdev.h> for descriptions 76 + of all event types and for which ioctls affect reception of 77 + events. 85 78 86 79 mmap(2) 87 - Allocate a DMA buffer for isochronous reception or transmission 88 - and map it into the process address space. The arguments should 89 - be used as follows: addr = NULL, length = the desired buffer 90 - size, i.e. number of packets times size of largest packet, 91 - prot = at least PROT_READ for reception and at least PROT_WRITE 92 - for transmission, flags = MAP_SHARED, fd = the handle to the 93 - /dev/fw*, offset = 0. 80 + Allocate a DMA buffer for isochronous reception or transmission 81 + and map it into the process address space. The arguments should 82 + be used as follows: addr = NULL, length = the desired buffer 83 + size, i.e. number of packets times size of largest packet, 84 + prot = at least PROT_READ for reception and at least PROT_WRITE 85 + for transmission, flags = MAP_SHARED, fd = the handle to the 86 + /dev/fw*, offset = 0. 94 87 95 88 Isochronous reception works in packet-per-buffer fashion except 96 89 for multichannel reception which works in buffer-fill mode. 97 90 98 91 munmap(2) 99 - Unmap the isochronous I/O buffer from the process address space. 92 + Unmap the isochronous I/O buffer from the process address space. 100 93 101 94 close(2) 102 - Besides stopping and freeing I/O contexts that were associated 103 - with the file descriptor, back out any changes to the local 104 - nodes' Configuration ROM. Deallocate isochronous channels and 105 - bandwidth at the IRM that were marked for kernel-assisted 106 - re- and deallocation. 95 + Besides stopping and freeing I/O contexts that were associated 96 + with the file descriptor, back out any changes to the local 97 + nodes' Configuration ROM. Deallocate isochronous channels and 98 + bandwidth at the IRM that were marked for kernel-assisted 99 + re- and deallocation. 107 100 108 - Users: libraw1394 109 - libdc1394 110 - libhinawa 101 + Users: libraw1394; 102 + libdc1394; 103 + libhinawa; 111 104 tools like linux-firewire-utils, fwhack, ...
+15 -11
Documentation/ABI/stable/sysfs-acpi-pmprofile
··· 1 - What: /sys/firmware/acpi/pm_profile 1 + What: /sys/firmware/acpi/pm_profile 2 2 Date: 03-Nov-2011 3 3 KernelVersion: v3.2 4 4 Contact: linux-acpi@vger.kernel.org 5 - Description: The ACPI pm_profile sysfs interface exports the platform 5 + Description: The ACPI pm_profile sysfs interface exports the platform 6 6 power management (and performance) requirement expectations 7 7 as provided by BIOS. The integer value is directly passed as 8 8 retrieved from the FADT ACPI table. 9 - Values: For possible values see ACPI specification: 9 + 10 + Values: For possible values see ACPI specification: 10 11 5.2.9 Fixed ACPI Description Table (FADT) 11 12 Field: Preferred_PM_Profile 12 13 13 14 Currently these values are defined by spec: 14 - 0 Unspecified 15 - 1 Desktop 16 - 2 Mobile 17 - 3 Workstation 18 - 4 Enterprise Server 19 - 5 SOHO Server 20 - 6 Appliance PC 21 - 7 Performance Server 15 + 16 + == ================= 17 + 0 Unspecified 18 + 1 Desktop 19 + 2 Mobile 20 + 3 Workstation 21 + 4 Enterprise Server 22 + 5 SOHO Server 23 + 6 Appliance PC 24 + 7 Performance Server 22 25 >7 Reserved 26 + == =================
+3
Documentation/ABI/stable/sysfs-bus-firewire
··· 47 47 IEEE 1394 node device attribute. 48 48 Read-only and immutable. 49 49 Values: 1: The sysfs entry represents a local node (a controller card). 50 + 50 51 0: The sysfs entry represents a remote node. 51 52 52 53 ··· 126 125 Read-only attribute, immutable during the target's lifetime. 127 126 Format, as exposed by firewire-sbp2 since 2.6.22, May 2007: 128 127 Colon-separated hexadecimal string representations of 128 + 129 129 u64 EUI-64 : u24 directory_ID : u16 LUN 130 + 130 131 without 0x prefixes, without whitespace. The former sbp2 driver 131 132 (removed in 2.6.37 after being superseded by firewire-sbp2) used 132 133 a somewhat shorter format which was not as close to SAM.
+10 -9
Documentation/ABI/stable/sysfs-bus-nvmem
··· 9 9 Note: This file is only present if CONFIG_NVMEM_SYSFS 10 10 is enabled 11 11 12 - ex: 13 - hexdump /sys/bus/nvmem/devices/qfprom0/nvmem 12 + ex:: 14 13 15 - 0000000 0000 0000 0000 0000 0000 0000 0000 0000 16 - * 17 - 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 18 - 0000000 0000 0000 0000 0000 0000 0000 0000 0000 19 - ... 20 - * 21 - 0001000 14 + hexdump /sys/bus/nvmem/devices/qfprom0/nvmem 15 + 16 + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 17 + * 18 + 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00 19 + 0000000 0000 0000 0000 0000 0000 0000 0000 0000 20 + ... 21 + * 22 + 0001000
+4 -2
Documentation/ABI/stable/sysfs-bus-usb
··· 50 50 51 51 Tools can use this file and the connected_duration file to 52 52 compute the percentage of time that a device has been active. 53 - For example, 54 - echo $((100 * `cat active_duration` / `cat connected_duration`)) 53 + For example:: 54 + 55 + echo $((100 * `cat active_duration` / `cat connected_duration`)) 56 + 55 57 will give an integer percentage. Note that this does not 56 58 account for counter wrap. 57 59 Users:
-7
Documentation/ABI/stable/sysfs-bus-vmbus
··· 63 63 Description: VCPU (sub)channel is affinitized to 64 64 Users: tools/hv/lsvmbus and other debugging tools 65 65 66 - What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/cpu 67 - Date: September. 2017 68 - KernelVersion: 4.14 69 - Contact: Stephen Hemminger <sthemmin@microsoft.com> 70 - Description: VCPU (sub)channel is affinitized to 71 - Users: tools/hv/lsvmbus and other debugging tools 72 - 73 66 What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask 74 67 Date: September. 2017 75 68 KernelVersion: 4.14
+1
Documentation/ABI/stable/sysfs-bus-w1
··· 6 6 control systems are attached/generate presence for as short as 7 7 100 ms - hence the tens-to-hundreds milliseconds scan intervals 8 8 are required. 9 + 9 10 see Documentation/w1/w1-generic.rst for detailed information. 10 11 Users: any user space application which wants to know bus scanning 11 12 interval
+1
Documentation/ABI/stable/sysfs-class-backlight
··· 4 4 Contact: Richard Purdie <rpurdie@rpsys.net> 5 5 Description: 6 6 Control BACKLIGHT power, values are FB_BLANK_* from fb.h 7 + 7 8 - FB_BLANK_UNBLANK (0) : power on. 8 9 - FB_BLANK_POWERDOWN (4) : power off 9 10 Users: HAL
+66 -27
Documentation/ABI/stable/sysfs-class-infiniband
··· 8 8 KernelVersion: v2.6.12 9 9 Contact: linux-rdma@vger.kernel.org 10 10 Description: 11 + =============== =========================================== 11 12 node_type: (RO) Node type (CA, RNIC, usNIC, usNIC UDP, 12 13 switch or router) 13 14 14 15 node_guid: (RO) Node GUID 15 16 16 17 sys_image_guid: (RO) System image GUID 18 + =============== =========================================== 17 19 18 20 19 21 What: /sys/class/infiniband/<device>/node_desc ··· 49 47 Contact: linux-rdma@vger.kernel.org 50 48 Description: 51 49 50 + =============== =============================================== 52 51 lid: (RO) Port LID 53 52 54 53 rate: (RO) Port data rate (active width * active ··· 69 66 70 67 cap_mask: (RO) Port capability mask. 2 bits here are 71 68 settable- IsCommunicationManagementSupported 72 - (set when CM module is loaded) and IsSM (set via 73 - open of issmN file). 69 + (set when CM module is loaded) and IsSM (set 70 + via open of issmN file). 71 + =============== =============================================== 74 72 75 73 76 74 What: /sys/class/infiniband/<device>/ports/<port-num>/link_layer ··· 107 103 KernelVersion: v2.6.12 108 104 Contact: linux-rdma@vger.kernel.org 109 105 Description: 110 - Errors info: 111 - ----------- 106 + **Errors info**: 112 107 113 108 symbol_error: (RO) Total number of minor link errors detected on 114 109 one or more physical lanes. ··· 145 142 intervention. It can also indicate hardware issues or extremely 146 143 poor link signal integrity 147 144 148 - Data info: 149 - --------- 145 + **Data info**: 150 146 151 147 port_xmit_data: (RO) Total number of data octets, divided by 4 152 148 (lanes), transmitted on all VLs. This is 64 bit counter ··· 178 176 transmitted on all VLs from the port. This may include multicast 179 177 packets with errors. 180 178 181 - Misc info: 182 - --------- 179 + **Misc info**: 183 180 184 181 port_xmit_discards: (RO) Total number of outbound packets 185 182 discarded by the port because the port is down or congested. ··· 245 244 two umad devices and two issm devices, while a switch will have 246 245 one device of each type (for switch port 0). 247 246 247 + ======= ===================================== 248 248 ibdev: (RO) Show Infiniband (IB) device name 249 249 250 250 port: (RO) Display port number 251 + ======= ===================================== 251 252 252 253 253 254 What: /sys/class/infiniband_mad/abi_version ··· 267 264 KernelVersion: v2.6.14 268 265 Contact: linux-rdma@vger.kernel.org 269 266 Description: 267 + =============== =========================================== 270 268 ibdev: (RO) Display Infiniband (IB) device name 271 269 272 270 abi_version: (RO) Show ABI version of IB device specific 273 271 interfaces. 272 + =============== =========================================== 274 273 275 274 276 275 What: /sys/class/infiniband_verbs/abi_version ··· 294 289 KernelVersion: v2.6.12 295 290 Contact: linux-rdma@vger.kernel.org 296 291 Description: 292 + =============== ================================================ 297 293 hw_rev: (RO) Hardware revision number 298 294 299 295 hca_type: (RO) Host Channel Adapter type: MT23108, MT25208 300 296 (MT23108 compat mode), MT25208 or MT25204 301 297 302 298 board_id: (RO) Manufacturing board ID 299 + =============== ================================================ 303 300 304 301 305 302 sysfs interface for Mellanox ConnectX HCA IB driver (mlx4) ··· 314 307 KernelVersion: v2.6.24 315 308 Contact: linux-rdma@vger.kernel.org 316 309 Description: 310 + =============== =============================== 317 311 hw_rev: (RO) Hardware revision number 318 312 319 313 hca_type: (RO) Host channel adapter type 320 314 321 315 board_id: (RO) Manufacturing board ID 316 + =============== =============================== 322 317 323 318 324 319 What: /sys/class/infiniband/mlx4_X/iov/ports/<port-num>/gids/<n> ··· 346 337 example, ports/1/pkeys/10 contains the value at index 10 in port 347 338 1's P_Key table. 348 339 340 + ======================= ========================================== 349 341 gids/<n>: (RO) The physical port gids n = 0..127 350 342 351 343 admin_guids/<n>: (RW) Allows examining or changing the ··· 375 365 guest, whenever it uses its pkey index 376 366 1, will actually be using the real pkey 377 367 index 10. 368 + ======================= ========================================== 378 369 379 370 380 371 What: /sys/class/infiniband/mlx4_X/iov/<pci-slot-num>/ports/<m>/smi_enabled ··· 387 376 Enabling QP0 on VFs for selected VF/port. By default, no VFs are 388 377 enabled for QP0 operation. 389 378 390 - smi_enabled: (RO) Indicates whether smi is currently enabled 391 - for the indicated VF/port 379 + ================= ==== =========================================== 380 + smi_enabled: (RO) Indicates whether smi is currently enabled 381 + for the indicated VF/port 392 382 393 - enable_smi_admin:(RW) Used by the admin to request that smi 394 - capability be enabled or disabled for the 395 - indicated VF/port. 0 = disable, 1 = enable. 383 + enable_smi_admin: (RW) Used by the admin to request that smi 384 + capability be enabled or disabled for the 385 + indicated VF/port. 0 = disable, 1 = enable. 386 + ================= ==== =========================================== 396 387 397 388 The requested enablement will occur at the next reset of the VF 398 389 (e.g. driver restart on the VM which owns the VF). ··· 411 398 Contact: linux-rdma@vger.kernel.org 412 399 Description: 413 400 401 + =============== ============================================= 414 402 hw_rev: (RO) Hardware revision number 415 403 416 404 hca_type: (RO) Driver short name. Should normally match ··· 420 406 421 407 board_id: (RO) Manufacturing board id. (Vendor + device 422 408 information) 409 + =============== ============================================= 423 410 424 411 425 412 sysfs interface for Intel IB driver qib ··· 441 426 KernelVersion: v2.6.35 442 427 Contact: linux-rdma@vger.kernel.org 443 428 Description: 429 + =============== ====================================================== 444 430 version: (RO) Display version information of installed software 445 431 and drivers. 446 432 ··· 468 452 chip_reset: (WO) Reset the chip if possible by writing 469 453 "reset" to this file. Only allowed if no user 470 454 contexts are open that use chip resources. 455 + =============== ====================================================== 471 456 472 457 473 458 What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15] ··· 488 471 Description: 489 472 Per-port congestion control. Both are binary attributes. 490 473 491 - cc_table_bin: (RO) Congestion control table size followed by 474 + =============== ================================================ 475 + cc_table_bin (RO) Congestion control table size followed by 492 476 table entries. 493 477 494 - cc_settings_bin:(RO) Congestion settings: port control, control 478 + cc_settings_bin (RO) Congestion settings: port control, control 495 479 map and an array of 16 entries for the 496 480 congestion entries - increase, timer, event log 497 481 trigger threshold and the minimum injection rate 498 482 delay. 483 + =============== ================================================ 499 484 500 485 What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback 501 486 What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override ··· 510 491 Description: 511 492 [to be documented] 512 493 494 + =============== =============================================== 513 495 loopback: (WO) 514 496 led_override: (WO) 515 497 hrtbt_enable: (RW) ··· 521 501 errors. Possible states are- "Initted", 522 502 "Present", "IB_link_up", "IB_configured" or 523 503 "Fatal_Hardware_Error". 504 + =============== =============================================== 524 505 525 506 What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends 526 507 What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks ··· 570 549 linux-rdma@vger.kernel.org 571 550 Description: 572 551 552 + =============== =============================================== 573 553 board_id: (RO) Manufacturing board id 574 554 575 555 config: (RO) Report the configuration for this PF ··· 583 561 584 562 iface: (RO) Shows which network interface this usNIC 585 563 entry is associated to (visible with ifconfig). 564 + =============== =============================================== 586 565 587 566 What: /sys/class/infiniband/usnic_X/qpn/summary 588 567 What: /sys/class/infiniband/usnic_X/qpn/context ··· 628 605 KernelVersion: v4.6 629 606 Contact: linux-rdma@vger.kernel.org 630 607 Description: 608 + =============== ============================================= 631 609 hw_rev: (RO) Hardware revision number 632 610 633 611 board_id: (RO) Manufacturing board id ··· 647 623 available. 648 624 649 625 tempsense: (RO) Thermal sense information 626 + =============== ============================================= 650 627 651 628 652 629 What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin ··· 659 634 Description: 660 635 Per-port congestion control. 661 636 662 - cc_table_bin: (RO) CCA tables used by PSM2 Congestion control 637 + =============== ================================================ 638 + cc_table_bin (RO) CCA tables used by PSM2 Congestion control 663 639 table size followed by table entries. Binary 664 640 attribute. 665 641 666 - cc_settings_bin:(RO) Congestion settings: port control, control 642 + cc_settings_bin (RO) Congestion settings: port control, control 667 643 map and an array of 16 entries for the 668 644 congestion entries - increase, timer, event log 669 645 trigger threshold and the minimum injection rate 670 646 delay. Binary attribute. 671 647 672 - cc_prescan: (RW) enable prescanning for faster BECN 648 + cc_prescan (RW) enable prescanning for faster BECN 673 649 response. Write "on" to enable and "off" to 674 650 disable. 651 + =============== ================================================ 675 652 676 653 What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] 677 654 What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] ··· 682 655 KernelVersion: v4.6 683 656 Contact: linux-rdma@vger.kernel.org 684 657 Description: 658 + =============== =================================================== 685 659 sc2vl/: (RO) 32 files (0 - 31) used to translate sl->vl 686 660 687 661 sl2sc/: (RO) 32 files (0 - 31) used to translate sl->sc 688 662 689 663 vl2mtu/: (RO) 16 files (0 - 15) used to determine MTU for vl 664 + =============== =================================================== 690 665 691 666 692 667 What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list ··· 699 670 Description: 700 671 sdma<N>/ contains one directory per sdma engine (0 - 15) 701 672 673 + =============== ============================================== 702 674 cpu_list: (RW) List of cpus for user-process to sdma 703 675 engine assignment. 704 676 705 677 vl: (RO) Displays the virtual lane (vl) the sdma 706 678 engine maps to. 679 + =============== ============================================== 707 680 708 681 This interface gives the user control on the affinity settings 709 682 for the device. As an example, to set an sdma engine irq 710 683 affinity and thread affinity of a user processes to use the 711 684 sdma engine, which is "near" in terms of NUMA configuration, or 712 - physical cpu location, the user will do: 685 + physical cpu location, the user will do:: 713 686 714 - echo "3" > /proc/irq/<N>/smp_affinity_list 715 - echo "4-7" > /sys/devices/.../sdma3/cpu_list 716 - cat /sys/devices/.../sdma3/vl 717 - 0 718 - echo "8" > /proc/irq/<M>/smp_affinity_list 719 - echo "9-12" > /sys/devices/.../sdma4/cpu_list 720 - cat /sys/devices/.../sdma4/vl 721 - 1 687 + echo "3" > /proc/irq/<N>/smp_affinity_list 688 + echo "4-7" > /sys/devices/.../sdma3/cpu_list 689 + cat /sys/devices/.../sdma3/vl 690 + 0 691 + echo "8" > /proc/irq/<M>/smp_affinity_list 692 + echo "9-12" > /sys/devices/.../sdma4/cpu_list 693 + cat /sys/devices/.../sdma4/vl 694 + 1 722 695 723 696 to make sure that when a process runs on cpus 4,5,6, or 7, and 724 697 uses vl=0, then sdma engine 3 is selected by the driver, and ··· 742 711 KernelVersion: v4.10 743 712 Contact: linux-rdma@vger.kernel.org 744 713 Description: 714 + =============== ==== ======================== 745 715 hw_rev: (RO) Hardware revision number 746 716 747 717 hca_type: (RO) Show HCA type (I40IW) 748 718 749 719 board_id: (RO) I40IW board ID 720 + =============== ==== ======================== 750 721 751 722 752 723 sysfs interface for QLogic qedr NIC Driver ··· 761 728 Contact: linux-rdma@vger.kernel.org 762 729 Description: 763 730 731 + =============== ==== ======================== 764 732 hw_rev: (RO) Hardware revision number 765 733 766 734 hca_type: (RO) Display HCA type 735 + =============== ==== ======================== 767 736 768 737 769 738 sysfs interface for VMware Paravirtual RDMA driver ··· 779 744 Contact: linux-rdma@vger.kernel.org 780 745 Description: 781 746 747 + =============== ==== ===================================== 782 748 hw_rev: (RO) Hardware revision number 783 749 784 750 hca_type: (RO) Host channel adapter type 785 751 786 752 board_id: (RO) Display PVRDMA manufacturing board ID 753 + =============== ==== ===================================== 787 754 788 755 789 756 sysfs interface for Broadcom NetXtreme-E RoCE driver ··· 797 760 KernelVersion: v4.11 798 761 Contact: linux-rdma@vger.kernel.org 799 762 Description: 763 + =============== ==== ========================= 800 764 hw_rev: (RO) Hardware revision number 801 765 802 766 hca_type: (RO) Host channel adapter type 767 + =============== ==== =========================
+9 -4
Documentation/ABI/stable/sysfs-class-rfkill
··· 2 2 3 3 For details to this subsystem look at Documentation/driver-api/rfkill.rst. 4 4 5 - For the deprecated /sys/class/rfkill/*/claim knobs of this interface look in 5 + For the deprecated ``/sys/class/rfkill/*/claim`` knobs of this interface look in 6 6 Documentation/ABI/removed/sysfs-class-rfkill. 7 7 8 8 What: /sys/class/rfkill ··· 36 36 Contact: linux-wireless@vger.kernel.org 37 37 Description: Whether the soft blocked state is initialised from non-volatile 38 38 storage at startup. 39 - Values: A numeric value. 40 - 0: false 41 - 1: true 39 + Values: A numeric value: 40 + 41 + - 0: false 42 + - 1: true 42 43 43 44 44 45 What: /sys/class/rfkill/rfkill[0-9]+/state ··· 55 54 through this interface. There will likely be another attempt to 56 55 remove it in the future. 57 56 Values: A numeric value. 57 + 58 58 0: RFKILL_STATE_SOFT_BLOCKED 59 59 transmitter is turned off by software 60 60 1: RFKILL_STATE_UNBLOCKED ··· 71 69 Contact: linux-wireless@vger.kernel.org 72 70 Description: Current hardblock state. This file is read only. 73 71 Values: A numeric value. 72 + 74 73 0: inactive 75 74 The transmitter is (potentially) active. 76 75 1: active ··· 85 82 Contact: linux-wireless@vger.kernel.org 86 83 Description: Current softblock state. This file is read and write. 87 84 Values: A numeric value. 85 + 88 86 0: inactive 89 87 The transmitter is (potentially) active. 88 + 90 89 1: active 91 90 The transmitter is turned off by software.
+47 -47
Documentation/ABI/stable/sysfs-class-tpm
··· 32 32 Contact: linux-integrity@vger.kernel.org 33 33 Description: The "caps" property contains TPM manufacturer and version info. 34 34 35 - Example output: 35 + Example output:: 36 36 37 - Manufacturer: 0x53544d20 38 - TCG version: 1.2 39 - Firmware version: 8.16 37 + Manufacturer: 0x53544d20 38 + TCG version: 1.2 39 + Firmware version: 8.16 40 40 41 41 Manufacturer is a hex dump of the 4 byte manufacturer info 42 42 space in a TPM. TCG version shows the TCG TPM spec level that ··· 54 54 any longer than necessary before starting to poll for a 55 55 result. 56 56 57 - Example output: 57 + Example output:: 58 58 59 - 3015000 4508000 180995000 [original] 59 + 3015000 4508000 180995000 [original] 60 60 61 61 Here the short, medium and long durations are displayed in 62 62 usecs. "[original]" indicates that the values are displayed ··· 92 92 values may be constantly changing, the output is only valid 93 93 for a snapshot in time. 94 94 95 - Example output: 95 + Example output:: 96 96 97 - PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 98 - PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 99 - PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 100 - PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 101 - PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 102 - ... 97 + PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 98 + PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 99 + PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 100 + PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 101 + PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 102 + ... 103 103 104 104 The number of PCRs and hex bytes needed to represent a PCR 105 105 value will vary depending on TPM chip version. For TPM 1.1 and ··· 119 119 ated at TPM manufacture time and exists for the life of the 120 120 chip. 121 121 122 - Example output: 122 + Example output:: 123 123 124 - Algorithm: 00 00 00 01 125 - Encscheme: 00 03 126 - Sigscheme: 00 01 127 - Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 128 - Modulus length: 256 129 - Modulus: 130 - B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C 131 - 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 132 - 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB 133 - 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 134 - D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B 135 - 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 136 - 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E 137 - 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D 138 - 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 139 - A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 140 - 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 141 - 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 142 - E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A 143 - F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 144 - F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B 145 - C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B 124 + Algorithm: 00 00 00 01 125 + Encscheme: 00 03 126 + Sigscheme: 00 01 127 + Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 128 + Modulus length: 256 129 + Modulus: 130 + B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C 131 + 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 132 + 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB 133 + 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 134 + D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B 135 + 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 136 + 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E 137 + 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D 138 + 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 139 + A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 140 + 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 141 + 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 142 + E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A 143 + F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 144 + F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B 145 + C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B 146 146 147 - Possible values: 147 + Possible values:: 148 148 149 - Algorithm: TPM_ALG_RSA (1) 150 - Encscheme: TPM_ES_RSAESPKCSv15 (2) 149 + Algorithm: TPM_ALG_RSA (1) 150 + Encscheme: TPM_ES_RSAESPKCSv15 (2) 151 151 TPM_ES_RSAESOAEP_SHA1_MGF1 (3) 152 - Sigscheme: TPM_SS_NONE (1) 153 - Parameters, a byte string of 3 u32 values: 152 + Sigscheme: TPM_SS_NONE (1) 153 + Parameters, a byte string of 3 u32 values: 154 154 Key Length (bits): 00 00 08 00 (2048) 155 155 Num primes: 00 00 00 02 (2) 156 156 Exponent Size: 00 00 00 00 (0 means the 157 157 default exp) 158 - Modulus Length: 256 (bytes) 159 - Modulus: The 256 byte Endorsement Key modulus 158 + Modulus Length: 256 (bytes) 159 + Modulus: The 256 byte Endorsement Key modulus 160 160 161 161 What: /sys/class/tpm/tpmX/device/temp_deactivated 162 162 Date: April 2006 ··· 176 176 timeouts is defined by the TPM interface spec that the chip 177 177 conforms to. 178 178 179 - Example output: 179 + Example output:: 180 180 181 - 750000 750000 750000 750000 [original] 181 + 750000 750000 750000 750000 [original] 182 182 183 183 The four timeout values are shown in usecs, with a trailing 184 184 "[original]" or "[adjusted]" depending on whether the values ··· 191 191 Description: The "tpm_version_major" property shows the TCG spec major version 192 192 implemented by the TPM device. 193 193 194 - Example output: 194 + Example output:: 195 195 196 - 2 196 + 2
+3 -2
Documentation/ABI/stable/sysfs-devices
··· 1 - # Note: This documents additional properties of any device beyond what 2 - # is documented in Documentation/admin-guide/sysfs-rules.rst 1 + Note: 2 + This documents additional properties of any device beyond what 3 + is documented in Documentation/admin-guide/sysfs-rules.rst 3 4 4 5 What: /sys/devices/*/of_node 5 6 Date: February 2015
+37 -25
Documentation/ABI/stable/sysfs-driver-firmware-zynqmp
··· 12 12 resets. Three registers are used by the FSBL and 13 13 other Xilinx software products: GLOBAL_GEN_STORAGE{4:6}. 14 14 15 - Usage: 16 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 17 - # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 15 + Usage:: 18 16 19 - Example: 20 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 21 - # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 17 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 18 + # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 19 + 20 + Example:: 21 + 22 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 23 + # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/ggs0 22 24 23 25 Users: Xilinx 24 26 ··· 41 39 software products: PERS_GLOB_GEN_STORAGE{4:7}. 42 40 Register is reset only by a POR reset. 43 41 44 - Usage: 45 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 46 - # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 42 + Usage:: 47 43 48 - Example: 49 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 50 - # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 44 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 45 + # echo <value> > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 46 + 47 + Example:: 48 + 49 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 50 + # echo 0x1234ABCD > /sys/devices/platform/firmware\:zynqmp-firmware/pggs0 51 51 52 52 Users: Xilinx 53 53 ··· 65 61 66 62 Following are available shutdown scopes(subtypes): 67 63 68 - subsystem: Only the APU along with all of its peripherals 64 + subsystem: 65 + Only the APU along with all of its peripherals 69 66 not used by other processing units will be 70 67 shut down. This may result in the FPD power 71 68 domain being shut down provided that no other 72 69 processing unit uses FPD peripherals or DRAM. 73 - ps_only: The complete PS will be shut down, including the 70 + ps_only: 71 + The complete PS will be shut down, including the 74 72 RPU, PMU, etc. Only the PL domain (FPGA) 75 73 remains untouched. 76 - system: The complete system/device is shut down. 74 + system: 75 + The complete system/device is shut down. 77 76 78 - Usage: 79 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 80 - # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 77 + Usage:: 81 78 82 - Example: 83 - # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 84 - # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 79 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 80 + # echo <scope> > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 81 + 82 + Example:: 83 + 84 + # cat /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 85 + # echo "subsystem" > /sys/devices/platform/firmware\:zynqmp-firmware/shutdown_scope 85 86 86 87 Users: Xilinx 87 88 ··· 103 94 system restart. 104 95 105 96 Usage: 106 - Set healthy bit 107 - # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status 108 97 109 - Unset healthy bit 110 - # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status 98 + Set healthy bit:: 99 + 100 + # echo 1 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status 101 + 102 + Unset healthy bit:: 103 + 104 + # echo 0 > /sys/devices/platform/firmware\:zynqmp-firmware/health_status 111 105 112 106 Users: Xilinx
+1
Documentation/ABI/stable/sysfs-driver-ib_srp
··· 6 6 One can request ib_srp to connect to a new target by writing 7 7 a comma-separated list of login parameters to this sysfs 8 8 attribute. The supported parameters are: 9 + 9 10 * id_ext, a 16-digit hexadecimal number specifying the eight 10 11 byte identifier extension in the 16-byte SRP target port 11 12 identifier. The target port identifier is sent by ib_srp
+4
Documentation/ABI/stable/sysfs-driver-speakup
··· 69 69 speakup if for example 70 70 the say screen command is used before the 71 71 entire screen is read. 72 + 72 73 With no_interrupt set to one, if the say 73 74 screen command is used, and one then types on the keyboard, 74 75 speakup will continue to say the whole screen regardless until ··· 216 215 Again, these are part of the help system. For instance, if you 217 216 had pressed speakup + keypad 3, you would hear: 218 217 "speakup keypad 3 is go to bottom edge." 218 + 219 219 The speakup key is depressed, so the name of the key state is 220 220 speakup. 221 + 221 222 This part of the message comes from the states collection. 222 223 223 224 What: /sys/accessibility/speakup/i18n/characters ··· 300 297 Contact: speakup@linux-speakup.org 301 298 Description: Controls if punctuation is spoken by speakup, or by the 302 299 synthesizer. 300 + 303 301 For example, speakup speaks ">" as "greater", while 304 302 the espeak synthesizer used by the soft driver speaks "greater 305 303 than". Zero lets speakup speak the punctuation. One lets the
+4
Documentation/ABI/stable/sysfs-firmware-efi-vars
··· 17 17 directory has a name of the form "<key>-<vendor guid>" 18 18 and contains the following files: 19 19 20 + =============== ======================================== 20 21 attributes: A read-only text file enumerating the 21 22 EFI variable flags. Potential values 22 23 include: ··· 60 59 61 60 size: As ASCII representation of the size of 62 61 the variable's value. 62 + =============== ======================================== 63 63 64 64 65 65 In addition, two other magic binary files are provided 66 66 in the top-level directory and are used for adding and 67 67 removing variables: 68 68 69 + =============== ======================================== 69 70 new_var: Takes a "struct efi_variable" and 70 71 instructs the EFI firmware to create a 71 72 new variable. ··· 76 73 instructs the EFI firmware to remove any 77 74 variable that has a matching vendor GUID 78 75 and variable key name. 76 + =============== ========================================
+5
Documentation/ABI/stable/sysfs-firmware-opal-dump
··· 7 7 8 8 This is only for the powerpc/powernv platform. 9 9 10 + =============== =============================================== 10 11 initiate_dump: When '1' is written to it, 11 12 we will initiate a dump. 12 13 Read this file for supported commands. ··· 20 19 and ID of the dump, use the id and type files. 21 20 Do not rely on any particular size of dump 22 21 type or dump id. 22 + =============== =============================================== 23 23 24 24 Each dump has the following files: 25 + 26 + =============== =============================================== 25 27 id: An ASCII representation of the dump ID 26 28 in hex (e.g. '0x01') 27 29 type: An ASCII representation of the type of ··· 43 39 inaccessible. 44 40 Reading this file will get a list of 45 41 supported actions. 42 + =============== ===============================================
+2
Documentation/ABI/stable/sysfs-firmware-opal-elog
··· 38 38 For each log entry (directory), there are the following 39 39 files: 40 40 41 + ============== ================================================ 41 42 id: An ASCII representation of the ID of the 42 43 error log, in hex - e.g. "0x01". 43 44 ··· 59 58 entry will be removed from sysfs. 60 59 Reading this file will list the supported 61 60 operations (currently just acknowledge). 61 + ============== ================================================
+3
Documentation/ABI/stable/sysfs-hypervisor-xen
··· 33 33 Space separated list of supported guest system types. Each type 34 34 is in the format: <class>-<major>.<minor>-<arch> 35 35 With: 36 + 37 + ======== ============================================ 36 38 <class>: "xen" -- x86: paravirtualized, arm: standard 37 39 "hvm" -- x86 only: fully virtualized 38 40 <major>: major guest interface version ··· 45 43 "x86_64": 64 bit x86 guest 46 44 "armv7l": 32 bit arm guest 47 45 "aarch64": 64 bit arm guest 46 + ======== ============================================ 48 47 49 48 What: /sys/hypervisor/properties/changeset 50 49 Date: March 2009
+9 -2
Documentation/ABI/stable/vdso
··· 1 + What: vDSO 2 + Date: July 2011 3 + KernelVersion: 3.0 4 + Contact: Andy Lutomirski <luto@kernel.org> 5 + Description: 6 + 1 7 On some architectures, when the kernel loads any userspace program it 2 8 maps an ELF DSO into that program's address space. This DSO is called 3 9 the vDSO and it often contains useful and highly-optimized alternatives ··· 29 23 ABI of those symbols is considered stable. It may vary across architectures, 30 24 though. 31 25 32 - (As of this writing, this ABI documentation as been confirmed for x86_64. 26 + Note: 27 + As of this writing, this ABI documentation as been confirmed for x86_64. 33 28 The maintainers of the other vDSO-using architectures should confirm 34 - that it is correct for their architecture.) 29 + that it is correct for their architecture.
+25 -9
Documentation/ABI/testing/configfs-acpi
··· 14 14 This group contains the configuration for user defined ACPI 15 15 tables. The attributes of a user define table are: 16 16 17 - aml - a binary attribute that the user can use to 17 + aml 18 + - a binary attribute that the user can use to 18 19 fill in the ACPI aml definitions. Once the aml 19 20 data is written to this file and the file is 20 21 closed the table will be loaded and ACPI devices ··· 27 26 The rest of the attributes are read-only and are valid only 28 27 after the table has been loaded by filling the aml entry: 29 28 30 - signature - ASCII table signature 31 - length - length of table in bytes, including the header 32 - revision - ACPI Specification minor version number 33 - oem_id - ASCII OEM identification 34 - oem_table_id - ASCII OEM table identification 35 - oem_revision - OEM revision number 36 - asl_compiler_id - ASCII ASL compiler vendor ID 37 - asl_compiler_revision - ASL compiler version 29 + signature 30 + - ASCII table signature 31 + 32 + length 33 + - length of table in bytes, including the header 34 + 35 + revision 36 + - ACPI Specification minor version number 37 + 38 + oem_id 39 + - ASCII OEM identification 40 + 41 + oem_table_id 42 + - ASCII OEM table identification 43 + 44 + oem_revision 45 + - OEM revision number 46 + 47 + asl_compiler_id 48 + - ASCII ASL compiler vendor ID 49 + 50 + asl_compiler_revision 51 + - ASL compiler version
+90 -45
Documentation/ABI/testing/configfs-most
··· 15 15 Description: 16 16 The attributes: 17 17 18 - buffer_size configure the buffer size for this channel 18 + buffer_size 19 + configure the buffer size for this channel 19 20 20 - subbuffer_size configure the sub-buffer size for this channel 21 + subbuffer_size 22 + configure the sub-buffer size for this channel 21 23 (needed for synchronous and isochrnous data) 22 24 23 25 24 - num_buffers configure number of buffers used for this 26 + num_buffers 27 + configure number of buffers used for this 25 28 channel 26 29 27 - datatype configure type of data that will travel over 30 + datatype 31 + configure type of data that will travel over 28 32 this channel 29 33 30 - direction configure whether this link will be an input 34 + direction 35 + configure whether this link will be an input 31 36 or output 32 37 33 - dbr_size configure DBR data buffer size (this is used 38 + dbr_size 39 + configure DBR data buffer size (this is used 34 40 for MediaLB communication only) 35 41 36 42 packets_per_xact ··· 45 39 transmitted via USB (this is used for USB 46 40 communication only) 47 41 48 - device name of the device the link is to be attached to 42 + device 43 + name of the device the link is to be attached to 49 44 50 - channel name of the channel the link is to be attached to 45 + channel 46 + name of the channel the link is to be attached to 51 47 52 - comp_params pass parameters needed by some components 48 + comp_params 49 + pass parameters needed by some components 53 50 54 - create_link write '1' to this attribute to trigger the 51 + create_link 52 + write '1' to this attribute to trigger the 55 53 creation of the link. In case of speculative 56 54 configuration, the creation is post-poned until 57 55 a physical device is being attached to the bus. 58 56 59 - destroy_link write '1' to this attribute to destroy an 57 + destroy_link 58 + write '1' to this attribute to destroy an 60 59 active link 61 60 62 61 What: /sys/kernel/config/most_video/<link> ··· 70 59 Description: 71 60 The attributes: 72 61 73 - buffer_size configure the buffer size for this channel 62 + buffer_size 63 + configure the buffer size for this channel 74 64 75 - subbuffer_size configure the sub-buffer size for this channel 65 + subbuffer_size 66 + configure the sub-buffer size for this channel 76 67 (needed for synchronous and isochrnous data) 77 68 78 69 79 - num_buffers configure number of buffers used for this 70 + num_buffers 71 + configure number of buffers used for this 80 72 channel 81 73 82 - datatype configure type of data that will travel over 74 + datatype 75 + configure type of data that will travel over 83 76 this channel 84 77 85 - direction configure whether this link will be an input 78 + direction 79 + configure whether this link will be an input 86 80 or output 87 81 88 - dbr_size configure DBR data buffer size (this is used 82 + dbr_size 83 + configure DBR data buffer size (this is used 89 84 for MediaLB communication only) 90 85 91 86 packets_per_xact ··· 100 83 transmitted via USB (this is used for USB 101 84 communication only) 102 85 103 - device name of the device the link is to be attached to 86 + device 87 + name of the device the link is to be attached to 104 88 105 - channel name of the channel the link is to be attached to 89 + channel 90 + name of the channel the link is to be attached to 106 91 107 - comp_params pass parameters needed by some components 92 + comp_params 93 + pass parameters needed by some components 108 94 109 - create_link write '1' to this attribute to trigger the 95 + create_link 96 + write '1' to this attribute to trigger the 110 97 creation of the link. In case of speculative 111 98 configuration, the creation is post-poned until 112 99 a physical device is being attached to the bus. 113 100 114 - destroy_link write '1' to this attribute to destroy an 101 + destroy_link 102 + write '1' to this attribute to destroy an 115 103 active link 116 104 117 105 What: /sys/kernel/config/most_net/<link> ··· 125 103 Description: 126 104 The attributes: 127 105 128 - buffer_size configure the buffer size for this channel 106 + buffer_size 107 + configure the buffer size for this channel 129 108 130 - subbuffer_size configure the sub-buffer size for this channel 109 + subbuffer_size 110 + configure the sub-buffer size for this channel 131 111 (needed for synchronous and isochrnous data) 132 112 133 113 134 - num_buffers configure number of buffers used for this 114 + num_buffers 115 + configure number of buffers used for this 135 116 channel 136 117 137 - datatype configure type of data that will travel over 118 + datatype 119 + configure type of data that will travel over 138 120 this channel 139 121 140 - direction configure whether this link will be an input 122 + direction 123 + configure whether this link will be an input 141 124 or output 142 125 143 - dbr_size configure DBR data buffer size (this is used 126 + dbr_size 127 + configure DBR data buffer size (this is used 144 128 for MediaLB communication only) 145 129 146 130 packets_per_xact ··· 155 127 transmitted via USB (this is used for USB 156 128 communication only) 157 129 158 - device name of the device the link is to be attached to 130 + device 131 + name of the device the link is to be attached to 159 132 160 - channel name of the channel the link is to be attached to 133 + channel 134 + name of the channel the link is to be attached to 161 135 162 - comp_params pass parameters needed by some components 136 + comp_params 137 + pass parameters needed by some components 163 138 164 - create_link write '1' to this attribute to trigger the 139 + create_link 140 + write '1' to this attribute to trigger the 165 141 creation of the link. In case of speculative 166 142 configuration, the creation is post-poned until 167 143 a physical device is being attached to the bus. 168 144 169 - destroy_link write '1' to this attribute to destroy an 145 + destroy_link 146 + write '1' to this attribute to destroy an 170 147 active link 171 148 172 149 What: /sys/kernel/config/most_sound/<card> ··· 180 147 Description: 181 148 The attributes: 182 149 183 - create_card write '1' to this attribute to trigger the 150 + create_card 151 + write '1' to this attribute to trigger the 184 152 registration of the sound card with the ALSA 185 153 subsystem. 186 154 ··· 191 157 Description: 192 158 The attributes: 193 159 194 - buffer_size configure the buffer size for this channel 160 + buffer_size 161 + configure the buffer size for this channel 195 162 196 - subbuffer_size configure the sub-buffer size for this channel 163 + subbuffer_size 164 + configure the sub-buffer size for this channel 197 165 (needed for synchronous and isochrnous data) 198 166 199 167 200 - num_buffers configure number of buffers used for this 168 + num_buffers 169 + configure number of buffers used for this 201 170 channel 202 171 203 - datatype configure type of data that will travel over 172 + datatype 173 + configure type of data that will travel over 204 174 this channel 205 175 206 - direction configure whether this link will be an input 176 + direction 177 + configure whether this link will be an input 207 178 or output 208 179 209 - dbr_size configure DBR data buffer size (this is used 180 + dbr_size 181 + configure DBR data buffer size (this is used 210 182 for MediaLB communication only) 211 183 212 184 packets_per_xact ··· 221 181 transmitted via USB (this is used for USB 222 182 communication only) 223 183 224 - device name of the device the link is to be attached to 184 + device 185 + name of the device the link is to be attached to 225 186 226 - channel name of the channel the link is to be attached to 187 + channel 188 + name of the channel the link is to be attached to 227 189 228 - comp_params pass parameters needed by some components 190 + comp_params 191 + pass parameters needed by some components 229 192 230 - create_link write '1' to this attribute to trigger the 193 + create_link 194 + write '1' to this attribute to trigger the 231 195 creation of the link. In case of speculative 232 196 configuration, the creation is post-poned until 233 197 a physical device is being attached to the bus. 234 198 235 - destroy_link write '1' to this attribute to destroy an 199 + destroy_link 200 + write '1' to this attribute to destroy an 236 201 active link
+19 -17
Documentation/ABI/testing/configfs-spear-pcie-gadget
··· 10 10 This interfaces can be used to show spear's PCIe device capability. 11 11 12 12 Nodes are only visible when configfs is mounted. To mount configfs 13 - in /config directory use: 14 - # mount -t configfs none /config/ 13 + in /config directory use:: 15 14 16 - For nth PCIe Device Controller 17 - /config/pcie-gadget.n/ 18 - link ... used to enable ltssm and read its status. 19 - int_type ...used to configure and read type of supported 20 - interrupt 21 - no_of_msi ... used to configure number of MSI vector needed and 15 + # mount -t configfs none /config/ 16 + 17 + For nth PCIe Device Controller /config/pcie-gadget.n/: 18 + 19 + =============== ====================================================== 20 + link used to enable ltssm and read its status. 21 + int_type used to configure and read type of supported interrupt 22 + no_of_msi used to configure number of MSI vector needed and 22 23 to read no of MSI granted. 23 - inta ... write 1 to assert INTA and 0 to de-assert. 24 - send_msi ... write MSI vector to be sent. 25 - vendor_id ... used to write and read vendor id (hex) 26 - device_id ... used to write and read device id (hex) 27 - bar0_size ... used to write and read bar0_size 28 - bar0_address ... used to write and read bar0 mapped area in hex. 29 - bar0_rw_offset ... used to write and read offset of bar0 where 30 - bar0_data will be written or read. 31 - bar0_data ... used to write and read data at bar0_rw_offset. 24 + inta write 1 to assert INTA and 0 to de-assert. 25 + send_msi write MSI vector to be sent. 26 + vendor_id used to write and read vendor id (hex) 27 + device_id used to write and read device id (hex) 28 + bar0_size used to write and read bar0_size 29 + bar0_address used to write and read bar0 mapped area in hex. 30 + bar0_rw_offset used to write and read offset of bar0 where bar0_data 31 + will be written or read. 32 + bar0_data used to write and read data at bar0_rw_offset. 33 + =============== ======================================================
+49 -34
Documentation/ABI/testing/configfs-usb-gadget
··· 12 12 13 13 The attributes of a gadget: 14 14 15 - UDC - bind a gadget to UDC/unbind a gadget; 16 - write UDC's name found in /sys/class/udc/* 17 - to bind a gadget, empty string "" to unbind. 15 + ================ ============================================ 16 + UDC bind a gadget to UDC/unbind a gadget; 17 + write UDC's name found in /sys/class/udc/* 18 + to bind a gadget, empty string "" to unbind. 18 19 19 - max_speed - maximum speed the driver supports. Valid 20 - names are super-speed-plus, super-speed, 21 - high-speed, full-speed, and low-speed. 20 + max_speed maximum speed the driver supports. Valid 21 + names are super-speed-plus, super-speed, 22 + high-speed, full-speed, and low-speed. 22 23 23 - bDeviceClass - USB device class code 24 - bDeviceSubClass - USB device subclass code 25 - bDeviceProtocol - USB device protocol code 26 - bMaxPacketSize0 - maximum endpoint 0 packet size 27 - bcdDevice - bcd device release number 28 - bcdUSB - bcd USB specification version number 29 - idProduct - product ID 30 - idVendor - vendor ID 24 + bDeviceClass USB device class code 25 + bDeviceSubClass USB device subclass code 26 + bDeviceProtocol USB device protocol code 27 + bMaxPacketSize0 maximum endpoint 0 packet size 28 + bcdDevice bcd device release number 29 + bcdUSB bcd USB specification version number 30 + idProduct product ID 31 + idVendor vendor ID 32 + ================ ============================================ 31 33 32 34 What: /config/usb-gadget/gadget/configs 33 35 Date: Jun 2013 ··· 43 41 Description: 44 42 The attributes of a configuration: 45 43 46 - bmAttributes - configuration characteristics 47 - MaxPower - maximum power consumption from the bus 44 + ================ ====================================== 45 + bmAttributes configuration characteristics 46 + MaxPower maximum power consumption from the bus 47 + ================ ====================================== 48 48 49 49 What: /config/usb-gadget/gadget/configs/config/strings 50 50 Date: Jun 2013 ··· 61 57 Description: 62 58 The attributes: 63 59 64 - configuration - configuration description 60 + ================ ========================= 61 + configuration configuration description 62 + ================ ========================= 65 63 66 64 67 65 What: /config/usb-gadget/gadget/functions ··· 82 76 83 77 The attributes: 84 78 85 - compatible_id - 8-byte string for "Compatible ID" 86 - sub_compatible_id - 8-byte string for "Sub Compatible ID" 79 + ================= ===================================== 80 + compatible_id 8-byte string for "Compatible ID" 81 + sub_compatible_id 8-byte string for "Sub Compatible ID" 82 + ================= ===================================== 87 83 88 84 What: /config/usb-gadget/gadget/functions/<func>.<inst>/interface.<n>/<property> 89 85 Date: May 2014 ··· 97 89 98 90 The attributes: 99 91 100 - type - value 1..7 for interpreting the data 101 - 1: unicode string 102 - 2: unicode string with environment variable 103 - 3: binary 104 - 4: little-endian 32-bit 105 - 5: big-endian 32-bit 106 - 6: unicode string with a symbolic link 107 - 7: multiple unicode strings 108 - data - blob of data to be interpreted depending on 92 + ===== =============================================== 93 + type value 1..7 for interpreting the data 94 + 95 + - 1: unicode string 96 + - 2: unicode string with environment variable 97 + - 3: binary 98 + - 4: little-endian 32-bit 99 + - 5: big-endian 32-bit 100 + - 6: unicode string with a symbolic link 101 + - 7: multiple unicode strings 102 + data blob of data to be interpreted depending on 109 103 type 104 + ===== =============================================== 110 105 111 106 What: /config/usb-gadget/gadget/strings 112 107 Date: Jun 2013 ··· 124 113 Description: 125 114 The attributes: 126 115 127 - serialnumber - gadget's serial number (string) 128 - product - gadget's product description 129 - manufacturer - gadget's manufacturer description 116 + ============ ================================= 117 + serialnumber gadget's serial number (string) 118 + product gadget's product description 119 + manufacturer gadget's manufacturer description 120 + ============ ================================= 130 121 131 122 What: /config/usb-gadget/gadget/os_desc 132 123 Date: May 2014 ··· 136 123 Description: 137 124 This group contains "OS String" extension handling attributes. 138 125 139 - use - flag turning "OS Desctiptors" support on/off 140 - b_vendor_code - one-byte value used for custom per-device and 126 + ============= =============================================== 127 + use flag turning "OS Desctiptors" support on/off 128 + b_vendor_code one-byte value used for custom per-device and 141 129 per-interface requests 142 - qw_sign - an identifier to be reported as "OS String" 130 + qw_sign an identifier to be reported as "OS String" 143 131 proper 132 + ============= ===============================================
+8 -4
Documentation/ABI/testing/configfs-usb-gadget-ecm
··· 4 4 Description: 5 5 The attributes: 6 6 7 - ifname - network device interface name associated with 7 + ifname 8 + - network device interface name associated with 8 9 this function instance 9 - qmult - queue length multiplier for high and 10 + qmult 11 + - queue length multiplier for high and 10 12 super speed 11 - host_addr - MAC address of host's end of this 13 + host_addr 14 + - MAC address of host's end of this 12 15 Ethernet over USB link 13 - dev_addr - MAC address of device's end of this 16 + dev_addr 17 + - MAC address of device's end of this 14 18 Ethernet over USB link 15 19 16 20
+6 -4
Documentation/ABI/testing/configfs-usb-gadget-eem
··· 4 4 Description: 5 5 The attributes: 6 6 7 - ifname - network device interface name associated with 7 + ========== ============================================= 8 + ifname network device interface name associated with 8 9 this function instance 9 - qmult - queue length multiplier for high and 10 + qmult queue length multiplier for high and 10 11 super speed 11 - host_addr - MAC address of host's end of this 12 + host_addr MAC address of host's end of this 12 13 Ethernet over USB link 13 - dev_addr - MAC address of device's end of this 14 + dev_addr MAC address of device's end of this 14 15 Ethernet over USB link 16 + ========== =============================================
+6 -4
Documentation/ABI/testing/configfs-usb-gadget-hid
··· 4 4 Description: 5 5 The attributes: 6 6 7 - protocol - HID protocol to use 8 - report_desc - blob corresponding to HID report descriptors 7 + ============= ============================================ 8 + protocol HID protocol to use 9 + report_desc blob corresponding to HID report descriptors 9 10 except the data passed through /dev/hidg<N> 10 - report_length - HID report length 11 - subclass - HID device subclass to use 11 + report_length HID report length 12 + subclass HID device subclass to use 13 + ============= ============================================
+4 -2
Documentation/ABI/testing/configfs-usb-gadget-loopback
··· 4 4 Description: 5 5 The attributes: 6 6 7 - qlen - depth of loopback queue 8 - buflen - buffer length 7 + ======= ======================= 8 + qlen depth of loopback queue 9 + buflen buffer length 10 + ======= =======================
+11 -7
Documentation/ABI/testing/configfs-usb-gadget-mass-storage
··· 4 4 Description: 5 5 The attributes: 6 6 7 - stall - Set to permit function to halt bulk endpoints. 7 + =========== ============================================== 8 + stall Set to permit function to halt bulk endpoints. 8 9 Disabled on some USB devices known not to work 9 10 correctly. You should set it to true. 10 - num_buffers - Number of pipeline buffers. Valid numbers 11 + num_buffers Number of pipeline buffers. Valid numbers 11 12 are 2..4. Available only if 12 13 CONFIG_USB_GADGET_DEBUG_FILES is set. 14 + =========== ============================================== 13 15 14 16 What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name 15 17 Date: Oct 2013 ··· 19 17 Description: 20 18 The attributes: 21 19 22 - file - The path to the backing file for the LUN. 20 + =========== ============================================== 21 + file The path to the backing file for the LUN. 23 22 Required if LUN is not marked as removable. 24 - ro - Flag specifying access to the LUN shall be 23 + ro Flag specifying access to the LUN shall be 25 24 read-only. This is implied if CD-ROM emulation 26 25 is enabled as well as when it was impossible 27 26 to open "filename" in R/W mode. 28 - removable - Flag specifying that LUN shall be indicated as 27 + removable Flag specifying that LUN shall be indicated as 29 28 being removable. 30 - cdrom - Flag specifying that LUN shall be reported as 29 + cdrom Flag specifying that LUN shall be reported as 31 30 being a CD-ROM. 32 - nofua - Flag specifying that FUA flag 31 + nofua Flag specifying that FUA flag 33 32 in SCSI WRITE(10,12) 33 + =========== ==============================================
+8 -6
Documentation/ABI/testing/configfs-usb-gadget-midi
··· 4 4 Description: 5 5 The attributes: 6 6 7 - index - index value for the USB MIDI adapter 8 - id - ID string for the USB MIDI adapter 9 - buflen - MIDI buffer length 10 - qlen - USB read request queue length 11 - in_ports - number of MIDI input ports 12 - out_ports - number of MIDI output ports 7 + ========== ==================================== 8 + index index value for the USB MIDI adapter 9 + id ID string for the USB MIDI adapter 10 + buflen MIDI buffer length 11 + qlen USB read request queue length 12 + in_ports number of MIDI input ports 13 + out_ports number of MIDI output ports 14 + ========== ====================================
+4 -2
Documentation/ABI/testing/configfs-usb-gadget-printer
··· 4 4 Description: 5 5 The attributes: 6 6 7 - pnp_string - Data to be passed to the host in pnp string 8 - q_len - Number of requests per endpoint 7 + ========== =========================================== 8 + pnp_string Data to be passed to the host in pnp string 9 + q_len Number of requests per endpoint 10 + ========== =========================================== 9 11
+9 -7
Documentation/ABI/testing/configfs-usb-gadget-rndis
··· 4 4 Description: 5 5 The attributes: 6 6 7 - ifname - network device interface name associated with 7 + ========= ============================================= 8 + ifname network device interface name associated with 8 9 this function instance 9 - qmult - queue length multiplier for high and 10 + qmult queue length multiplier for high and 10 11 super speed 11 - host_addr - MAC address of host's end of this 12 + host_addr MAC address of host's end of this 12 13 Ethernet over USB link 13 - dev_addr - MAC address of device's end of this 14 + dev_addr MAC address of device's end of this 14 15 Ethernet over USB link 15 - class - USB interface class, default is 02 (hex) 16 - subclass - USB interface subclass, default is 06 (hex) 17 - protocol - USB interface protocol, default is 00 (hex) 16 + class USB interface class, default is 02 (hex) 17 + subclass USB interface subclass, default is 06 (hex) 18 + protocol USB interface protocol, default is 00 (hex) 19 + ========= =============================================
+10 -8
Documentation/ABI/testing/configfs-usb-gadget-sourcesink
··· 4 4 Description: 5 5 The attributes: 6 6 7 - pattern - 0 (all zeros), 1 (mod63), 2 (none) 8 - isoc_interval - 1..16 9 - isoc_maxpacket - 0 - 1023 (fs), 0 - 1024 (hs/ss) 10 - isoc_mult - 0..2 (hs/ss only) 11 - isoc_maxburst - 0..15 (ss only) 12 - buflen - buffer length 13 - bulk_qlen - depth of queue for bulk 14 - iso_qlen - depth of queue for iso 7 + ============== ================================== 8 + pattern 0 (all zeros), 1 (mod63), 2 (none) 9 + isoc_interval 1..16 10 + isoc_maxpacket 0 - 1023 (fs), 0 - 1024 (hs/ss) 11 + isoc_mult 0..2 (hs/ss only) 12 + isoc_maxburst 0..15 (ss only) 13 + buflen buffer length 14 + bulk_qlen depth of queue for bulk 15 + iso_qlen depth of queue for iso 16 + ============== ==================================
+6 -4
Documentation/ABI/testing/configfs-usb-gadget-subset
··· 4 4 Description: 5 5 The attributes: 6 6 7 - ifname - network device interface name associated with 7 + ========== ============================================= 8 + ifname network device interface name associated with 8 9 this function instance 9 - qmult - queue length multiplier for high and 10 + qmult queue length multiplier for high and 10 11 super speed 11 - host_addr - MAC address of host's end of this 12 + host_addr MAC address of host's end of this 12 13 Ethernet over USB link 13 - dev_addr - MAC address of device's end of this 14 + dev_addr MAC address of device's end of this 14 15 Ethernet over USB link 16 + ========== =============================================
+10 -8
Documentation/ABI/testing/configfs-usb-gadget-uac1
··· 4 4 Description: 5 5 The attributes: 6 6 7 - c_chmask - capture channel mask 8 - c_srate - capture sampling rate 9 - c_ssize - capture sample size (bytes) 10 - p_chmask - playback channel mask 11 - p_srate - playback sampling rate 12 - p_ssize - playback sample size (bytes) 13 - req_number - the number of pre-allocated request 14 - for both capture and playback 7 + ========== =================================== 8 + c_chmask capture channel mask 9 + c_srate capture sampling rate 10 + c_ssize capture sample size (bytes) 11 + p_chmask playback channel mask 12 + p_srate playback sampling rate 13 + p_ssize playback sample size (bytes) 14 + req_number the number of pre-allocated request 15 + for both capture and playback 16 + ========== ===================================
+8 -6
Documentation/ABI/testing/configfs-usb-gadget-uac2
··· 4 4 Description: 5 5 The attributes: 6 6 7 - c_chmask - capture channel mask 8 - c_srate - capture sampling rate 9 - c_ssize - capture sample size (bytes) 10 - p_chmask - playback channel mask 11 - p_srate - playback sampling rate 12 - p_ssize - playback sample size (bytes) 7 + ========= ============================ 8 + c_chmask capture channel mask 9 + c_srate capture sampling rate 10 + c_ssize capture sample size (bytes) 11 + p_chmask playback channel mask 12 + p_srate playback sampling rate 13 + p_ssize playback sample size (bytes) 14 + ========= ============================
+126 -94
Documentation/ABI/testing/configfs-usb-gadget-uvc
··· 3 3 KernelVersion: 4.0 4 4 Description: UVC function directory 5 5 6 - streaming_maxburst - 0..15 (ss only) 7 - streaming_maxpacket - 1..1023 (fs), 1..3072 (hs/ss) 8 - streaming_interval - 1..16 6 + =================== ============================= 7 + streaming_maxburst 0..15 (ss only) 8 + streaming_maxpacket 1..1023 (fs), 1..3072 (hs/ss) 9 + streaming_interval 1..16 10 + =================== ============================= 9 11 10 12 What: /config/usb-gadget/gadget/functions/uvc.name/control 11 13 Date: Dec 2014 ··· 15 13 Description: Control descriptors 16 14 17 15 All attributes read only: 18 - bInterfaceNumber - USB interface number for this 19 - streaming interface 16 + 17 + ================ ============================= 18 + bInterfaceNumber USB interface number for this 19 + streaming interface 20 + ================ ============================= 20 21 21 22 What: /config/usb-gadget/gadget/functions/uvc.name/control/class 22 23 Date: Dec 2014 ··· 52 47 Description: Default output terminal descriptors 53 48 54 49 All attributes read only: 55 - iTerminal - index of string descriptor 56 - bSourceID - id of the terminal to which this terminal 50 + 51 + ============== ============================================= 52 + iTerminal index of string descriptor 53 + bSourceID id of the terminal to which this terminal 57 54 is connected 58 - bAssocTerminal - id of the input terminal to which this output 55 + bAssocTerminal id of the input terminal to which this output 59 56 terminal is associated 60 - wTerminalType - terminal type 61 - bTerminalID - a non-zero id of this terminal 57 + wTerminalType terminal type 58 + bTerminalID a non-zero id of this terminal 59 + ============== ============================================= 62 60 63 61 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera 64 62 Date: Dec 2014 ··· 74 66 Description: Default camera terminal descriptors 75 67 76 68 All attributes read only: 77 - bmControls - bitmap specifying which controls are 78 - supported for the video stream 79 - wOcularFocalLength - the value of Locular 80 - wObjectiveFocalLengthMax- the value of Lmin 81 - wObjectiveFocalLengthMin- the value of Lmax 82 - iTerminal - index of string descriptor 83 - bAssocTerminal - id of the output terminal to which 84 - this terminal is connected 85 - wTerminalType - terminal type 86 - bTerminalID - a non-zero id of this terminal 69 + 70 + ======================== ==================================== 71 + bmControls bitmap specifying which controls are 72 + supported for the video stream 73 + wOcularFocalLength the value of Locular 74 + wObjectiveFocalLengthMax the value of Lmin 75 + wObjectiveFocalLengthMin the value of Lmax 76 + iTerminal index of string descriptor 77 + bAssocTerminal id of the output terminal to which 78 + this terminal is connected 79 + wTerminalType terminal type 80 + bTerminalID a non-zero id of this terminal 81 + ======================== ==================================== 87 82 88 83 What: /config/usb-gadget/gadget/functions/uvc.name/control/processing 89 84 Date: Dec 2014 ··· 99 88 Description: Default processing unit descriptors 100 89 101 90 All attributes read only: 102 - iProcessing - index of string descriptor 103 - bmControls - bitmap specifying which controls are 91 + 92 + =============== ======================================== 93 + iProcessing index of string descriptor 94 + bmControls bitmap specifying which controls are 104 95 supported for the video stream 105 - wMaxMultiplier - maximum digital magnification x100 106 - bSourceID - id of the terminal to which this unit is 96 + wMaxMultiplier maximum digital magnification x100 97 + bSourceID id of the terminal to which this unit is 107 98 connected 108 - bUnitID - a non-zero id of this unit 99 + bUnitID a non-zero id of this unit 100 + =============== ======================================== 109 101 110 102 What: /config/usb-gadget/gadget/functions/uvc.name/control/header 111 103 Date: Dec 2014 ··· 128 114 Description: Streaming descriptors 129 115 130 116 All attributes read only: 131 - bInterfaceNumber - USB interface number for this 132 - streaming interface 117 + 118 + ================ ============================= 119 + bInterfaceNumber USB interface number for this 120 + streaming interface 121 + ================ ============================= 133 122 134 123 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class 135 124 Date: Dec 2014 ··· 165 148 Description: Default color matching descriptors 166 149 167 150 All attributes read only: 168 - bMatrixCoefficients - matrix used to compute luma and 169 - chroma values from the color primaries 170 - bTransferCharacteristics- optoelectronic transfer 171 - characteristic of the source picutre, 172 - also called the gamma function 173 - bColorPrimaries - color primaries and the reference 174 - white 151 + 152 + ======================== ====================================== 153 + bMatrixCoefficients matrix used to compute luma and 154 + chroma values from the color primaries 155 + bTransferCharacteristics optoelectronic transfer 156 + characteristic of the source picutre, 157 + also called the gamma function 158 + bColorPrimaries color primaries and the reference 159 + white 160 + ======================== ====================================== 175 161 176 162 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg 177 163 Date: Dec 2014 ··· 188 168 189 169 All attributes read only, 190 170 except bmaControls and bDefaultFrameIndex: 191 - bFormatIndex - unique id for this format descriptor; 171 + 172 + =================== ===================================== 173 + bFormatIndex unique id for this format descriptor; 192 174 only defined after parent header is 193 175 linked into the streaming class; 194 176 read-only 195 - bmaControls - this format's data for bmaControls in 177 + bmaControls this format's data for bmaControls in 196 178 the streaming header 197 - bmInterfaceFlags - specifies interlace information, 179 + bmInterfaceFlags specifies interlace information, 198 180 read-only 199 - bAspectRatioY - the X dimension of the picture aspect 181 + bAspectRatioY the X dimension of the picture aspect 200 182 ratio, read-only 201 - bAspectRatioX - the Y dimension of the picture aspect 183 + bAspectRatioX the Y dimension of the picture aspect 202 184 ratio, read-only 203 - bmFlags - characteristics of this format, 185 + bmFlags characteristics of this format, 204 186 read-only 205 - bDefaultFrameIndex - optimum frame index for this stream 187 + bDefaultFrameIndex optimum frame index for this stream 188 + =================== ===================================== 206 189 207 190 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name 208 191 Date: Dec 2014 209 192 KernelVersion: 4.0 210 193 Description: Specific MJPEG frame descriptors 211 194 212 - bFrameIndex - unique id for this framedescriptor; 213 - only defined after parent format is 214 - linked into the streaming header; 215 - read-only 216 - dwFrameInterval - indicates how frame interval can be 217 - programmed; a number of values 218 - separated by newline can be specified 219 - dwDefaultFrameInterval - the frame interval the device would 220 - like to use as default 221 - dwMaxVideoFrameBufferSize- the maximum number of bytes the 222 - compressor will produce for a video 223 - frame or still image 224 - dwMaxBitRate - the maximum bit rate at the shortest 225 - frame interval in bps 226 - dwMinBitRate - the minimum bit rate at the longest 227 - frame interval in bps 228 - wHeight - height of decoded bitmap frame in px 229 - wWidth - width of decoded bitmam frame in px 230 - bmCapabilities - still image support, fixed frame-rate 231 - support 195 + ========================= ===================================== 196 + bFrameIndex unique id for this framedescriptor; 197 + only defined after parent format is 198 + linked into the streaming header; 199 + read-only 200 + dwFrameInterval indicates how frame interval can be 201 + programmed; a number of values 202 + separated by newline can be specified 203 + dwDefaultFrameInterval the frame interval the device would 204 + like to use as default 205 + dwMaxVideoFrameBufferSize the maximum number of bytes the 206 + compressor will produce for a video 207 + frame or still image 208 + dwMaxBitRate the maximum bit rate at the shortest 209 + frame interval in bps 210 + dwMinBitRate the minimum bit rate at the longest 211 + frame interval in bps 212 + wHeight height of decoded bitmap frame in px 213 + wWidth width of decoded bitmam frame in px 214 + bmCapabilities still image support, fixed frame-rate 215 + support 216 + ========================= ===================================== 232 217 233 218 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed 234 219 Date: Dec 2014 ··· 245 220 KernelVersion: 4.0 246 221 Description: Specific uncompressed format descriptors 247 222 248 - bFormatIndex - unique id for this format descriptor; 223 + ================== ======================================= 224 + bFormatIndex unique id for this format descriptor; 249 225 only defined after parent header is 250 226 linked into the streaming class; 251 227 read-only 252 - bmaControls - this format's data for bmaControls in 228 + bmaControls this format's data for bmaControls in 253 229 the streaming header 254 - bmInterfaceFlags - specifies interlace information, 230 + bmInterfaceFlags specifies interlace information, 255 231 read-only 256 - bAspectRatioY - the X dimension of the picture aspect 232 + bAspectRatioY the X dimension of the picture aspect 257 233 ratio, read-only 258 - bAspectRatioX - the Y dimension of the picture aspect 234 + bAspectRatioX the Y dimension of the picture aspect 259 235 ratio, read-only 260 - bDefaultFrameIndex - optimum frame index for this stream 261 - bBitsPerPixel - number of bits per pixel used to 236 + bDefaultFrameIndex optimum frame index for this stream 237 + bBitsPerPixel number of bits per pixel used to 262 238 specify color in the decoded video 263 239 frame 264 - guidFormat - globally unique id used to identify 240 + guidFormat globally unique id used to identify 265 241 stream-encoding format 242 + ================== ======================================= 266 243 267 244 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name 268 245 Date: Dec 2014 269 246 KernelVersion: 4.0 270 247 Description: Specific uncompressed frame descriptors 271 248 272 - bFrameIndex - unique id for this framedescriptor; 273 - only defined after parent format is 274 - linked into the streaming header; 275 - read-only 276 - dwFrameInterval - indicates how frame interval can be 277 - programmed; a number of values 278 - separated by newline can be specified 279 - dwDefaultFrameInterval - the frame interval the device would 280 - like to use as default 281 - dwMaxVideoFrameBufferSize- the maximum number of bytes the 282 - compressor will produce for a video 283 - frame or still image 284 - dwMaxBitRate - the maximum bit rate at the shortest 285 - frame interval in bps 286 - dwMinBitRate - the minimum bit rate at the longest 287 - frame interval in bps 288 - wHeight - height of decoded bitmap frame in px 289 - wWidth - width of decoded bitmam frame in px 290 - bmCapabilities - still image support, fixed frame-rate 291 - support 249 + ========================= ===================================== 250 + bFrameIndex unique id for this framedescriptor; 251 + only defined after parent format is 252 + linked into the streaming header; 253 + read-only 254 + dwFrameInterval indicates how frame interval can be 255 + programmed; a number of values 256 + separated by newline can be specified 257 + dwDefaultFrameInterval the frame interval the device would 258 + like to use as default 259 + dwMaxVideoFrameBufferSize the maximum number of bytes the 260 + compressor will produce for a video 261 + frame or still image 262 + dwMaxBitRate the maximum bit rate at the shortest 263 + frame interval in bps 264 + dwMinBitRate the minimum bit rate at the longest 265 + frame interval in bps 266 + wHeight height of decoded bitmap frame in px 267 + wWidth width of decoded bitmam frame in px 268 + bmCapabilities still image support, fixed frame-rate 269 + support 270 + ========================= ===================================== 292 271 293 272 What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header 294 273 Date: Dec 2014 ··· 305 276 Description: Specific streaming header descriptors 306 277 307 278 All attributes read only: 308 - bTriggerUsage - how the host software will respond to 279 + 280 + ==================== ===================================== 281 + bTriggerUsage how the host software will respond to 309 282 a hardware trigger interrupt event 310 - bTriggerSupport - flag specifying if hardware 283 + bTriggerSupport flag specifying if hardware 311 284 triggering is supported 312 - bStillCaptureMethod - method of still image caputre 285 + bStillCaptureMethod method of still image caputre 313 286 supported 314 - bTerminalLink - id of the output terminal to which 287 + bTerminalLink id of the output terminal to which 315 288 the video endpoint of this interface 316 289 is connected 317 - bmInfo - capabilities of this video streaming 290 + bmInfo capabilities of this video streaming 318 291 interface 292 + ==================== ===================================== 319 293 320 294 What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name 321 295 Date: May 2018
+1 -1
Documentation/ABI/testing/debugfs-cec-error-inj
··· 23 23 commands. 24 24 25 25 Note that the output of 'error-inj' shall be valid as input to 'error-inj'. 26 - So this must work: 26 + So this must work:: 27 27 28 28 $ cat error-inj >einj.txt 29 29 $ cat einj.txt >error-inj
+9 -3
Documentation/ABI/testing/debugfs-driver-habanalabs
··· 20 20 The user can supply a bitmask value, each bit represents 21 21 a different engine to disable/enable its clock gating feature. 22 22 The bitmask is composed of 20 bits: 23 - 0 - 7 : DMA channels 24 - 8 - 11 : MME engines 25 - 12 - 19 : TPC engines 23 + 24 + ======= ============ 25 + 0 - 7 DMA channels 26 + 8 - 11 MME engines 27 + 12 - 19 TPC engines 28 + ======= ============ 29 + 26 30 The bit's location of a specific engine can be determined 27 31 using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values 28 32 are defined in uapi habanalabs.h file in enum gaudi_engine_id ··· 63 59 the generic Linux user-space PCI mapping) because the DDR bar 64 60 is very small compared to the DDR memory and only the driver can 65 61 move the bar before and after the transaction. 62 + 66 63 If the IOMMU is disabled, it also allows the root user to read 67 64 or write from the host a device VA of a host mapped memory 68 65 ··· 78 73 the generic Linux user-space PCI mapping) because the DDR bar 79 74 is very small compared to the DDR memory and only the driver can 80 75 move the bar before and after the transaction. 76 + 81 77 If the IOMMU is disabled, it also allows the root user to read 82 78 or write from the host a device VA of a host mapped memory 83 79
+6 -5
Documentation/ABI/testing/debugfs-ec
··· 6 6 General information like which GPE is assigned to the EC and whether 7 7 the global lock should get used. 8 8 Knowing the EC GPE one can watch the amount of HW events related to 9 - the EC here (XY -> GPE number from /sys/kernel/debug/ec/*/gpe): 9 + the EC here (XY -> GPE number from `/sys/kernel/debug/ec/*/gpe`): 10 10 /sys/firmware/acpi/interrupts/gpeXY 11 11 12 12 The io file is binary and a userspace tool located here: ··· 14 14 should get used to read out the 256 Embedded Controller registers 15 15 or writing to them. 16 16 17 - CAUTION: Do not write to the Embedded Controller if you don't know 18 - what you are doing! Rebooting afterwards also is a good idea. 19 - This can influence the way your machine is cooled and fans may 20 - not get switched on again after you did a wrong write. 17 + CAUTION: 18 + Do not write to the Embedded Controller if you don't know 19 + what you are doing! Rebooting afterwards also is a good idea. 20 + This can influence the way your machine is cooled and fans may 21 + not get switched on again after you did a wrong write.
+21 -9
Documentation/ABI/testing/debugfs-moxtet
··· 2 2 Date: March 2019 3 3 KernelVersion: 5.3 4 4 Contact: Marek Behún <marek.behun@nic.cz> 5 - Description: (R) Read input from the shift registers, in hexadecimal. 5 + Description: (Read) Read input from the shift registers, in hexadecimal. 6 6 Returns N+1 bytes, where N is the number of Moxtet connected 7 7 modules. The first byte is from the CPU board itself. 8 - Example: 101214 9 - 10: CPU board with SD card 10 - 12: 2 = PCIe module, 1 = IRQ not active 11 - 14: 4 = Peridot module, 1 = IRQ not active 8 + 9 + Example:: 10 + 11 + 101214 12 + 13 + == ======================================= 14 + 10 CPU board with SD card 15 + 12 2 = PCIe module, 1 = IRQ not active 16 + 14 4 = Peridot module, 1 = IRQ not active 17 + == ======================================= 12 18 13 19 What: /sys/kernel/debug/moxtet/output 14 20 Date: March 2019 ··· 23 17 Description: (RW) Read last written value to the shift registers, in 24 18 hexadecimal, or write values to the shift registers, also 25 19 in hexadecimal. 26 - Example: 0102 27 - 01: 01 was last written, or is to be written, to the 28 - first module's shift register 29 - 02: the same for second module 20 + 21 + Example:: 22 + 23 + 0102 24 + 25 + == ================================================ 26 + 01 01 was last written, or is to be written, to the 27 + first module's shift register 28 + 02 the same for second module 29 + == ================================================
+14 -14
Documentation/ABI/testing/debugfs-pfo-nx-crypto
··· 4 4 Contact: Kent Yoder <key@linux.vnet.ibm.com> 5 5 Description: 6 6 7 - These debugfs interfaces are built by the nx-crypto driver, built in 7 + These debugfs interfaces are built by the nx-crypto driver, built in 8 8 arch/powerpc/crypto/nx. 9 9 10 10 Error Detection 11 11 =============== 12 12 13 13 errors: 14 - - A u32 providing a total count of errors since the driver was loaded. The 15 - only errors counted here are those returned from the hcall, H_COP_OP. 14 + A u32 providing a total count of errors since the driver was loaded. The 15 + only errors counted here are those returned from the hcall, H_COP_OP. 16 16 17 17 last_error: 18 - - The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not 19 - recorded here (the hcall will retry until -EBUSY goes away). 18 + The most recent non-zero return code from the H_COP_OP hcall. -EBUSY is not 19 + recorded here (the hcall will retry until -EBUSY goes away). 20 20 21 21 last_error_pid: 22 - - The process ID of the process who received the most recent error from the 23 - hcall. 22 + The process ID of the process who received the most recent error from the 23 + hcall. 24 24 25 25 Device Use 26 26 ========== 27 27 28 28 aes_bytes: 29 - - The total number of bytes encrypted using AES in any of the driver's 30 - supported modes. 29 + The total number of bytes encrypted using AES in any of the driver's 30 + supported modes. 31 31 32 32 aes_ops: 33 - - The total number of AES operations submitted to the hardware. 33 + The total number of AES operations submitted to the hardware. 34 34 35 35 sha256_bytes: 36 - - The total number of bytes hashed by the hardware using SHA-256. 36 + The total number of bytes hashed by the hardware using SHA-256. 37 37 38 38 sha256_ops: 39 - - The total number of SHA-256 operations submitted to the hardware. 39 + The total number of SHA-256 operations submitted to the hardware. 40 40 41 41 sha512_bytes: 42 - - The total number of bytes hashed by the hardware using SHA-512. 42 + The total number of bytes hashed by the hardware using SHA-512. 43 43 44 44 sha512_ops: 45 - - The total number of SHA-512 operations submitted to the hardware. 45 + The total number of SHA-512 operations submitted to the hardware.
+6 -7
Documentation/ABI/testing/debugfs-pktcdvd
··· 4 4 Contact: Thomas Maier <balagi@justmail.de> 5 5 Description: 6 6 7 - debugfs interface 8 - ----------------- 9 - 10 7 The pktcdvd module (packet writing driver) creates 11 8 these files in debugfs: 12 9 13 10 /sys/kernel/debug/pktcdvd/pktcdvd[0-7]/ 14 - info (0444) Lots of driver statistics and infos. 15 11 16 - Example: 17 - ------- 12 + ==== ====== ==================================== 13 + info 0444 Lots of driver statistics and infos. 14 + ==== ====== ==================================== 18 15 19 - cat /sys/kernel/debug/pktcdvd/pktcdvd0/info 16 + Example:: 17 + 18 + cat /sys/kernel/debug/pktcdvd/pktcdvd0/info
+10 -5
Documentation/ABI/testing/debugfs-turris-mox-rwtm
··· 2 2 Date: Jun 2020 3 3 KernelVersion: 5.8 4 4 Contact: Marek Behún <marek.behun@nic.cz> 5 - Description: (W) Message to sign with the ECDSA private key stored in 6 - device's OTP. The message must be exactly 64 bytes (since 7 - this is intended for SHA-512 hashes). 8 - (R) The resulting signature, 136 bytes. This contains the R and 9 - S values of the ECDSA signature, both in big-endian format. 5 + Description: 6 + 7 + ======= =========================================================== 8 + (Write) Message to sign with the ECDSA private key stored in 9 + device's OTP. The message must be exactly 64 bytes 10 + (since this is intended for SHA-512 hashes). 11 + (Read) The resulting signature, 136 bytes. This contains the 12 + R and S values of the ECDSA signature, both in 13 + big-endian format. 14 + ======= ===========================================================
+11 -10
Documentation/ABI/testing/debugfs-wilco-ec
··· 27 27 for writing, two for the type and at least a single byte of 28 28 data. 29 29 30 - Example: 31 - // Request EC info type 3 (EC firmware build date) 32 - // Corresponds with sending type 0x00f0 with 33 - // MBOX = [38, 00, 03, 00] 34 - $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw 35 - // View the result. The decoded ASCII result "12/21/18" is 36 - // included after the raw hex. 37 - // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] 38 - $ cat /sys/kernel/debug/wilco_ec/raw 39 - 00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00 ..12/21/18.8... 30 + Example:: 31 + 32 + // Request EC info type 3 (EC firmware build date) 33 + // Corresponds with sending type 0x00f0 with 34 + // MBOX = [38, 00, 03, 00] 35 + $ echo 00 f0 38 00 03 00 > /sys/kernel/debug/wilco_ec/raw 36 + // View the result. The decoded ASCII result "12/21/18" is 37 + // included after the raw hex. 38 + // Corresponds with MBOX = [00, 00, 31, 32, 2f, 32, 31, 38, ...] 39 + $ cat /sys/kernel/debug/wilco_ec/raw 40 + 00 00 31 32 2f 32 31 2f 31 38 00 38 00 01 00 2f 00 ..12/21/18.8... 40 41 41 42 Note that the first 16 bytes of the received MBOX[] will be 42 43 printed, even if some of the data is junk, and skipping bytes
+16 -16
Documentation/ABI/testing/dell-smbios-wmi
··· 10 10 <uapi/linux/wmi.h> 11 11 12 12 1) To perform an SMBIOS call from userspace, you'll need to 13 - first determine the minimum size of the calling interface 14 - buffer for your machine. 15 - Platforms that contain larger buffers can return larger 16 - objects from the system firmware. 17 - Commonly this size is either 4k or 32k. 13 + first determine the minimum size of the calling interface 14 + buffer for your machine. 15 + Platforms that contain larger buffers can return larger 16 + objects from the system firmware. 17 + Commonly this size is either 4k or 32k. 18 18 19 - To determine the size of the buffer read() a u64 dword from 20 - the WMI character device /dev/wmi/dell-smbios. 19 + To determine the size of the buffer read() a u64 dword from 20 + the WMI character device /dev/wmi/dell-smbios. 21 21 22 22 2) After you've determined the minimum size of the calling 23 - interface buffer, you can allocate a structure that represents 24 - the structure documented above. 23 + interface buffer, you can allocate a structure that represents 24 + the structure documented above. 25 25 26 26 3) In the 'length' object store the size of the buffer you 27 - determined above and allocated. 27 + determined above and allocated. 28 28 29 29 4) In this buffer object, prepare as necessary for the SMBIOS 30 - call you're interested in. Typically SMBIOS buffers have 31 - "class", "select", and "input" defined to values that coincide 32 - with the data you are interested in. 33 - Documenting class/select/input values is outside of the scope 34 - of this documentation. Check with the libsmbios project for 35 - further documentation on these values. 30 + call you're interested in. Typically SMBIOS buffers have 31 + "class", "select", and "input" defined to values that coincide 32 + with the data you are interested in. 33 + Documenting class/select/input values is outside of the scope 34 + of this documentation. Check with the libsmbios project for 35 + further documentation on these values. 36 36 37 37 6) Run the call by using ioctl() as described in the header. 38 38
+17 -10
Documentation/ABI/testing/dev-kmsg
··· 6 6 to the kernel's printk buffer. 7 7 8 8 Injecting messages: 9 + 9 10 Every write() to the opened device node places a log entry in 10 11 the kernel's printk buffer. 11 12 ··· 22 21 the messages can always be reliably determined. 23 22 24 23 Accessing the buffer: 24 + 25 25 Every read() from the opened device node receives one record 26 26 of the kernel's printk buffer. 27 27 ··· 50 48 if needed, without limiting the interface to a single reader. 51 49 52 50 The device supports seek with the following parameters: 51 + 53 52 SEEK_SET, 0 54 53 seek to the first entry in the buffer 55 54 SEEK_END, 0 ··· 90 87 readable context of the message, for reliable processing in 91 88 userspace. 92 89 93 - Example: 94 - 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) 95 - SUBSYSTEM=acpi 96 - DEVICE=+acpi:PNP0A03:00 97 - 6,339,5140900,-;NET: Registered protocol family 10 98 - 30,340,5690716,-;udevd[80]: starting version 181 90 + Example:: 91 + 92 + 7,160,424069,-;pci_root PNP0A03:00: host bridge window [io 0x0000-0x0cf7] (ignored) 93 + SUBSYSTEM=acpi 94 + DEVICE=+acpi:PNP0A03:00 95 + 6,339,5140900,-;NET: Registered protocol family 10 96 + 30,340,5690716,-;udevd[80]: starting version 181 99 97 100 98 The DEVICE= key uniquely identifies devices the following way: 101 - b12:8 - block dev_t 102 - c127:3 - char dev_t 103 - n8 - netdev ifindex 104 - +sound:card0 - subsystem:devname 99 + 100 + ============ ================= 101 + b12:8 block dev_t 102 + c127:3 char dev_t 103 + n8 netdev ifindex 104 + +sound:card0 subsystem:devname 105 + ============ ================= 105 106 106 107 The flags field carries '-' by default. A 'c' indicates a 107 108 fragment of a line. Note, that these hints about continuation
+12 -5
Documentation/ABI/testing/evm
··· 17 17 echoing a value to <securityfs>/evm made up of the 18 18 following bits: 19 19 20 + === ================================================== 20 21 Bit Effect 22 + === ================================================== 21 23 0 Enable HMAC validation and creation 22 24 1 Enable digital signature validation 23 25 2 Permit modification of EVM-protected metadata at 24 26 runtime. Not supported if HMAC validation and 25 27 creation is enabled. 26 28 31 Disable further runtime modification of EVM policy 29 + === ================================================== 27 30 28 - For example: 31 + For example:: 29 32 30 - echo 1 ><securityfs>/evm 33 + echo 1 ><securityfs>/evm 31 34 32 35 will enable HMAC validation and creation 33 36 34 - echo 0x80000003 ><securityfs>/evm 37 + :: 38 + 39 + echo 0x80000003 ><securityfs>/evm 35 40 36 41 will enable HMAC and digital signature validation and 37 42 HMAC creation and disable all further modification of policy. 38 43 39 - echo 0x80000006 ><securityfs>/evm 44 + :: 45 + 46 + echo 0x80000006 ><securityfs>/evm 40 47 41 48 will enable digital signature validation, permit 42 49 modification of EVM-protected metadata and ··· 72 65 Shows the set of extended attributes used to calculate or 73 66 validate the EVM signature, and allows additional attributes 74 67 to be added at runtime. Any signatures generated after 75 - additional attributes are added (and on files posessing those 68 + additional attributes are added (and on files possessing those 76 69 additional attributes) will only be valid if the same 77 70 additional attributes are configured on system boot. Writing 78 71 a single period (.) will lock the xattr list from any further
+7 -6
Documentation/ABI/testing/gpio-cdev
··· 12 12 The following file operations are supported: 13 13 14 14 open(2) 15 - Currently the only useful flags are O_RDWR. 15 + Currently the only useful flags are O_RDWR. 16 16 17 17 ioctl(2) 18 - Initiate various actions. 19 - See the inline documentation in [include/uapi]<linux/gpio.h> 20 - for descriptions of all ioctls. 18 + Initiate various actions. 19 + 20 + See the inline documentation in [include/uapi]<linux/gpio.h> 21 + for descriptions of all ioctls. 21 22 22 23 close(2) 23 - Stops and free up the I/O contexts that was associated 24 - with the file descriptor. 24 + Stops and free up the I/O contexts that was associated 25 + with the file descriptor. 25 26 26 27 Users: TBD
+18 -12
Documentation/ABI/testing/ima_policy
··· 15 15 IMA appraisal, if configured, uses these file measurements 16 16 for local measurement appraisal. 17 17 18 - rule format: action [condition ...] 18 + :: 19 19 20 - action: measure | dont_measure | appraise | dont_appraise | 21 - audit | hash | dont_hash 22 - condition:= base | lsm [option] 20 + rule format: action [condition ...] 21 + 22 + action: measure | dont_measure | appraise | dont_appraise | 23 + audit | hash | dont_hash 24 + condition:= base | lsm [option] 23 25 base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] 24 26 [euid=] [fowner=] [fsname=]] 25 27 lsm: [[subj_user=] [subj_role=] [subj_type=] 26 28 [obj_user=] [obj_role=] [obj_type=]] 27 29 option: [[appraise_type=]] [template=] [permit_directio] 28 30 [appraise_flag=] [keyrings=] 29 - base: func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK][MODULE_CHECK] 30 - [FIRMWARE_CHECK] 31 + base: 32 + func:= [BPRM_CHECK][MMAP_CHECK][CREDS_CHECK][FILE_CHECK]MODULE_CHECK] 33 + [FIRMWARE_CHECK] 31 34 [KEXEC_KERNEL_CHECK] [KEXEC_INITRAMFS_CHECK] 32 35 [KEXEC_CMDLINE] [KEY_CHECK] 33 36 mask:= [[^]MAY_READ] [[^]MAY_WRITE] [[^]MAY_APPEND] ··· 40 37 uid:= decimal value 41 38 euid:= decimal value 42 39 fowner:= decimal value 43 - lsm: are LSM specific 44 - option: appraise_type:= [imasig] [imasig|modsig] 40 + lsm: are LSM specific 41 + option: 42 + appraise_type:= [imasig] [imasig|modsig] 45 43 appraise_flag:= [check_blacklist] 46 44 Currently, blacklist check is only for files signed with appended 47 45 signature. ··· 53 49 (eg, ima-ng). Only valid when action is "measure". 54 50 pcr:= decimal value 55 51 56 - default policy: 52 + default policy: 57 53 # PROC_SUPER_MAGIC 58 54 dont_measure fsmagic=0x9fa0 59 55 dont_appraise fsmagic=0x9fa0 ··· 101 97 102 98 Examples of LSM specific definitions: 103 99 104 - SELinux: 100 + SELinux:: 101 + 105 102 dont_measure obj_type=var_log_t 106 103 dont_appraise obj_type=var_log_t 107 104 dont_measure obj_type=auditd_log_t ··· 110 105 measure subj_user=system_u func=FILE_CHECK mask=MAY_READ 111 106 measure subj_role=system_r func=FILE_CHECK mask=MAY_READ 112 107 113 - Smack: 108 + Smack:: 109 + 114 110 measure subj_user=_ func=FILE_CHECK mask=MAY_READ 115 111 116 - Example of measure rules using alternate PCRs: 112 + Example of measure rules using alternate PCRs:: 117 113 118 114 measure func=KEXEC_KERNEL_CHECK pcr=4 119 115 measure func=KEXEC_INITRAMFS_CHECK pcr=5
+26 -20
Documentation/ABI/testing/procfs-diskstats
··· 6 6 of block devices. Each line contains the following 14 7 7 fields: 8 8 9 - 1 - major number 10 - 2 - minor mumber 11 - 3 - device name 12 - 4 - reads completed successfully 13 - 5 - reads merged 14 - 6 - sectors read 15 - 7 - time spent reading (ms) 16 - 8 - writes completed 17 - 9 - writes merged 18 - 10 - sectors written 19 - 11 - time spent writing (ms) 20 - 12 - I/Os currently in progress 21 - 13 - time spent doing I/Os (ms) 22 - 14 - weighted time spent doing I/Os (ms) 9 + == =================================== 10 + 1 major number 11 + 2 minor mumber 12 + 3 device name 13 + 4 reads completed successfully 14 + 5 reads merged 15 + 6 sectors read 16 + 7 time spent reading (ms) 17 + 8 writes completed 18 + 9 writes merged 19 + 10 sectors written 20 + 11 time spent writing (ms) 21 + 12 I/Os currently in progress 22 + 13 time spent doing I/Os (ms) 23 + 14 weighted time spent doing I/Os (ms) 24 + == =================================== 23 25 24 26 Kernel 4.18+ appends four more fields for discard 25 27 tracking putting the total at 18: 26 28 27 - 15 - discards completed successfully 28 - 16 - discards merged 29 - 17 - sectors discarded 30 - 18 - time spent discarding 29 + == =================================== 30 + 15 discards completed successfully 31 + 16 discards merged 32 + 17 sectors discarded 33 + 18 time spent discarding 34 + == =================================== 31 35 32 36 Kernel 5.5+ appends two more fields for flush requests: 33 37 34 - 19 - flush requests completed successfully 35 - 20 - time spent flushing 38 + == ===================================== 39 + 19 flush requests completed successfully 40 + 20 time spent flushing 41 + == ===================================== 36 42 37 43 For more details refer to Documentation/admin-guide/iostats.rst
+24 -24
Documentation/ABI/testing/procfs-smaps_rollup
··· 14 14 For more details, see Documentation/filesystems/proc.rst 15 15 and the procfs man page. 16 16 17 - Typical output looks like this: 17 + Typical output looks like this:: 18 18 19 - 00100000-ff709000 ---p 00000000 00:00 0 [rollup] 20 - Size: 1192 kB 21 - KernelPageSize: 4 kB 22 - MMUPageSize: 4 kB 23 - Rss: 884 kB 24 - Pss: 385 kB 25 - Pss_Anon: 301 kB 26 - Pss_File: 80 kB 27 - Pss_Shmem: 4 kB 28 - Shared_Clean: 696 kB 29 - Shared_Dirty: 0 kB 30 - Private_Clean: 120 kB 31 - Private_Dirty: 68 kB 32 - Referenced: 884 kB 33 - Anonymous: 68 kB 34 - LazyFree: 0 kB 35 - AnonHugePages: 0 kB 36 - ShmemPmdMapped: 0 kB 37 - Shared_Hugetlb: 0 kB 38 - Private_Hugetlb: 0 kB 39 - Swap: 0 kB 40 - SwapPss: 0 kB 41 - Locked: 385 kB 19 + 00100000-ff709000 ---p 00000000 00:00 0 [rollup] 20 + Size: 1192 kB 21 + KernelPageSize: 4 kB 22 + MMUPageSize: 4 kB 23 + Rss: 884 kB 24 + Pss: 385 kB 25 + Pss_Anon: 301 kB 26 + Pss_File: 80 kB 27 + Pss_Shmem: 4 kB 28 + Shared_Clean: 696 kB 29 + Shared_Dirty: 0 kB 30 + Private_Clean: 120 kB 31 + Private_Dirty: 68 kB 32 + Referenced: 884 kB 33 + Anonymous: 68 kB 34 + LazyFree: 0 kB 35 + AnonHugePages: 0 kB 36 + ShmemPmdMapped: 0 kB 37 + Shared_Hugetlb: 0 kB 38 + Private_Hugetlb: 0 kB 39 + Swap: 0 kB 40 + SwapPss: 0 kB 41 + Locked: 385 kB
+9 -10
Documentation/ABI/testing/pstore
··· 9 9 provide a generic interface to show records captured in 10 10 the dying moments. In the case of a panic the last part 11 11 of the console log is captured, but other interesting 12 - data can also be saved. 12 + data can also be saved:: 13 13 14 - # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore 14 + # mount -t pstore -o kmsg_bytes=8000 - /sys/fs/pstore 15 15 16 - $ ls -l /sys/fs/pstore/ 17 - total 0 18 - -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 16 + $ ls -l /sys/fs/pstore/ 17 + total 0 18 + -r--r--r-- 1 root root 7896 Nov 30 15:38 dmesg-erst-1 19 19 20 20 Different users of this interface will result in different 21 21 filename prefixes. Currently two are defined: 22 22 23 - "dmesg" - saved console log 24 - "mce" - architecture dependent data from fatal h/w error 23 + - "dmesg" - saved console log 24 + - "mce" - architecture dependent data from fatal h/w error 25 25 26 26 Once the information in a file has been read, removing 27 27 the file will signal to the underlying persistent storage 28 - device that it can reclaim the space for later re-use. 28 + device that it can reclaim the space for later re-use:: 29 29 30 - $ rm /sys/fs/pstore/dmesg-erst-1 30 + $ rm /sys/fs/pstore/dmesg-erst-1 31 31 32 32 The expectation is that all files in /sys/fs/pstore/ 33 33 will be saved elsewhere and erased from persistent store ··· 44 44 backends are available, the preferred backend may be 45 45 set by passing the pstore.backend= argument to the kernel at 46 46 boot time. 47 -
+21 -17
Documentation/ABI/testing/sysfs-block
··· 4 4 Description: 5 5 The /sys/block/<disk>/stat files displays the I/O 6 6 statistics of disk <disk>. They contain 11 fields: 7 - 1 - reads completed successfully 8 - 2 - reads merged 9 - 3 - sectors read 10 - 4 - time spent reading (ms) 11 - 5 - writes completed 12 - 6 - writes merged 13 - 7 - sectors written 14 - 8 - time spent writing (ms) 15 - 9 - I/Os currently in progress 16 - 10 - time spent doing I/Os (ms) 17 - 11 - weighted time spent doing I/Os (ms) 18 - 12 - discards completed 19 - 13 - discards merged 20 - 14 - sectors discarded 21 - 15 - time spent discarding (ms) 22 - 16 - flush requests completed 23 - 17 - time spent flushing (ms) 7 + 8 + == ============================================== 9 + 1 reads completed successfully 10 + 2 reads merged 11 + 3 sectors read 12 + 4 time spent reading (ms) 13 + 5 writes completed 14 + 6 writes merged 15 + 7 sectors written 16 + 8 time spent writing (ms) 17 + 9 I/Os currently in progress 18 + 10 time spent doing I/Os (ms) 19 + 11 weighted time spent doing I/Os (ms) 20 + 12 discards completed 21 + 13 discards merged 22 + 14 sectors discarded 23 + 15 time spent discarding (ms) 24 + 16 flush requests completed 25 + 17 time spent flushing (ms) 26 + == ============================================== 27 + 24 28 For more details refer Documentation/admin-guide/iostats.rst 25 29 26 30
+2
Documentation/ABI/testing/sysfs-block-device
··· 8 8 9 9 It has the following valid values: 10 10 11 + == ======================================================== 11 12 0 OFF - the LED is not activated on activity 12 13 1 BLINK_ON - the LED blinks on every 10ms when activity is 13 14 detected. 14 15 2 BLINK_OFF - the LED is on when idle, and blinks off 15 16 every 10ms when activity is detected. 17 + == ======================================================== 16 18 17 19 Note that the user must turn sw_activity OFF it they wish to 18 20 control the activity LED via the em_message file.
+2 -2
Documentation/ABI/testing/sysfs-block-rnbd
··· 9 9 is using the device. When "force" is used, the device is also unmapped 10 10 when device is in use. All I/Os that are in progress will fail. 11 11 12 - Example: 12 + Example:: 13 13 14 - # echo "normal" > /sys/block/rnbd0/rnbd/unmap_device 14 + # echo "normal" > /sys/block/rnbd0/rnbd/unmap_device 15 15 16 16 What: /sys/block/rnbd<N>/rnbd/state 17 17 Date: Feb 2020
+11 -8
Documentation/ABI/testing/sysfs-bus-acpi
··· 5 5 This attribute indicates the full path of ACPI namespace 6 6 object associated with the device object. For example, 7 7 \_SB_.PCI0. 8 + 8 9 This file is not present for device objects representing 9 10 fixed ACPI hardware features (like power and sleep 10 11 buttons). ··· 68 67 The return value is a decimal integer representing the device's 69 68 status bitmap: 70 69 71 - Bit [0] – Set if the device is present. 72 - Bit [1] – Set if the device is enabled and decoding its 73 - resources. 74 - Bit [2] – Set if the device should be shown in the UI. 75 - Bit [3] – Set if the device is functioning properly (cleared if 76 - device failed its diagnostics). 77 - Bit [4] – Set if the battery is present. 78 - Bits [31:5] – Reserved (must be cleared) 70 + =========== ================================================== 71 + Bit [0] Set if the device is present. 72 + Bit [1] Set if the device is enabled and decoding its 73 + resources. 74 + Bit [2] Set if the device should be shown in the UI. 75 + Bit [3] Set if the device is functioning properly (cleared 76 + if device failed its diagnostics). 77 + Bit [4] Set if the battery is present. 78 + Bits [31:5] Reserved (must be cleared) 79 + =========== ================================================== 79 80 80 81 If bit [0] is clear, then bit 1 must also be clear (a device 81 82 that is not present cannot be enabled).
+30 -30
Documentation/ABI/testing/sysfs-bus-coresight-devices-cti
··· 8 8 Date: March 2020 9 9 KernelVersion 5.7 10 10 Contact: Mike Leach or Mathieu Poirier 11 - Description: (R) Indicate if the CTI hardware is powered. 11 + Description: (Read) Indicate if the CTI hardware is powered. 12 12 13 13 What: /sys/bus/coresight/devices/<cti-name>/ctmid 14 14 Date: March 2020 15 15 KernelVersion 5.7 16 16 Contact: Mike Leach or Mathieu Poirier 17 - Description: (R) Display the associated CTM ID 17 + Description: (Read) Display the associated CTM ID 18 18 19 19 What: /sys/bus/coresight/devices/<cti-name>/nr_trigger_cons 20 20 Date: March 2020 21 21 KernelVersion 5.7 22 22 Contact: Mike Leach or Mathieu Poirier 23 - Description: (R) Number of devices connected to triggers on this CTI 23 + Description: (Read) Number of devices connected to triggers on this CTI 24 24 25 25 What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/name 26 26 Date: March 2020 27 27 KernelVersion 5.7 28 28 Contact: Mike Leach or Mathieu Poirier 29 - Description: (R) Name of connected device <N> 29 + Description: (Read) Name of connected device <N> 30 30 31 31 What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_signals 32 32 Date: March 2020 33 33 KernelVersion 5.7 34 34 Contact: Mike Leach or Mathieu Poirier 35 - Description: (R) Input trigger signals from connected device <N> 35 + Description: (Read) Input trigger signals from connected device <N> 36 36 37 37 What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/in_types 38 38 Date: March 2020 39 39 KernelVersion 5.7 40 40 Contact: Mike Leach or Mathieu Poirier 41 - Description: (R) Functional types for the input trigger signals 41 + Description: (Read) Functional types for the input trigger signals 42 42 from connected device <N> 43 43 44 44 What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_signals 45 45 Date: March 2020 46 46 KernelVersion 5.7 47 47 Contact: Mike Leach or Mathieu Poirier 48 - Description: (R) Output trigger signals to connected device <N> 48 + Description: (Read) Output trigger signals to connected device <N> 49 49 50 50 What: /sys/bus/coresight/devices/<cti-name>/triggers<N>/out_types 51 51 Date: March 2020 52 52 KernelVersion 5.7 53 53 Contact: Mike Leach or Mathieu Poirier 54 - Description: (R) Functional types for the output trigger signals 54 + Description: (Read) Functional types for the output trigger signals 55 55 to connected device <N> 56 56 57 57 What: /sys/bus/coresight/devices/<cti-name>/regs/inout_sel ··· 88 88 Date: March 2020 89 89 KernelVersion 5.7 90 90 Contact: Mike Leach or Mathieu Poirier 91 - Description: (W) Write the INTACK register. 91 + Description: (Write) Write the INTACK register. 92 92 93 93 What: /sys/bus/coresight/devices/<cti-name>/regs/appset 94 94 Date: March 2020 ··· 101 101 Date: March 2020 102 102 KernelVersion 5.7 103 103 Contact: Mike Leach or Mathieu Poirier 104 - Description: (W) Write APPCLEAR register to deactivate channel. 104 + Description: (Write) Write APPCLEAR register to deactivate channel. 105 105 106 106 What: /sys/bus/coresight/devices/<cti-name>/regs/apppulse 107 107 Date: March 2020 108 108 KernelVersion 5.7 109 109 Contact: Mike Leach or Mathieu Poirier 110 - Description: (W) Write APPPULSE to pulse a channel active for one clock 110 + Description: (Write) Write APPPULSE to pulse a channel active for one clock 111 111 cycle. 112 112 113 113 What: /sys/bus/coresight/devices/<cti-name>/regs/chinstatus 114 114 Date: March 2020 115 115 KernelVersion 5.7 116 116 Contact: Mike Leach or Mathieu Poirier 117 - Description: (R) Read current status of channel inputs. 117 + Description: (Read) Read current status of channel inputs. 118 118 119 119 What: /sys/bus/coresight/devices/<cti-name>/regs/choutstatus 120 120 Date: March 2020 121 121 KernelVersion 5.7 122 122 Contact: Mike Leach or Mathieu Poirier 123 - Description: (R) read current status of channel outputs. 123 + Description: (Read) read current status of channel outputs. 124 124 125 125 What: /sys/bus/coresight/devices/<cti-name>/regs/triginstatus 126 126 Date: March 2020 127 127 KernelVersion 5.7 128 128 Contact: Mike Leach or Mathieu Poirier 129 - Description: (R) read current status of input trigger signals 129 + Description: (Read) read current status of input trigger signals 130 130 131 131 What: /sys/bus/coresight/devices/<cti-name>/regs/trigoutstatus 132 132 Date: March 2020 133 133 KernelVersion 5.7 134 134 Contact: Mike Leach or Mathieu Poirier 135 - Description: (R) read current status of output trigger signals. 135 + Description: (Read) read current status of output trigger signals. 136 136 137 137 What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_attach 138 138 Date: March 2020 139 139 KernelVersion 5.7 140 140 Contact: Mike Leach or Mathieu Poirier 141 - Description: (W) Attach a CTI input trigger to a CTM channel. 141 + Description: (Write) Attach a CTI input trigger to a CTM channel. 142 142 143 143 What: /sys/bus/coresight/devices/<cti-name>/channels/trigin_detach 144 144 Date: March 2020 145 145 KernelVersion 5.7 146 146 Contact: Mike Leach or Mathieu Poirier 147 - Description: (W) Detach a CTI input trigger from a CTM channel. 147 + Description: (Write) Detach a CTI input trigger from a CTM channel. 148 148 149 149 What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_attach 150 150 Date: March 2020 151 151 KernelVersion 5.7 152 152 Contact: Mike Leach or Mathieu Poirier 153 - Description: (W) Attach a CTI output trigger to a CTM channel. 153 + Description: (Write) Attach a CTI output trigger to a CTM channel. 154 154 155 155 What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_detach 156 156 Date: March 2020 157 157 KernelVersion 5.7 158 158 Contact: Mike Leach or Mathieu Poirier 159 - Description: (W) Detach a CTI output trigger from a CTM channel. 159 + Description: (Write) Detach a CTI output trigger from a CTM channel. 160 160 161 161 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_enable 162 162 Date: March 2020 163 163 KernelVersion 5.7 164 164 Contact: Mike Leach or Mathieu Poirier 165 - Description: (RW) Enable CTIGATE for single channel (W) or list enabled 165 + Description: (RW) Enable CTIGATE for single channel (Write) or list enabled 166 166 channels through the gate (R). 167 167 168 168 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_gate_disable 169 169 Date: March 2020 170 170 KernelVersion 5.7 171 171 Contact: Mike Leach or Mathieu Poirier 172 - Description: (W) Disable CTIGATE for single channel. 172 + Description: (Write) Disable CTIGATE for single channel. 173 173 174 174 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_set 175 175 Date: March 2020 176 176 KernelVersion 5.7 177 177 Contact: Mike Leach or Mathieu Poirier 178 - Description: (W) Activate a single channel. 178 + Description: (Write) Activate a single channel. 179 179 180 180 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_clear 181 181 Date: March 2020 182 182 KernelVersion 5.7 183 183 Contact: Mike Leach or Mathieu Poirier 184 - Description: (W) Deactivate a single channel. 184 + Description: (Write) Deactivate a single channel. 185 185 186 186 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_pulse 187 187 Date: March 2020 188 188 KernelVersion 5.7 189 189 Contact: Mike Leach or Mathieu Poirier 190 - Description: (W) Pulse a single channel - activate for a single clock cycle. 190 + Description: (Write) Pulse a single channel - activate for a single clock cycle. 191 191 192 192 What: /sys/bus/coresight/devices/<cti-name>/channels/trigout_filtered 193 193 Date: March 2020 194 194 KernelVersion 5.7 195 195 Contact: Mike Leach or Mathieu Poirier 196 - Description: (R) List of output triggers filtered across all connections. 196 + Description: (Read) List of output triggers filtered across all connections. 197 197 198 198 What: /sys/bus/coresight/devices/<cti-name>/channels/trig_filter_enable 199 199 Date: March 2020 ··· 205 205 Date: March 2020 206 206 KernelVersion 5.7 207 207 Contact: Mike Leach or Mathieu Poirier 208 - Description: (R) show channels with at least one attached trigger signal. 208 + Description: (Read) show channels with at least one attached trigger signal. 209 209 210 210 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_free 211 211 Date: March 2020 212 212 KernelVersion 5.7 213 213 Contact: Mike Leach or Mathieu Poirier 214 - Description: (R) show channels with no attached trigger signals. 214 + Description: (Read) show channels with no attached trigger signals. 215 215 216 216 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_sel 217 217 Date: March 2020 ··· 224 224 Date: March 2020 225 225 KernelVersion 5.7 226 226 Contact: Mike Leach or Mathieu Poirier 227 - Description: (R) Read to see input triggers connected to selected view 227 + Description: (Read) Read to see input triggers connected to selected view 228 228 channel. 229 229 230 230 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_out 231 231 Date: March 2020 232 232 KernelVersion 5.7 233 233 Contact: Mike Leach or Mathieu Poirier 234 - Description: (R) Read to see output triggers connected to selected view 234 + Description: (Read) Read to see output triggers connected to selected view 235 235 channel. 236 236 237 237 What: /sys/bus/coresight/devices/<cti-name>/channels/chan_xtrigs_reset 238 238 Date: March 2020 239 239 KernelVersion 5.7 240 240 Contact: Mike Leach or Mathieu Poirier 241 - Description: (W) Clear all channel / trigger programming. 241 + Description: (Write) Clear all channel / trigger programming.
+12 -9
Documentation/ABI/testing/sysfs-bus-coresight-devices-etb10
··· 4 4 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 5 5 Description: (RW) Add/remove a sink from a trace path. There can be multiple 6 6 source for a single sink. 7 - ex: echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink 7 + 8 + ex:: 9 + 10 + echo 1 > /sys/bus/coresight/devices/20010000.etb/enable_sink 8 11 9 12 What: /sys/bus/coresight/devices/<memory_map>.etb/trigger_cntr 10 13 Date: November 2014 ··· 23 20 Date: March 2016 24 21 KernelVersion: 4.7 25 22 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 26 - Description: (R) Defines the depth, in words, of the trace RAM in powers of 23 + Description: (Read) Defines the depth, in words, of the trace RAM in powers of 27 24 2. The value is read directly from HW register RDP, 0x004. 28 25 29 26 What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/sts 30 27 Date: March 2016 31 28 KernelVersion: 4.7 32 29 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 33 - Description: (R) Shows the value held by the ETB status register. The value 30 + Description: (Read) Shows the value held by the ETB status register. The value 34 31 is read directly from HW register STS, 0x00C. 35 32 36 33 What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/rrp 37 34 Date: March 2016 38 35 KernelVersion: 4.7 39 36 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 40 - Description: (R) Shows the value held by the ETB RAM Read Pointer register 37 + Description: (Read) Shows the value held by the ETB RAM Read Pointer register 41 38 that is used to read entries from the Trace RAM over the APB 42 39 interface. The value is read directly from HW register RRP, 43 40 0x014. ··· 46 43 Date: March 2016 47 44 KernelVersion: 4.7 48 45 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 49 - Description: (R) Shows the value held by the ETB RAM Write Pointer register 46 + Description: (Read) Shows the value held by the ETB RAM Write Pointer register 50 47 that is used to sets the write pointer to write entries from 51 48 the CoreSight bus into the Trace RAM. The value is read directly 52 49 from HW register RWP, 0x018. ··· 55 52 Date: March 2016 56 53 KernelVersion: 4.7 57 54 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 58 - Description: (R) Similar to "trigger_cntr" above except that this value is 55 + Description: (Read) Similar to "trigger_cntr" above except that this value is 59 56 read directly from HW register TRG, 0x01C. 60 57 61 58 What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ctl 62 59 Date: March 2016 63 60 KernelVersion: 4.7 64 61 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 65 - Description: (R) Shows the value held by the ETB Control register. The value 62 + Description: (Read) Shows the value held by the ETB Control register. The value 66 63 is read directly from HW register CTL, 0x020. 67 64 68 65 What: /sys/bus/coresight/devices/<memory_map>.etb/mgmt/ffsr 69 66 Date: March 2016 70 67 KernelVersion: 4.7 71 68 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 72 - Description: (R) Shows the value held by the ETB Formatter and Flush Status 69 + Description: (Read) Shows the value held by the ETB Formatter and Flush Status 73 70 register. The value is read directly from HW register FFSR, 74 71 0x300. 75 72 ··· 77 74 Date: March 2016 78 75 KernelVersion: 4.7 79 76 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 80 - Description: (R) Shows the value held by the ETB Formatter and Flush Control 77 + Description: (Read) Shows the value held by the ETB Formatter and Flush Control 81 78 register. The value is read directly from HW register FFCR, 82 79 0x304.
+5 -5
Documentation/ABI/testing/sysfs-bus-coresight-devices-etm3x
··· 146 146 Date: November 2014 147 147 KernelVersion: 3.19 148 148 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 149 - Description: (R) Provides the number of address comparators pairs accessible 149 + Description: (Read) Provides the number of address comparators pairs accessible 150 150 on a trace unit, as specified by bit 3:0 of register ETMCCR. 151 151 152 152 What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_cntr 153 153 Date: November 2014 154 154 KernelVersion: 3.19 155 155 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 156 - Description: (R) Provides the number of counters accessible on a trace unit, 156 + Description: (Read) Provides the number of counters accessible on a trace unit, 157 157 as specified by bit 15:13 of register ETMCCR. 158 158 159 159 What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/nr_ctxid_cmp 160 160 Date: November 2014 161 161 KernelVersion: 3.19 162 162 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 163 - Description: (R) Provides the number of context ID comparator available on a 163 + Description: (Read) Provides the number of context ID comparator available on a 164 164 trace unit, as specified by bit 25:24 of register ETMCCR. 165 165 166 166 What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/reset 167 167 Date: November 2014 168 168 KernelVersion: 3.19 169 169 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 170 - Description: (W) Cancels all configuration on a trace unit and set it back 170 + Description: (Write) Cancels all configuration on a trace unit and set it back 171 171 to its boot configuration. 172 172 173 173 What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/seq_12_event ··· 216 216 Date: November 2014 217 217 KernelVersion: 3.19 218 218 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 219 - Description: (R) Holds the current state of the sequencer. 219 + Description: (Read) Holds the current state of the sequencer. 220 220 221 221 What: /sys/bus/coresight/devices/<memory_map>.[etm|ptm]/sync_freq 222 222 Date: November 2014
+38 -38
Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x
··· 12 12 Date: April 2015 13 13 KernelVersion: 4.01 14 14 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 15 - Description: (R) The CPU this tracing entity is associated with. 15 + Description: (Read) The CPU this tracing entity is associated with. 16 16 17 17 What: /sys/bus/coresight/devices/etm<N>/nr_pe_cmp 18 18 Date: April 2015 19 19 KernelVersion: 4.01 20 20 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 21 - Description: (R) Indicates the number of PE comparator inputs that are 21 + Description: (Read) Indicates the number of PE comparator inputs that are 22 22 available for tracing. 23 23 24 24 What: /sys/bus/coresight/devices/etm<N>/nr_addr_cmp 25 25 Date: April 2015 26 26 KernelVersion: 4.01 27 27 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 28 - Description: (R) Indicates the number of address comparator pairs that are 28 + Description: (Read) Indicates the number of address comparator pairs that are 29 29 available for tracing. 30 30 31 31 What: /sys/bus/coresight/devices/etm<N>/nr_cntr 32 32 Date: April 2015 33 33 KernelVersion: 4.01 34 34 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 35 - Description: (R) Indicates the number of counters that are available for 35 + Description: (Read) Indicates the number of counters that are available for 36 36 tracing. 37 37 38 38 What: /sys/bus/coresight/devices/etm<N>/nr_ext_inp 39 39 Date: April 2015 40 40 KernelVersion: 4.01 41 41 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 42 - Description: (R) Indicates how many external inputs are implemented. 42 + Description: (Read) Indicates how many external inputs are implemented. 43 43 44 44 What: /sys/bus/coresight/devices/etm<N>/numcidc 45 45 Date: April 2015 46 46 KernelVersion: 4.01 47 47 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 48 - Description: (R) Indicates the number of Context ID comparators that are 48 + Description: (Read) Indicates the number of Context ID comparators that are 49 49 available for tracing. 50 50 51 51 What: /sys/bus/coresight/devices/etm<N>/numvmidc 52 52 Date: April 2015 53 53 KernelVersion: 4.01 54 54 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 55 - Description: (R) Indicates the number of VMID comparators that are available 55 + Description: (Read) Indicates the number of VMID comparators that are available 56 56 for tracing. 57 57 58 58 What: /sys/bus/coresight/devices/etm<N>/nrseqstate 59 59 Date: April 2015 60 60 KernelVersion: 4.01 61 61 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 62 - Description: (R) Indicates the number of sequencer states that are 62 + Description: (Read) Indicates the number of sequencer states that are 63 63 implemented. 64 64 65 65 What: /sys/bus/coresight/devices/etm<N>/nr_resource 66 66 Date: April 2015 67 67 KernelVersion: 4.01 68 68 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 69 - Description: (R) Indicates the number of resource selection pairs that are 69 + Description: (Read) Indicates the number of resource selection pairs that are 70 70 available for tracing. 71 71 72 72 What: /sys/bus/coresight/devices/etm<N>/nr_ss_cmp 73 73 Date: April 2015 74 74 KernelVersion: 4.01 75 75 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 76 - Description: (R) Indicates the number of single-shot comparator controls that 76 + Description: (Read) Indicates the number of single-shot comparator controls that 77 77 are available for tracing. 78 78 79 79 What: /sys/bus/coresight/devices/etm<N>/reset 80 80 Date: April 2015 81 81 KernelVersion: 4.01 82 82 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 83 - Description: (W) Cancels all configuration on a trace unit and set it back 83 + Description: (Write) Cancels all configuration on a trace unit and set it back 84 84 to its boot configuration. 85 85 86 86 What: /sys/bus/coresight/devices/etm<N>/mode ··· 300 300 Date: December 2019 301 301 KernelVersion: 5.5 302 302 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 303 - Description: (R) Print the current settings for the selected address 303 + Description: (Read) Print the current settings for the selected address 304 304 comparator. 305 305 306 306 What: /sys/bus/coresight/devices/etm<N>/sshot_idx ··· 319 319 Date: December 2019 320 320 KernelVersion: 5.5 321 321 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 322 - Description: (R) Print the current value of the selected single shot 322 + Description: (Read) Print the current value of the selected single shot 323 323 status register. 324 324 325 325 What: /sys/bus/coresight/devices/etm<N>/sshot_pe_ctrl ··· 333 333 Date: April 2015 334 334 KernelVersion: 4.01 335 335 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 336 - Description: (R) Print the content of the OS Lock Status Register (0x304). 336 + Description: (Read) Print the content of the OS Lock Status Register (0x304). 337 337 The value it taken directly from the HW. 338 338 339 339 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdcr 340 340 Date: April 2015 341 341 KernelVersion: 4.01 342 342 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 343 - Description: (R) Print the content of the Power Down Control Register 343 + Description: (Read) Print the content of the Power Down Control Register 344 344 (0x310). The value is taken directly from the HW. 345 345 346 346 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpdsr 347 347 Date: April 2015 348 348 KernelVersion: 4.01 349 349 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 350 - Description: (R) Print the content of the Power Down Status Register 350 + Description: (Read) Print the content of the Power Down Status Register 351 351 (0x314). The value is taken directly from the HW. 352 352 353 353 What: /sys/bus/coresight/devices/etm<N>/mgmt/trclsr 354 354 Date: April 2015 355 355 KernelVersion: 4.01 356 356 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 357 - Description: (R) Print the content of the SW Lock Status Register 357 + Description: (Read) Print the content of the SW Lock Status Register 358 358 (0xFB4). The value is taken directly from the HW. 359 359 360 360 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcauthstatus 361 361 Date: April 2015 362 362 KernelVersion: 4.01 363 363 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 364 - Description: (R) Print the content of the Authentication Status Register 364 + Description: (Read) Print the content of the Authentication Status Register 365 365 (0xFB8). The value is taken directly from the HW. 366 366 367 367 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevid 368 368 Date: April 2015 369 369 KernelVersion: 4.01 370 370 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 371 - Description: (R) Print the content of the Device ID Register 371 + Description: (Read) Print the content of the Device ID Register 372 372 (0xFC8). The value is taken directly from the HW. 373 373 374 374 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcdevtype 375 375 Date: April 2015 376 376 KernelVersion: 4.01 377 377 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 378 - Description: (R) Print the content of the Device Type Register 378 + Description: (Read) Print the content of the Device Type Register 379 379 (0xFCC). The value is taken directly from the HW. 380 380 381 381 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr0 382 382 Date: April 2015 383 383 KernelVersion: 4.01 384 384 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 385 - Description: (R) Print the content of the Peripheral ID0 Register 385 + Description: (Read) Print the content of the Peripheral ID0 Register 386 386 (0xFE0). The value is taken directly from the HW. 387 387 388 388 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr1 389 389 Date: April 2015 390 390 KernelVersion: 4.01 391 391 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 392 - Description: (R) Print the content of the Peripheral ID1 Register 392 + Description: (Read) Print the content of the Peripheral ID1 Register 393 393 (0xFE4). The value is taken directly from the HW. 394 394 395 395 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr2 396 396 Date: April 2015 397 397 KernelVersion: 4.01 398 398 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 399 - Description: (R) Print the content of the Peripheral ID2 Register 399 + Description: (Read) Print the content of the Peripheral ID2 Register 400 400 (0xFE8). The value is taken directly from the HW. 401 401 402 402 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcpidr3 403 403 Date: April 2015 404 404 KernelVersion: 4.01 405 405 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 406 - Description: (R) Print the content of the Peripheral ID3 Register 406 + Description: (Read) Print the content of the Peripheral ID3 Register 407 407 (0xFEC). The value is taken directly from the HW. 408 408 409 409 What: /sys/bus/coresight/devices/etm<N>/mgmt/trcconfig 410 410 Date: February 2016 411 411 KernelVersion: 4.07 412 412 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 413 - Description: (R) Print the content of the trace configuration register 413 + Description: (Read) Print the content of the trace configuration register 414 414 (0x010) as currently set by SW. 415 415 416 416 What: /sys/bus/coresight/devices/etm<N>/mgmt/trctraceid 417 417 Date: February 2016 418 418 KernelVersion: 4.07 419 419 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 420 - Description: (R) Print the content of the trace ID register (0x040). 420 + Description: (Read) Print the content of the trace ID register (0x040). 421 421 422 422 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr0 423 423 Date: April 2015 424 424 KernelVersion: 4.01 425 425 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 426 - Description: (R) Returns the tracing capabilities of the trace unit (0x1E0). 426 + Description: (Read) Returns the tracing capabilities of the trace unit (0x1E0). 427 427 The value is taken directly from the HW. 428 428 429 429 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr1 430 430 Date: April 2015 431 431 KernelVersion: 4.01 432 432 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 433 - Description: (R) Returns the tracing capabilities of the trace unit (0x1E4). 433 + Description: (Read) Returns the tracing capabilities of the trace unit (0x1E4). 434 434 The value is taken directly from the HW. 435 435 436 436 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr2 437 437 Date: April 2015 438 438 KernelVersion: 4.01 439 439 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 440 - Description: (R) Returns the maximum size of the data value, data address, 440 + Description: (Read) Returns the maximum size of the data value, data address, 441 441 VMID, context ID and instuction address in the trace unit 442 442 (0x1E8). The value is taken directly from the HW. 443 443 ··· 445 445 Date: April 2015 446 446 KernelVersion: 4.01 447 447 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 448 - Description: (R) Returns the value associated with various resources 448 + Description: (Read) Returns the value associated with various resources 449 449 available to the trace unit. See the Trace Macrocell 450 450 architecture specification for more details (0x1E8). 451 451 The value is taken directly from the HW. ··· 454 454 Date: April 2015 455 455 KernelVersion: 4.01 456 456 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 457 - Description: (R) Returns how many resources the trace unit supports (0x1F0). 457 + Description: (Read) Returns how many resources the trace unit supports (0x1F0). 458 458 The value is taken directly from the HW. 459 459 460 460 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr5 461 461 Date: April 2015 462 462 KernelVersion: 4.01 463 463 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 464 - Description: (R) Returns how many resources the trace unit supports (0x1F4). 464 + Description: (Read) Returns how many resources the trace unit supports (0x1F4). 465 465 The value is taken directly from the HW. 466 466 467 467 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr8 468 468 Date: April 2015 469 469 KernelVersion: 4.01 470 470 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 471 - Description: (R) Returns the maximum speculation depth of the instruction 471 + Description: (Read) Returns the maximum speculation depth of the instruction 472 472 trace stream. (0x180). The value is taken directly from the HW. 473 473 474 474 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr9 475 475 Date: April 2015 476 476 KernelVersion: 4.01 477 477 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 478 - Description: (R) Returns the number of P0 right-hand keys that the trace unit 478 + Description: (Read) Returns the number of P0 right-hand keys that the trace unit 479 479 can use (0x184). The value is taken directly from the HW. 480 480 481 481 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr10 482 482 Date: April 2015 483 483 KernelVersion: 4.01 484 484 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 485 - Description: (R) Returns the number of P1 right-hand keys that the trace unit 485 + Description: (Read) Returns the number of P1 right-hand keys that the trace unit 486 486 can use (0x188). The value is taken directly from the HW. 487 487 488 488 What: /sys/bus/coresight/devices/etm<N>/trcidr/trcidr11 489 489 Date: April 2015 490 490 KernelVersion: 4.01 491 491 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 492 - Description: (R) Returns the number of special P1 right-hand keys that the 492 + Description: (Read) Returns the number of special P1 right-hand keys that the 493 493 trace unit can use (0x18C). The value is taken directly from 494 494 the HW. 495 495 ··· 497 497 Date: April 2015 498 498 KernelVersion: 4.01 499 499 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 500 - Description: (R) Returns the number of conditional P1 right-hand keys that 500 + Description: (Read) Returns the number of conditional P1 right-hand keys that 501 501 the trace unit can use (0x190). The value is taken directly 502 502 from the HW. 503 503 ··· 505 505 Date: April 2015 506 506 KernelVersion: 4.01 507 507 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 508 - Description: (R) Returns the number of special conditional P1 right-hand keys 508 + Description: (Read) Returns the number of special conditional P1 right-hand keys 509 509 that the trace unit can use (0x194). The value is taken 510 510 directly from the HW.
+1 -1
Documentation/ABI/testing/sysfs-bus-coresight-devices-stm
··· 42 42 Date: April 2016 43 43 KernelVersion: 4.7 44 44 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 45 - Description: (R) List various control and status registers. The specific 45 + Description: (Read) List various control and status registers. The specific 46 46 layout and content is driver specific. 47 47 48 48 What: /sys/bus/coresight/devices/<memory_map>.stm/traceid
+10 -10
Documentation/ABI/testing/sysfs-bus-coresight-devices-tmc
··· 11 11 Date: March 2016 12 12 KernelVersion: 4.7 13 13 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 14 - Description: (R) Defines the size, in 32-bit words, of the local RAM buffer. 14 + Description: (Read) Defines the size, in 32-bit words, of the local RAM buffer. 15 15 The value is read directly from HW register RSZ, 0x004. 16 16 17 17 What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/sts 18 18 Date: March 2016 19 19 KernelVersion: 4.7 20 20 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 21 - Description: (R) Shows the value held by the TMC status register. The value 21 + Description: (Read) Shows the value held by the TMC status register. The value 22 22 is read directly from HW register STS, 0x00C. 23 23 24 24 What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/rrp 25 25 Date: March 2016 26 26 KernelVersion: 4.7 27 27 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 28 - Description: (R) Shows the value held by the TMC RAM Read Pointer register 28 + Description: (Read) Shows the value held by the TMC RAM Read Pointer register 29 29 that is used to read entries from the Trace RAM over the APB 30 30 interface. The value is read directly from HW register RRP, 31 31 0x014. ··· 34 34 Date: March 2016 35 35 KernelVersion: 4.7 36 36 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 37 - Description: (R) Shows the value held by the TMC RAM Write Pointer register 37 + Description: (Read) Shows the value held by the TMC RAM Write Pointer register 38 38 that is used to sets the write pointer to write entries from 39 39 the CoreSight bus into the Trace RAM. The value is read directly 40 40 from HW register RWP, 0x018. ··· 43 43 Date: March 2016 44 44 KernelVersion: 4.7 45 45 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 46 - Description: (R) Similar to "trigger_cntr" above except that this value is 46 + Description: (Read) Similar to "trigger_cntr" above except that this value is 47 47 read directly from HW register TRG, 0x01C. 48 48 49 49 What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ctl 50 50 Date: March 2016 51 51 KernelVersion: 4.7 52 52 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 53 - Description: (R) Shows the value held by the TMC Control register. The value 53 + Description: (Read) Shows the value held by the TMC Control register. The value 54 54 is read directly from HW register CTL, 0x020. 55 55 56 56 What: /sys/bus/coresight/devices/<memory_map>.tmc/mgmt/ffsr 57 57 Date: March 2016 58 58 KernelVersion: 4.7 59 59 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 60 - Description: (R) Shows the value held by the TMC Formatter and Flush Status 60 + Description: (Read) Shows the value held by the TMC Formatter and Flush Status 61 61 register. The value is read directly from HW register FFSR, 62 62 0x300. 63 63 ··· 65 65 Date: March 2016 66 66 KernelVersion: 4.7 67 67 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 68 - Description: (R) Shows the value held by the TMC Formatter and Flush Control 68 + Description: (Read) Shows the value held by the TMC Formatter and Flush Control 69 69 register. The value is read directly from HW register FFCR, 70 70 0x304. 71 71 ··· 73 73 Date: March 2016 74 74 KernelVersion: 4.7 75 75 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 76 - Description: (R) Shows the value held by the TMC Mode register, which 76 + Description: (Read) Shows the value held by the TMC Mode register, which 77 77 indicate the mode the device has been configured to enact. The 78 78 The value is read directly from the MODE register, 0x028. 79 79 ··· 81 81 Date: March 2016 82 82 KernelVersion: 4.7 83 83 Contact: Mathieu Poirier <mathieu.poirier@linaro.org> 84 - Description: (R) Indicates the capabilities of the Coresight TMC. 84 + Description: (Read) Indicates the capabilities of the Coresight TMC. 85 85 The value is read directly from the DEVID register, 0xFC8, 86 86 87 87 What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size
+3
Documentation/ABI/testing/sysfs-bus-css
··· 20 20 Description: Contains the ids of the channel paths used by this 21 21 subchannel, as reported by the channel subsystem 22 22 during subchannel recognition. 23 + 23 24 Note: This is an I/O-subchannel specific attribute. 24 25 Users: s390-tools, HAL 25 26 ··· 32 31 channel subsystem when last queried by the common I/O 33 32 layer (this implies that this attribute is not necessarily 34 33 in sync with the values current in the channel subsystem). 34 + 35 35 Note: This is an I/O-subchannel specific attribute. 36 36 Users: s390-tools, HAL 37 37 ··· 55 53 opt-out of driver binding using a driver_override name such as 56 54 "none". Only a single driver may be specified in the override, 57 55 there is no support for parsing delimiters. 56 + 58 57 Note that unlike the mechanism of the same name for pci, this 59 58 file does not allow to override basic matching rules. I.e., 60 59 the driver must still match the subchannel type of the device.
+2
Documentation/ABI/testing/sysfs-bus-dfl
··· 4 4 Contact: Xu Yilun <yilun.xu@intel.com> 5 5 Description: Read-only. It returns type of DFL FIU of the device. Now DFL 6 6 supports 2 FIU types, 0 for FME, 1 for PORT. 7 + 7 8 Format: 0x%x 8 9 9 10 What: /sys/bus/dfl/devices/dfl_dev.X/feature_id ··· 13 12 Contact: Xu Yilun <yilun.xu@intel.com> 14 13 Description: Read-only. It returns feature identifier local to its DFL FIU 15 14 type. 15 + 16 16 Format: 0x%x
+7 -7
Documentation/ABI/testing/sysfs-bus-event_source-devices-dfl_fme
··· 8 8 9 9 Each attribute under this group defines a bit range of the 10 10 perf_event_attr.config. All supported attributes are listed 11 - below. 11 + below:: 12 12 13 13 event = "config:0-11" - event ID 14 14 evtype = "config:12-15" - event type 15 15 portid = "config:16-23" - event source 16 16 17 - For example, 17 + For example:: 18 18 19 19 fab_mmio_read = "event=0x06,evtype=0x02,portid=0xff" 20 20 ··· 40 40 41 41 All supported performance monitoring events are listed below. 42 42 43 - Basic events (evtype=0x00) 43 + Basic events (evtype=0x00):: 44 44 45 45 clock = "event=0x00,evtype=0x00,portid=0xff" 46 46 47 - Cache events (evtype=0x01) 47 + Cache events (evtype=0x01):: 48 48 49 49 cache_read_hit = "event=0x00,evtype=0x01,portid=0xff" 50 50 cache_read_miss = "event=0x01,evtype=0x01,portid=0xff" ··· 59 59 cache_rx_req_stall = "event=0x09,evtype=0x01,portid=0xff" 60 60 cache_eviction = "event=0x0a,evtype=0x01,portid=0xff" 61 61 62 - Fabric events (evtype=0x02) 62 + Fabric events (evtype=0x02):: 63 63 64 64 fab_pcie0_read = "event=0x00,evtype=0x02,portid=0xff" 65 65 fab_pcie0_write = "event=0x01,evtype=0x02,portid=0xff" ··· 78 78 fab_port_mmio_read = "event=0x06,evtype=0x02,portid=?" 79 79 fab_port_mmio_write = "event=0x07,evtype=0x02,portid=?" 80 80 81 - VTD events (evtype=0x03) 81 + VTD events (evtype=0x03):: 82 82 83 83 vtd_port_read_transaction = "event=0x00,evtype=0x03,portid=?" 84 84 vtd_port_write_transaction = "event=0x01,evtype=0x03,portid=?" ··· 88 88 vtd_port_devtlb_2m_fill = "event=0x05,evtype=0x03,portid=?" 89 89 vtd_port_devtlb_1g_fill = "event=0x06,evtype=0x03,portid=?" 90 90 91 - VTD SIP events (evtype=0x04) 91 + VTD SIP events (evtype=0x04):: 92 92 93 93 vtd_sip_iotlb_4k_hit = "event=0x00,evtype=0x04,portid=0xff" 94 94 vtd_sip_iotlb_2m_hit = "event=0x01,evtype=0x04,portid=0xff"
+2 -1
Documentation/ABI/testing/sysfs-bus-event_source-devices-format
··· 10 10 name/value pairs. 11 11 12 12 Userspace must be prepared for the possibility that attributes 13 - define overlapping bit ranges. For example: 13 + define overlapping bit ranges. For example:: 14 + 14 15 attr1 = 'config:0-23' 15 16 attr2 = 'config:0-7' 16 17 attr3 = 'config:12-35'
+3 -3
Documentation/ABI/testing/sysfs-bus-event_source-devices-hv_24x7
··· 7 7 8 8 Each attribute under this group defines a bit range of the 9 9 perf_event_attr.config. All supported attributes are listed 10 - below. 10 + below:: 11 11 12 12 chip = "config:16-31" 13 13 core = "config:16-31" ··· 16 16 offset = "config:32-63" 17 17 vcpu = "config:16-31" 18 18 19 - For example, 19 + For example:: 20 20 21 - PM_PB_CYC = "domain=1,offset=0x80,chip=?,lpar=0x0" 21 + PM_PB_CYC = "domain=1,offset=0x80,chip=?,lpar=0x0" 22 22 23 23 In this event, '?' after chip specifies that 24 24 this value will be provided by user while running this event.
+4 -3
Documentation/ABI/testing/sysfs-bus-event_source-devices-hv_gpci
··· 7 7 8 8 Each attribute under this group defines a bit range of the 9 9 perf_event_attr.config. All supported attributes are listed 10 - below. 10 + below:: 11 11 12 12 counter_info_version = "config:16-23" 13 13 length = "config:24-31" ··· 20 20 secondary_index = "config:0-15" 21 21 starting_index = "config:32-63" 22 22 23 - For example, 23 + For example:: 24 24 25 - processor_core_utilization_instructions_completed = "request=0x94, 25 + processor_core_utilization_instructions_completed = "request=0x94, 26 26 phys_processor_idx=?,counter_info_version=0x8, 27 27 length=8,offset=0x18" 28 28 ··· 36 36 '0' if the hypervisor is configured to forbid access to event 37 37 counters being accumulated by other guests and to physical 38 38 domain event counters. 39 + 39 40 '1' if that access is allowed. 40 41 41 42 What: /sys/bus/event_source/devices/hv_gpci/interface/ga
+45 -23
Documentation/ABI/testing/sysfs-bus-fcoe
··· 3 3 KernelVersion: TBD 4 4 Contact: Robert Love <robert.w.love@intel.com>, devel@open-fcoe.org 5 5 Description: The FCoE bus. Attributes in this directory are control interfaces. 6 + 6 7 Attributes: 7 8 8 - ctlr_create: 'FCoE Controller' instance creation interface. Writing an 9 + ctlr_create: 10 + 'FCoE Controller' instance creation interface. Writing an 9 11 <ifname> to this file will allocate and populate sysfs with a 10 12 fcoe_ctlr_device (ctlr_X). The user can then configure any 11 13 per-port settings and finally write to the fcoe_ctlr_device's 12 14 'start' attribute to begin the kernel's discovery and login 13 15 process. 14 16 15 - ctlr_destroy: 'FCoE Controller' instance removal interface. Writing a 17 + ctlr_destroy: 18 + 'FCoE Controller' instance removal interface. Writing a 16 19 fcoe_ctlr_device's sysfs name to this file will log the 17 20 fcoe_ctlr_device out of the fabric or otherwise connected 18 21 FCoE devices. It will also free all kernel memory allocated ··· 35 32 36 33 Attributes: 37 34 38 - fcf_dev_loss_tmo: Device loss timeout period (see below). Changing 35 + fcf_dev_loss_tmo: 36 + Device loss timeout period (see below). Changing 39 37 this value will change the dev_loss_tmo for all 40 38 FCFs discovered by this controller. 41 39 42 - mode: Display or change the FCoE Controller's mode. Possible 40 + mode: 41 + Display or change the FCoE Controller's mode. Possible 43 42 modes are 'Fabric' and 'VN2VN'. If a FCoE Controller 44 43 is started in 'Fabric' mode then FIP FCF discovery is 45 44 initiated and ultimately a fabric login is attempted. ··· 49 44 FIP VN2VN discovery and login is performed. A FCoE 50 45 Controller only supports one mode at a time. 51 46 52 - enabled: Whether an FCoE controller is enabled or disabled. 47 + enabled: 48 + Whether an FCoE controller is enabled or disabled. 53 49 0 if disabled, 1 if enabled. Writing either 0 or 1 54 50 to this file will enable or disable the FCoE controller. 55 51 56 - lesb/link_fail: Link Error Status Block (LESB) link failure count. 52 + lesb/link_fail: 53 + Link Error Status Block (LESB) link failure count. 57 54 58 - lesb/vlink_fail: Link Error Status Block (LESB) virtual link 55 + lesb/vlink_fail: 56 + Link Error Status Block (LESB) virtual link 59 57 failure count. 60 58 61 - lesb/miss_fka: Link Error Status Block (LESB) missed FCoE 59 + lesb/miss_fka: 60 + Link Error Status Block (LESB) missed FCoE 62 61 Initialization Protocol (FIP) Keep-Alives (FKA). 63 62 64 - lesb/symb_err: Link Error Status Block (LESB) symbolic error count. 63 + lesb/symb_err: 64 + Link Error Status Block (LESB) symbolic error count. 65 65 66 - lesb/err_block: Link Error Status Block (LESB) block error count. 66 + lesb/err_block: 67 + Link Error Status Block (LESB) block error count. 67 68 68 - lesb/fcs_error: Link Error Status Block (LESB) Fibre Channel 69 + lesb/fcs_error: 70 + Link Error Status Block (LESB) Fibre Channel 69 71 Services error count. 70 72 71 73 Notes: ctlr_X (global increment starting at 0) ··· 87 75 Fibre Channel frames into a FC fabric. It can also take 88 76 outbound FC frames and pack them in Ethernet packets to 89 77 be sent to their destination on the Ethernet segment. 78 + 90 79 Attributes: 91 80 92 - fabric_name: Identifies the fabric that the FCF services. 81 + fabric_name: 82 + Identifies the fabric that the FCF services. 93 83 94 - switch_name: Identifies the FCF. 84 + switch_name: 85 + Identifies the FCF. 95 86 96 - priority: The switch's priority amongst other FCFs on the same 87 + priority: 88 + The switch's priority amongst other FCFs on the same 97 89 fabric. 98 90 99 - selected: 1 indicates that the switch has been selected for use; 91 + selected: 92 + 1 indicates that the switch has been selected for use; 100 93 0 indicates that the switch will not be used. 101 94 102 - fc_map: The Fibre Channel MAP 95 + fc_map: 96 + The Fibre Channel MAP 103 97 104 - vfid: The Virtual Fabric ID 98 + vfid: 99 + The Virtual Fabric ID 105 100 106 - mac: The FCF's MAC address 101 + mac: 102 + The FCF's MAC address 107 103 108 - fka_period: The FIP Keep-Alive period 104 + fka_period: 105 + The FIP Keep-Alive period 109 106 110 107 fabric_state: The internal kernel state 111 - "Unknown" - Initialization value 112 - "Disconnected" - No link to the FCF/fabric 113 - "Connected" - Host is connected to the FCF 114 - "Deleted" - FCF is being removed from the system 108 + 109 + - "Unknown" - Initialization value 110 + - "Disconnected" - No link to the FCF/fabric 111 + - "Connected" - Host is connected to the FCF 112 + - "Deleted" - FCF is being removed from the system 115 113 116 114 dev_loss_tmo: The device loss timeout period for this FCF. 117 115
+8 -4
Documentation/ABI/testing/sysfs-bus-fsl-mc
··· 6 6 the driver to attempt to bind to the device found at 7 7 this location. The format for the location is Object.Id 8 8 and is the same as found in /sys/bus/fsl-mc/devices/. 9 - For example: 10 - # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind 9 + 10 + For example:: 11 + 12 + # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/bind 11 13 12 14 What: /sys/bus/fsl-mc/drivers/.../unbind 13 15 Date: December 2016 ··· 19 17 driver to attempt to unbind from the device found at 20 18 this location. The format for the location is Object.Id 21 19 and is the same as found in /sys/bus/fsl-mc/devices/. 22 - For example: 23 - # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind 20 + 21 + For example:: 22 + 23 + # echo dpni.2 > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind
+16 -10
Documentation/ABI/testing/sysfs-bus-i2c-devices-fsa9480
··· 3 3 Contact: Minkyu Kang <mk7.kang@samsung.com> 4 4 Description: 5 5 show what device is attached 6 - NONE - no device 7 - USB - USB device is attached 8 - UART - UART is attached 9 - CHARGER - Charger is attaced 10 - JIG - JIG is attached 6 + 7 + ======= ====================== 8 + NONE no device 9 + USB USB device is attached 10 + UART UART is attached 11 + CHARGER Charger is attaced 12 + JIG JIG is attached 13 + ======= ====================== 11 14 12 15 What: /sys/bus/i2c/devices/.../switch 13 16 Date: February 2011 14 17 Contact: Minkyu Kang <mk7.kang@samsung.com> 15 18 Description: 16 19 show or set the state of manual switch 17 - VAUDIO - switch to VAUDIO path 18 - UART - switch to UART path 19 - AUDIO - switch to AUDIO path 20 - DHOST - switch to DHOST path 21 - AUTO - switch automatically by device 20 + 21 + ======= ============================== 22 + VAUDIO switch to VAUDIO path 23 + UART switch to UART path 24 + AUDIO switch to AUDIO path 25 + DHOST switch to DHOST path 26 + AUTO switch automatically by device 27 + ======= ==============================
+15 -12
Documentation/ABI/testing/sysfs-bus-i2c-devices-pca954x
··· 6 6 Value that exists only for mux devices that can be 7 7 written to control the behaviour of the multiplexer on 8 8 idle. Possible values: 9 - -2 - disconnect on idle, i.e. deselect the last used 10 - channel, which is useful when there is a device 11 - with an address that conflicts with another 12 - device on another mux on the same parent bus. 13 - -1 - leave the mux as-is, which is the most optimal 14 - setting in terms of I2C operations and is the 15 - default mode. 16 - 0..<nchans> - set the mux to a predetermined channel, 17 - which is useful if there is one channel that is 18 - used almost always, and you want to reduce the 19 - latency for normal operations after rare 20 - transactions on other channels 9 + 10 + =========== =============================================== 11 + -2 disconnect on idle, i.e. deselect the last used 12 + channel, which is useful when there is a device 13 + with an address that conflicts with another 14 + device on another mux on the same parent bus. 15 + -1 leave the mux as-is, which is the most optimal 16 + setting in terms of I2C operations and is the 17 + default mode. 18 + 0..<nchans> set the mux to a predetermined channel, 19 + which is useful if there is one channel that is 20 + used almost always, and you want to reduce the 21 + latency for normal operations after rare 22 + transactions on other channels 23 + =========== ===============================================
+2
Documentation/ABI/testing/sysfs-bus-i3c
··· 84 84 by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". 85 85 See the I3C specification for more details about these HDR 86 86 modes. 87 + 87 88 This entry describes the HDRCAP of the master controller 88 89 driving the bus. 89 90 ··· 136 135 Expose the HDR (High Data Rate) capabilities of a device. 137 136 Returns a list of supported HDR mode, each element is separated 138 137 by space. Modes can be "hdr-ddr", "hdr-tsp" and "hdr-tsl". 138 + 139 139 See the I3C specification for more details about these HDR 140 140 modes. 141 141
+29 -1
Documentation/ABI/testing/sysfs-bus-iio
··· 15 15 based on hardware generated events (e.g. data ready) or 16 16 provided by a separate driver for other hardware (e.g. 17 17 periodic timer, GPIO or high resolution timer). 18 + 18 19 Contains trigger type specific elements. These do not 19 20 generalize well and hence are not documented in this file. 20 21 X is the IIO index of the trigger. ··· 66 65 Description: 67 66 When the internal sampling clock can only take a specific set of 68 67 frequencies, we can specify the available values with: 68 + 69 69 - a small discrete set of values like "0 2 4 6 8" 70 70 - a range with minimum, step and maximum frequencies like 71 71 "[min step max]" ··· 667 665 <type>[Y][_name]_<raw|input>_thresh_falling_value may take 668 666 different values, but the device can only enable both thresholds 669 667 or neither. 668 + 670 669 Note the driver will assume the last p events requested are 671 670 to be enabled where p is how many it supports (which may vary 672 671 depending on the exact set requested. So if you want to be ··· 722 719 <type>[Y][_name]_<raw|input>_roc_falling_value may take 723 720 different values, but the device can only enable both rate of 724 721 change thresholds or neither. 722 + 725 723 Note the driver will assume the last p events requested are 726 724 to be enabled where p is however many it supports (which may 727 725 vary depending on the exact set requested. So if you want to be ··· 778 774 Specifies the value of threshold that the device is comparing 779 775 against for the events enabled by 780 776 <type>Y[_name]_thresh[_rising|falling]_en. 777 + 781 778 If separate attributes exist for the two directions, but 782 779 direction is not specified for this attribute, then a single 783 780 threshold value applies to both directions. 781 + 784 782 The raw or input element of the name indicates whether the 785 783 value is in raw device units or in processed units (as _raw 786 784 and _input do on sysfs direct channel read attributes). ··· 865 859 If separate attributes exist for the two directions, but 866 860 direction is not specified for this attribute, then a single 867 861 hysteresis value applies to both directions. 862 + 868 863 For falling events the hysteresis is added to the _value attribute for 869 864 this event to get the upper threshold for when the event goes back to 870 865 normal, for rising events the hysteresis is subtracted from the _value ··· 912 905 Specifies the value of rate of change threshold that the 913 906 device is comparing against for the events enabled by 914 907 <type>[Y][_name]_roc[_rising|falling]_en. 908 + 915 909 If separate attributes exist for the two directions, 916 910 but direction is not specified for this attribute, 917 911 then a single threshold value applies to both directions. ··· 1312 1304 Proximity measurement indicating that some 1313 1305 object is near the sensor, usually by observing 1314 1306 reflectivity of infrared or ultrasound emitted. 1307 + 1315 1308 Often these sensors are unit less and as such conversion 1316 1309 to SI units is not possible. Higher proximity measurements 1317 1310 indicate closer objects, and vice versa. Units after ··· 1458 1449 Description: 1459 1450 A single positive integer specifying the maximum number of scan 1460 1451 elements to wait for. 1452 + 1461 1453 Poll will block until the watermark is reached. 1454 + 1462 1455 Blocking read will wait until the minimum between the requested 1463 1456 read amount or the low water mark is available. 1457 + 1464 1458 Non-blocking read will retrieve the available samples from the 1465 1459 buffer even if there are less samples then watermark level. This 1466 1460 allows the application to block on poll with a timeout and read ··· 1492 1480 device settings allows it (e.g. if a trigger is set that samples 1493 1481 data differently that the hardware fifo does then hardware fifo 1494 1482 will not enabled). 1483 + 1495 1484 If the hardware fifo is enabled and the level of the hardware 1496 1485 fifo reaches the hardware fifo watermark level the device will 1497 1486 flush its hardware fifo to the device buffer. Doing a non 1498 1487 blocking read on the device when no samples are present in the 1499 1488 device buffer will also force a flush. 1489 + 1500 1490 When the hardware fifo is enabled there is no need to use a 1501 1491 trigger to use buffer mode since the watermark settings 1502 1492 guarantees that the hardware fifo is flushed to the device ··· 1536 1522 A single positive integer specifying the minimum watermark level 1537 1523 for the hardware fifo of this device. If the device does not 1538 1524 have a hardware fifo this entry is not present. 1525 + 1539 1526 If the user sets buffer/watermark to a value less than this one, 1540 1527 then the hardware watermark will remain unset. 1541 1528 ··· 1547 1532 A single positive integer specifying the maximum watermark level 1548 1533 for the hardware fifo of this device. If the device does not 1549 1534 have a hardware fifo this entry is not present. 1535 + 1550 1536 If the user sets buffer/watermark to a value greater than this 1551 1537 one, then the hardware watermark will be capped at this value. 1552 1538 ··· 1559 1543 levels for the hardware fifo. This entry is optional and if it 1560 1544 is not present it means that all the values between 1561 1545 hwfifo_watermark_min and hwfifo_watermark_max are supported. 1546 + 1562 1547 If the user sets buffer/watermark to a value greater than 1563 1548 hwfifo_watermak_min but not equal to any of the values in this 1564 1549 list, the driver will chose an appropriate value for the ··· 1621 1604 Contact: linux-iio@vger.kernel.org 1622 1605 Description: 1623 1606 '1' (enable) or '0' (disable) specifying the enable 1624 - of heater function. Same reading values apply 1607 + of heater function. Same reading values apply. 1608 + 1625 1609 This ABI is especially applicable for humidity sensors 1626 1610 to heatup the device and get rid of any condensation 1627 1611 in some humidity environment ··· 1645 1627 Mounting matrix for IIO sensors. This is a rotation matrix which 1646 1628 informs userspace about sensor chip's placement relative to the 1647 1629 main hardware it is mounted on. 1630 + 1648 1631 Main hardware placement is defined according to the local 1649 1632 reference frame related to the physical quantity the sensor 1650 1633 measures. 1634 + 1651 1635 Given that the rotation matrix is defined in a board specific 1652 1636 way (platform data and / or device-tree), the main hardware 1653 1637 reference frame definition is left to the implementor's choice 1654 1638 (see below for a magnetometer example). 1639 + 1655 1640 Applications should apply this rotation matrix to samples so 1656 1641 that when main hardware reference frame is aligned onto local 1657 1642 reference frame, then sensor chip reference frame is also 1658 1643 perfectly aligned with it. 1644 + 1659 1645 Matrix is a 3x3 unitary matrix and typically looks like 1660 1646 [0, 1, 0; 1, 0, 0; 0, 0, -1]. Identity matrix 1661 1647 [1, 0, 0; 0, 1, 0; 0, 0, 1] means sensor chip and main hardware ··· 1668 1646 For example, a mounting matrix for a magnetometer sensor informs 1669 1647 userspace about sensor chip's ORIENTATION relative to the main 1670 1648 hardware. 1649 + 1671 1650 More specifically, main hardware orientation is defined with 1672 1651 respect to the LOCAL EARTH GEOMAGNETIC REFERENCE FRAME where : 1652 + 1673 1653 * Y is in the ground plane and positive towards magnetic North ; 1674 1654 * X is in the ground plane, perpendicular to the North axis and 1675 1655 positive towards the East ; ··· 1680 1656 An implementor might consider that for a hand-held device, a 1681 1657 'natural' orientation would be 'front facing camera at the top'. 1682 1658 The main hardware reference frame could then be described as : 1659 + 1683 1660 * Y is in the plane of the screen and is positive towards the 1684 1661 top of the screen ; 1685 1662 * X is in the plane of the screen, perpendicular to Y axis, and 1686 1663 positive towards the right hand side of the screen ; 1687 1664 * Z is perpendicular to the screen plane and positive out of the 1688 1665 screen. 1666 + 1689 1667 Another example for a quadrotor UAV might be : 1668 + 1690 1669 * Y is in the plane of the propellers and positive towards the 1691 1670 front-view camera; 1692 1671 * X is in the plane of the propellers, perpendicular to Y axis, ··· 1731 1704 This interface is deprecated; please use the Counter subsystem. 1732 1705 1733 1706 A list of possible counting directions which are: 1707 + 1734 1708 - "up" : counter device is increasing. 1735 1709 - "down": counter device is decreasing. 1736 1710
+4 -1
Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
··· 5 5 Description: 6 6 The DAC is used to find the peak level of an alternating 7 7 voltage input signal by a binary search using the output 8 - of a comparator wired to an interrupt pin. Like so: 8 + of a comparator wired to an interrupt pin. Like so:: 9 + 9 10 _ 10 11 | \ 11 12 input +------>-------|+ \ ··· 20 19 | irq|------<-------' 21 20 | | 22 21 '-------' 22 + 23 23 The boolean invert attribute (0/1) should be set when the 24 24 input signal is centered around the maximum value of the 25 25 dac instead of zero. The envelope detector will search 26 26 from below in this case and will also invert the result. 27 + 27 28 The edge/level of the interrupt is also switched to its 28 29 opposite value. 29 30
+5
Documentation/ABI/testing/sysfs-bus-iio-adc-hi8435
··· 19 19 is separately set for "GND-Open" and "Supply-Open" modes. 20 20 Channels 0..31 have common low threshold values, but could have different 21 21 sensing_modes. 22 + 22 23 The low voltage threshold range is between 2..21V. 23 24 Hysteresis between low and high thresholds can not be lower then 2 and 24 25 can not be odd. 26 + 25 27 If falling threshold results hysteresis to odd value then rising 26 28 threshold is automatically subtracted by one. 27 29 ··· 36 34 this value then the threshold rising event is pushed. 37 35 Depending on in_voltageY_sensing_mode the high voltage threshold 38 36 is separately set for "GND-Open" and "Supply-Open" modes. 37 + 39 38 Channels 0..31 have common high threshold values, but could have different 40 39 sensing_modes. 40 + 41 41 The high voltage threshold range is between 3..22V. 42 42 Hysteresis between low and high thresholds can not be lower then 2 and 43 43 can not be odd. 44 + 44 45 If rising threshold results hysteresis to odd value then falling 45 46 threshold is automatically appended by one.
+3
Documentation/ABI/testing/sysfs-bus-iio-adc-stm32
··· 5 5 The STM32 ADC can be configured to use external trigger sources 6 6 (e.g. timers, pwm or exti gpio). Then, it can be tuned to start 7 7 conversions on external trigger by either: 8 + 8 9 - "rising-edge" 9 10 - "falling-edge" 10 11 - "both-edges". 12 + 11 13 Reading returns current trigger polarity. 14 + 12 15 Writing value before enabling conversions sets trigger polarity. 13 16 14 17 What: /sys/bus/iio/devices/triggerX/trigger_polarity_available
+1 -1
Documentation/ABI/testing/sysfs-bus-iio-cros-ec
··· 4 4 Contact: linux-iio@vger.kernel.org 5 5 Description: 6 6 Writing '1' will perform a FOC (Fast Online Calibration). The 7 - corresponding calibration offsets can be read from *_calibbias 7 + corresponding calibration offsets can be read from `*_calibbias` 8 8 entries. 9 9 10 10 What: /sys/bus/iio/devices/iio:deviceX/location
+7 -1
Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
··· 3 3 Contact: arnaud.pouliquen@st.com 4 4 Description: 5 5 For audio purpose only. 6 + 6 7 Used by audio driver to set/get the spi input frequency. 8 + 7 9 This is mandatory if DFSDM is slave on SPI bus, to 8 10 provide information on the SPI clock frequency during runtime 9 11 Notice that the SPI frequency should be a multiple of sample 10 12 frequency to ensure the precision. 11 - if DFSDM input is SPI master 13 + 14 + if DFSDM input is SPI master: 15 + 12 16 Reading SPI clkout frequency, 13 17 error on writing 18 + 14 19 If DFSDM input is SPI Slave: 20 + 15 21 Reading returns value previously set. 16 22 Writing value before starting conversions.
+5 -2
Documentation/ABI/testing/sysfs-bus-iio-distance-srf08
··· 15 15 first object echoed in meters. Default value is 6.020. 16 16 This setting limits the time the driver is waiting for a 17 17 echo. 18 + 18 19 Showing the range of available values is represented as the 19 20 minimum value, the step and the maximum value, all enclosed 20 21 in square brackets. 21 - Example: 22 - [0.043 0.043 11.008] 22 + 23 + Example:: 24 + 25 + [0.043 0.043 11.008]
+2
Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9523
··· 8 8 Contact: linux-iio@vger.kernel.org 9 9 Description: 10 10 Reading returns either '1' or '0'. 11 + 11 12 '1' means that the clock in question is present. 13 + 12 14 '0' means that the clock is missing. 13 15 14 16 What: /sys/bus/iio/devices/iio:deviceX/pllY_locked
+5 -5
Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4371
··· 27 27 KernelVersion: 28 28 Contact: linux-iio@vger.kernel.org 29 29 Description: 30 - Reading returns the datasheet name for channel Y: 30 + Reading returns the datasheet name for channel Y:: 31 31 32 - out_altvoltage0_name: RF8x 33 - out_altvoltage1_name: RFAUX8x 34 - out_altvoltage2_name: RF16x 35 - out_altvoltage3_name: RF32x 32 + out_altvoltage0_name: RF8x 33 + out_altvoltage1_name: RFAUX8x 34 + out_altvoltage2_name: RF16x 35 + out_altvoltage3_name: RF32x 36 36 37 37 What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_powerdown 38 38 KernelVersion:
+8 -4
Documentation/ABI/testing/sysfs-bus-iio-health-afe440x
··· 6 6 Get measured values from the ADC for these stages. Y is the 7 7 specific stage number corresponding to datasheet stage names 8 8 as follows: 9 - 1 -> LED2 10 - 2 -> ALED2/LED3 11 - 3 -> LED1 12 - 4 -> ALED1/LED4 9 + 10 + == ========== 11 + 1 LED2 12 + 2 ALED2/LED3 13 + 3 LED1 14 + 4 ALED1/LED4 15 + == ========== 16 + 13 17 Note that channels 5 and 6 represent LED2-ALED2 and LED1-ALED1 14 18 respectively which simply helper channels containing the 15 19 calculated difference in the value of stage 1 - 2 and 3 - 4.
+4 -2
Documentation/ABI/testing/sysfs-bus-iio-light-isl29018
··· 15 15 Scheme 0 has wider dynamic range, Scheme 1 proximity detection 16 16 is less affected by the ambient IR noise variation. 17 17 18 - 0 Sensing IR from LED and ambient 19 - 1 Sensing IR from LED with ambient IR rejection 18 + == ============================================= 19 + 0 Sensing IR from LED and ambient 20 + 1 Sensing IR from LED with ambient IR rejection 21 + == =============================================
+17 -12
Documentation/ABI/testing/sysfs-bus-iio-lptimer-stm32
··· 17 17 Contact: fabrice.gasnier@st.com 18 18 Description: 19 19 Configure the device counter quadrature modes: 20 + 20 21 - non-quadrature: 21 22 Encoder IN1 input servers as the count input (up 22 23 direction). 24 + 23 25 - quadrature: 24 26 Encoder IN1 and IN2 inputs are mixed to get direction 25 27 and count. ··· 37 35 Contact: fabrice.gasnier@st.com 38 36 Description: 39 37 Configure the device encoder/counter active edge: 38 + 40 39 - rising-edge 41 40 - falling-edge 42 41 - both-edges 43 42 44 43 In non-quadrature mode, device counts up on active edge. 44 + 45 45 In quadrature mode, encoder counting scenarios are as follows: 46 - ---------------------------------------------------------------- 46 + 47 + +---------+----------+--------------------+--------------------+ 47 48 | Active | Level on | IN1 signal | IN2 signal | 48 - | edge | opposite |------------------------------------------ 49 + | edge | opposite +----------+---------+----------+---------+ 49 50 | | signal | Rising | Falling | Rising | Falling | 50 - ---------------------------------------------------------------- 51 - | Rising | High -> | Down | - | Up | - | 52 - | edge | Low -> | Up | - | Down | - | 53 - ---------------------------------------------------------------- 54 - | Falling | High -> | - | Up | - | Down | 55 - | edge | Low -> | - | Down | - | Up | 56 - ---------------------------------------------------------------- 57 - | Both | High -> | Down | Up | Up | Down | 58 - | edges | Low -> | Up | Down | Down | Up | 59 - ---------------------------------------------------------------- 51 + +---------+----------+----------+---------+----------+---------+ 52 + | Rising | High -> | Down | - | Up | - | 53 + | edge | Low -> | Up | - | Down | - | 54 + +---------+----------+----------+---------+----------+---------+ 55 + | Falling | High -> | - | Up | - | Down | 56 + | edge | Low -> | - | Down | - | Up | 57 + +---------+----------+----------+---------+----------+---------+ 58 + | Both | High -> | Down | Up | Up | Down | 59 + | edges | Low -> | Up | Down | Down | Up | 60 + +---------+----------+----------+---------+----------+---------+
+12 -7
Documentation/ABI/testing/sysfs-bus-iio-magnetometer-hmc5843
··· 5 5 Description: 6 6 Current configuration and available configurations 7 7 for the bias current. 8 - normal - Normal measurement configurations (default) 9 - positivebias - Positive bias configuration 10 - negativebias - Negative bias configuration 11 - disabled - Only available on HMC5983. Disables magnetic 8 + 9 + ============ ============================================ 10 + normal Normal measurement configurations (default) 11 + positivebias Positive bias configuration 12 + negativebias Negative bias configuration 13 + disabled Only available on HMC5983. Disables magnetic 12 14 sensor and enables temperature sensor. 13 - Note: The effect of this configuration may vary 14 - according to the device. For exact documentation 15 - check the device's datasheet. 15 + ============ ============================================ 16 + 17 + Note: 18 + The effect of this configuration may vary 19 + according to the device. For exact documentation 20 + check the device's datasheet.
+13 -6
Documentation/ABI/testing/sysfs-bus-iio-temperature-max31856
··· 5 5 Open-circuit fault. The detection of open-circuit faults, 6 6 such as those caused by broken thermocouple wires. 7 7 Reading returns either '1' or '0'. 8 - '1' = An open circuit such as broken thermocouple wires 9 - has been detected. 10 - '0' = No open circuit or broken thermocouple wires are detected 8 + 9 + === ======================================================= 10 + '1' An open circuit such as broken thermocouple wires 11 + has been detected. 12 + '0' No open circuit or broken thermocouple wires are detected 13 + === ======================================================= 11 14 12 15 What: /sys/bus/iio/devices/iio:deviceX/fault_ovuv 13 16 KernelVersion: 5.1 ··· 21 18 cables by integrated MOSFETs at the T+ and T- inputs, and the 22 19 BIAS output. These MOSFETs turn off when the input voltage is 23 20 negative or greater than VDD. 21 + 24 22 Reading returns either '1' or '0'. 25 - '1' = The input voltage is negative or greater than VDD. 26 - '0' = The input voltage is positive and less than VDD (normal 27 - state). 23 + 24 + === ======================================================= 25 + '1' The input voltage is negative or greater than VDD. 26 + '0' The input voltage is positive and less than VDD (normal 27 + state). 28 + === =======================================================
+90 -47
Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
··· 3 3 Contact: benjamin.gaignard@st.com 4 4 Description: 5 5 Reading returns the list possible master modes which are: 6 - - "reset" : The UG bit from the TIMx_EGR register is 6 + 7 + 8 + - "reset" 9 + The UG bit from the TIMx_EGR register is 7 10 used as trigger output (TRGO). 8 - - "enable" : The Counter Enable signal CNT_EN is used 11 + - "enable" 12 + The Counter Enable signal CNT_EN is used 9 13 as trigger output. 10 - - "update" : The update event is selected as trigger output. 14 + - "update" 15 + The update event is selected as trigger output. 11 16 For instance a master timer can then be used 12 17 as a prescaler for a slave timer. 13 - - "compare_pulse" : The trigger output send a positive pulse 14 - when the CC1IF flag is to be set. 15 - - "OC1REF" : OC1REF signal is used as trigger output. 16 - - "OC2REF" : OC2REF signal is used as trigger output. 17 - - "OC3REF" : OC3REF signal is used as trigger output. 18 - - "OC4REF" : OC4REF signal is used as trigger output. 18 + - "compare_pulse" 19 + The trigger output send a positive pulse 20 + when the CC1IF flag is to be set. 21 + - "OC1REF" 22 + OC1REF signal is used as trigger output. 23 + - "OC2REF" 24 + OC2REF signal is used as trigger output. 25 + - "OC3REF" 26 + OC3REF signal is used as trigger output. 27 + - "OC4REF" 28 + OC4REF signal is used as trigger output. 29 + 19 30 Additional modes (on TRGO2 only): 20 - - "OC5REF" : OC5REF signal is used as trigger output. 21 - - "OC6REF" : OC6REF signal is used as trigger output. 31 + 32 + - "OC5REF" 33 + OC5REF signal is used as trigger output. 34 + - "OC6REF" 35 + OC6REF signal is used as trigger output. 22 36 - "compare_pulse_OC4REF": 23 - OC4REF rising or falling edges generate pulses. 37 + OC4REF rising or falling edges generate pulses. 24 38 - "compare_pulse_OC6REF": 25 - OC6REF rising or falling edges generate pulses. 39 + OC6REF rising or falling edges generate pulses. 26 40 - "compare_pulse_OC4REF_r_or_OC6REF_r": 27 - OC4REF or OC6REF rising edges generate pulses. 41 + OC4REF or OC6REF rising edges generate pulses. 28 42 - "compare_pulse_OC4REF_r_or_OC6REF_f": 29 - OC4REF rising or OC6REF falling edges generate pulses. 43 + OC4REF rising or OC6REF falling edges generate 44 + pulses. 30 45 - "compare_pulse_OC5REF_r_or_OC6REF_r": 31 - OC5REF or OC6REF rising edges generate pulses. 46 + OC5REF or OC6REF rising edges generate pulses. 32 47 - "compare_pulse_OC5REF_r_or_OC6REF_f": 33 - OC5REF rising or OC6REF falling edges generate pulses. 48 + OC5REF rising or OC6REF falling edges generate 49 + pulses. 34 50 35 - +-----------+ +-------------+ +---------+ 36 - | Prescaler +-> | Counter | +-> | Master | TRGO(2) 37 - +-----------+ +--+--------+-+ |-> | Control +--> 38 - | | || +---------+ 39 - +--v--------+-+ OCxREF || +---------+ 40 - | Chx compare +----------> | Output | ChX 41 - +-----------+-+ | | Control +--> 42 - . | | +---------+ 43 - . | | . 44 - +-----------v-+ OC6REF | . 45 - | Ch6 compare +---------+> 46 - +-------------+ 51 + :: 47 52 48 - Example with: "compare_pulse_OC4REF_r_or_OC6REF_r": 53 + +-----------+ +-------------+ +---------+ 54 + | Prescaler +-> | Counter | +-> | Master | TRGO(2) 55 + +-----------+ +--+--------+-+ |-> | Control +--> 56 + | | || +---------+ 57 + +--v--------+-+ OCxREF || +---------+ 58 + | Chx compare +----------> | Output | ChX 59 + +-----------+-+ | | Control +--> 60 + . | | +---------+ 61 + . | | . 62 + +-----------v-+ OC6REF | . 63 + | Ch6 compare +---------+> 64 + +-------------+ 49 65 50 - X 51 - X X 52 - X . . X 53 - X . . X 54 - X . . X 55 - count X . . . . X 56 - . . . . 57 - . . . . 58 - +---------------+ 59 - OC4REF | . . | 60 - +-+ . . +-+ 61 - . +---+ . 62 - OC6REF . | | . 63 - +-------+ +-------+ 64 - +-+ +-+ 65 - TRGO2 | | | | 66 - +-+ +---+ +---------+ 66 + Example with: "compare_pulse_OC4REF_r_or_OC6REF_r":: 67 + 68 + X 69 + X X 70 + X . . X 71 + X . . X 72 + X . . X 73 + count X . . . . X 74 + . . . . 75 + . . . . 76 + +---------------+ 77 + OC4REF | . . | 78 + +-+ . . +-+ 79 + . +---+ . 80 + OC6REF . | | . 81 + +-------+ +-------+ 82 + +-+ +-+ 83 + TRGO2 | | | | 84 + +-+ +---+ +---------+ 67 85 68 86 What: /sys/bus/iio/devices/triggerX/master_mode 69 87 KernelVersion: 4.11 ··· 109 91 When counting down the counter start from preset value 110 92 and fire event when reach 0. 111 93 94 + What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available 95 + KernelVersion: 4.12 96 + Contact: benjamin.gaignard@st.com 97 + Description: 98 + Reading returns the list possible quadrature modes. 99 + 100 + What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode 101 + KernelVersion: 4.12 102 + Contact: benjamin.gaignard@st.com 103 + Description: 104 + Configure the device counter quadrature modes: 105 + 106 + channel_A: 107 + Encoder A input servers as the count input and B as 108 + the UP/DOWN direction control input. 109 + 110 + channel_B: 111 + Encoder B input serves as the count input and A as 112 + the UP/DOWN direction control input. 113 + 114 + quadrature: 115 + Encoder A and B inputs are mixed to get direction 116 + and count with a scale of 0.25. 117 + 112 118 What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available 113 119 KernelVersion: 4.12 114 120 Contact: benjamin.gaignard@st.com ··· 146 104 Configure the device counter enable modes, in all case 147 105 counting direction is set by in_count0_count_direction 148 106 attribute and the counter is clocked by the internal clock. 107 + 149 108 always: 150 109 Counter is always ON. 151 110
+7 -4
Documentation/ABI/testing/sysfs-bus-intel_th-devices-gth
··· 10 10 KernelVersion: 4.3 11 11 Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> 12 12 Description: (RO) Output port type: 13 - 0: not present, 14 - 1: MSU (Memory Storage Unit) 15 - 2: CTP (Common Trace Port) 16 - 4: PTI (MIPI PTI). 13 + 14 + == ========================= 15 + 0 not present, 16 + 1 MSU (Memory Storage Unit) 17 + 2 CTP (Common Trace Port) 18 + 4 PTI (MIPI PTI). 19 + == ========================= 17 20 18 21 What: /sys/bus/intel_th/devices/<intel_th_id>-gth/outputs/[0-7]_drop 19 22 Date: June 2015
+4
Documentation/ABI/testing/sysfs-bus-intel_th-devices-msc
··· 9 9 KernelVersion: 4.3 10 10 Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> 11 11 Description: (RW) Configure MSC operating mode: 12 + 12 13 - "single", for contiguous buffer mode (high-order alloc); 13 14 - "multi", for multiblock mode; 14 15 - "ExI", for DCI handler mode; 15 16 - "debug", for debug mode; 16 17 - any of the currently loaded buffer sinks. 18 + 17 19 If operating mode changes, existing buffer is deallocated, 18 20 provided there are no active users and tracing is not enabled, 19 21 otherwise the write will fail. ··· 25 23 KernelVersion: 4.3 26 24 Contact: Alexander Shishkin <alexander.shishkin@linux.intel.com> 27 25 Description: (RW) Configure MSC buffer size for "single" or "multi" modes. 26 + 28 27 In single mode, this is a single number of pages, has to be 29 28 power of 2. In multiblock mode, this is a comma-separated list 30 29 of numbers of pages for each window to be allocated. Number of 31 30 windows is not limited. 31 + 32 32 Writing to this file deallocates existing buffer (provided 33 33 there are no active users and tracing is not enabled) and then 34 34 allocates a new one.
+4 -2
Documentation/ABI/testing/sysfs-bus-most
··· 235 235 Contact: Christian Gromm <christian.gromm@microchip.com> 236 236 Description: 237 237 This is to read back the configured direction of the channel. 238 - The following strings will be accepted: 238 + The following strings will be accepted:: 239 + 239 240 'tx', 240 241 'rx' 241 242 Users: ··· 247 246 Contact: Christian Gromm <christian.gromm@microchip.com> 248 247 Description: 249 248 This is to read back the configured data type of the channel. 250 - The following strings will be accepted: 249 + The following strings will be accepted:: 250 + 251 251 'control', 252 252 'async', 253 253 'sync',
+3 -3
Documentation/ABI/testing/sysfs-bus-moxtet-devices
··· 2 2 Date: March 2019 3 3 KernelVersion: 5.3 4 4 Contact: Marek Behún <marek.behun@nic.cz> 5 - Description: (R) Moxtet module description. Format: string 5 + Description: (Read) Moxtet module description. Format: string 6 6 7 7 What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_id 8 8 Date: March 2019 9 9 KernelVersion: 5.3 10 10 Contact: Marek Behún <marek.behun@nic.cz> 11 - Description: (R) Moxtet module ID. Format: %x 11 + Description: (Read) Moxtet module ID. Format: %x 12 12 13 13 What: /sys/bus/moxtet/devices/moxtet-<name>.<addr>/module_name 14 14 Date: March 2019 15 15 KernelVersion: 5.3 16 16 Contact: Marek Behún <marek.behun@nic.cz> 17 - Description: (R) Moxtet module name. Format: string 17 + Description: (Read) Moxtet module name. Format: string
+1 -1
Documentation/ABI/testing/sysfs-bus-nfit
··· 1 - For all of the nmem device attributes under nfit/*, see the 'NVDIMM Firmware 1 + For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware 2 2 Interface Table (NFIT)' section in the ACPI specification 3 3 (http://www.uefi.org/specifications) for more details. 4 4
+6
Documentation/ABI/testing/sysfs-bus-nvdimm
··· 1 + What: nvdimm 2 + Date: July 2020 3 + KernelVersion: 5.8 4 + Contact: Dan Williams <dan.j.williams@intel.com> 5 + Description: 6 + 1 7 The libnvdimm sub-system implements a common sysfs interface for 2 8 platform nvdimm resources. See Documentation/driver-api/nvdimm/.
+14 -7
Documentation/ABI/testing/sysfs-bus-papr-pmem
··· 11 11 at 'Documentation/powerpc/papr_hcalls.rst' . Below are 12 12 the flags reported in this sysfs file: 13 13 14 - * "not_armed" : Indicates that NVDIMM contents will not 14 + * "not_armed" 15 + Indicates that NVDIMM contents will not 15 16 survive a power cycle. 16 - * "flush_fail" : Indicates that NVDIMM contents 17 + * "flush_fail" 18 + Indicates that NVDIMM contents 17 19 couldn't be flushed during last 18 20 shut-down event. 19 - * "restore_fail": Indicates that NVDIMM contents 21 + * "restore_fail" 22 + Indicates that NVDIMM contents 20 23 couldn't be restored during NVDIMM 21 24 initialization. 22 - * "encrypted" : NVDIMM contents are encrypted. 23 - * "smart_notify": There is health event for the NVDIMM. 24 - * "scrubbed" : Indicating that contents of the 25 + * "encrypted" 26 + NVDIMM contents are encrypted. 27 + * "smart_notify" 28 + There is health event for the NVDIMM. 29 + * "scrubbed" 30 + Indicating that contents of the 25 31 NVDIMM have been scrubbed. 26 - * "locked" : Indicating that NVDIMM contents cant 32 + * "locked" 33 + Indicating that NVDIMM contents cant 27 34 be modified until next power cycle. 28 35 29 36 What: /sys/bus/nd/devices/nmemX/papr/perf_stats
+14 -8
Documentation/ABI/testing/sysfs-bus-pci
··· 7 7 this location. This is useful for overriding default 8 8 bindings. The format for the location is: DDDD:BB:DD.F. 9 9 That is Domain:Bus:Device.Function and is the same as 10 - found in /sys/bus/pci/devices/. For example: 11 - # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind 10 + found in /sys/bus/pci/devices/. For example:: 11 + 12 + # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/bind 13 + 12 14 (Note: kernels before 2.6.28 may require echo -n). 13 15 14 16 What: /sys/bus/pci/drivers/.../unbind ··· 22 20 this location. This may be useful when overriding default 23 21 bindings. The format for the location is: DDDD:BB:DD.F. 24 22 That is Domain:Bus:Device.Function and is the same as 25 - found in /sys/bus/pci/devices/. For example: 26 - # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind 23 + found in /sys/bus/pci/devices/. For example:: 24 + 25 + # echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind 26 + 27 27 (Note: kernels before 2.6.28 may require echo -n). 28 28 29 29 What: /sys/bus/pci/drivers/.../new_id ··· 42 38 Class, Class Mask, and Private Driver Data. The Vendor ID 43 39 and Device ID fields are required, the rest are optional. 44 40 Upon successfully adding an ID, the driver will probe 45 - for the device and attempt to bind to it. For example: 46 - # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id 41 + for the device and attempt to bind to it. For example:: 42 + 43 + # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id 47 44 48 45 What: /sys/bus/pci/drivers/.../remove_id 49 46 Date: February 2009 ··· 59 54 required, the rest are optional. After successfully 60 55 removing an ID, the driver will no longer support the 61 56 device. This is useful to ensure auto probing won't 62 - match the driver to the device. For example: 63 - # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id 57 + match the driver to the device. For example:: 58 + 59 + # echo "8086 10f5" > /sys/bus/pci/drivers/foo/remove_id 64 60 65 61 What: /sys/bus/pci/rescan 66 62 Date: January 2009
+58 -61
Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
··· 1 - ========================== 2 1 PCIe Device AER statistics 3 - ========================== 2 + -------------------------- 3 + 4 4 These attributes show up under all the devices that are AER capable. These 5 5 statistical counters indicate the errors "as seen/reported by the device". 6 6 Note that this may mean that if an endpoint is causing problems, the AER ··· 17 17 PCI device using ERR_COR. Note that since multiple errors may 18 18 be reported using a single ERR_COR message, thus 19 19 TOTAL_ERR_COR at the end of the file may not match the actual 20 - total of all the errors in the file. Sample output: 21 - ------------------------------------------------------------------------- 22 - localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable 23 - Receiver Error 2 24 - Bad TLP 0 25 - Bad DLLP 0 26 - RELAY_NUM Rollover 0 27 - Replay Timer Timeout 0 28 - Advisory Non-Fatal 0 29 - Corrected Internal Error 0 30 - Header Log Overflow 0 31 - TOTAL_ERR_COR 2 32 - ------------------------------------------------------------------------- 20 + total of all the errors in the file. Sample output:: 21 + 22 + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable 23 + Receiver Error 2 24 + Bad TLP 0 25 + Bad DLLP 0 26 + RELAY_NUM Rollover 0 27 + Replay Timer Timeout 0 28 + Advisory Non-Fatal 0 29 + Corrected Internal Error 0 30 + Header Log Overflow 0 31 + TOTAL_ERR_COR 2 33 32 34 33 What: /sys/bus/pci/devices/<dev>/aer_dev_fatal 35 34 Date: July 2018 ··· 38 39 PCI device using ERR_FATAL. Note that since multiple errors may 39 40 be reported using a single ERR_FATAL message, thus 40 41 TOTAL_ERR_FATAL at the end of the file may not match the actual 41 - total of all the errors in the file. Sample output: 42 - ------------------------------------------------------------------------- 43 - localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal 44 - Undefined 0 45 - Data Link Protocol 0 46 - Surprise Down Error 0 47 - Poisoned TLP 0 48 - Flow Control Protocol 0 49 - Completion Timeout 0 50 - Completer Abort 0 51 - Unexpected Completion 0 52 - Receiver Overflow 0 53 - Malformed TLP 0 54 - ECRC 0 55 - Unsupported Request 0 56 - ACS Violation 0 57 - Uncorrectable Internal Error 0 58 - MC Blocked TLP 0 59 - AtomicOp Egress Blocked 0 60 - TLP Prefix Blocked Error 0 61 - TOTAL_ERR_FATAL 0 62 - ------------------------------------------------------------------------- 42 + total of all the errors in the file. Sample output:: 43 + 44 + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal 45 + Undefined 0 46 + Data Link Protocol 0 47 + Surprise Down Error 0 48 + Poisoned TLP 0 49 + Flow Control Protocol 0 50 + Completion Timeout 0 51 + Completer Abort 0 52 + Unexpected Completion 0 53 + Receiver Overflow 0 54 + Malformed TLP 0 55 + ECRC 0 56 + Unsupported Request 0 57 + ACS Violation 0 58 + Uncorrectable Internal Error 0 59 + MC Blocked TLP 0 60 + AtomicOp Egress Blocked 0 61 + TLP Prefix Blocked Error 0 62 + TOTAL_ERR_FATAL 0 63 63 64 64 What: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal 65 65 Date: July 2018 ··· 68 70 PCI device using ERR_NONFATAL. Note that since multiple errors 69 71 may be reported using a single ERR_FATAL message, thus 70 72 TOTAL_ERR_NONFATAL at the end of the file may not match the 71 - actual total of all the errors in the file. Sample output: 72 - ------------------------------------------------------------------------- 73 - localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal 74 - Undefined 0 75 - Data Link Protocol 0 76 - Surprise Down Error 0 77 - Poisoned TLP 0 78 - Flow Control Protocol 0 79 - Completion Timeout 0 80 - Completer Abort 0 81 - Unexpected Completion 0 82 - Receiver Overflow 0 83 - Malformed TLP 0 84 - ECRC 0 85 - Unsupported Request 0 86 - ACS Violation 0 87 - Uncorrectable Internal Error 0 88 - MC Blocked TLP 0 89 - AtomicOp Egress Blocked 0 90 - TLP Prefix Blocked Error 0 91 - TOTAL_ERR_NONFATAL 0 92 - ------------------------------------------------------------------------- 73 + actual total of all the errors in the file. Sample output:: 93 74 94 - ============================ 75 + localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal 76 + Undefined 0 77 + Data Link Protocol 0 78 + Surprise Down Error 0 79 + Poisoned TLP 0 80 + Flow Control Protocol 0 81 + Completion Timeout 0 82 + Completer Abort 0 83 + Unexpected Completion 0 84 + Receiver Overflow 0 85 + Malformed TLP 0 86 + ECRC 0 87 + Unsupported Request 0 88 + ACS Violation 0 89 + Uncorrectable Internal Error 0 90 + MC Blocked TLP 0 91 + AtomicOp Egress Blocked 0 92 + TLP Prefix Blocked Error 0 93 + TOTAL_ERR_NONFATAL 0 94 + 95 95 PCIe Rootport AER statistics 96 - ============================ 96 + ---------------------------- 97 + 97 98 These attributes show up under only the rootports (or root complex event 98 99 collectors) that are AER capable. These indicate the number of error messages as 99 100 "reported to" the rootport. Please note that the rootports also transmit
+1
Documentation/ABI/testing/sysfs-bus-pci-devices-catpt
··· 4 4 Description: 5 5 Version of AudioDSP firmware ASoC catpt driver is 6 6 communicating with. 7 + 7 8 Format: %d.%d.%d.%d, type:major:minor:build. 8 9 9 10 What: /sys/devices/pci0000:00/<dev>/fw_info
+2 -2
Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd
··· 21 21 number returns the port to normal operation. 22 22 23 23 For example: To force the high-speed device attached to 24 - port 4 on bus 2 to run at full speed: 24 + port 4 on bus 2 to run at full speed:: 25 25 26 26 echo 4 >/sys/bus/usb/devices/usb2/../companion 27 27 28 - To return the port to high-speed operation: 28 + To return the port to high-speed operation:: 29 29 30 30 echo -4 >/sys/bus/usb/devices/usb2/../companion 31 31
+13 -10
Documentation/ABI/testing/sysfs-bus-rapidio
··· 4 4 an individual subdirectory with the following name format of 5 5 device_name "nn:d:iiii", where: 6 6 7 - nn - two-digit hexadecimal ID of RapidIO network where the 7 + ==== ======================================================== 8 + nn two-digit hexadecimal ID of RapidIO network where the 8 9 device resides 9 - d - device type: 'e' - for endpoint or 's' - for switch 10 - iiii - four-digit device destID for endpoints, or switchID for 10 + d device type: 'e' - for endpoint or 's' - for switch 11 + iiii four-digit device destID for endpoints, or switchID for 11 12 switches 13 + ==== ======================================================== 12 14 13 15 For example, below is a list of device directories that 14 16 represents a typical RapidIO network with one switch, one host, 15 17 and two agent endpoints, as it is seen by the enumerating host 16 - (with destID = 1): 18 + (with destID = 1):: 17 19 18 - /sys/bus/rapidio/devices/00:e:0000 19 - /sys/bus/rapidio/devices/00:e:0002 20 - /sys/bus/rapidio/devices/00:s:0001 20 + /sys/bus/rapidio/devices/00:e:0000 21 + /sys/bus/rapidio/devices/00:e:0002 22 + /sys/bus/rapidio/devices/00:s:0001 21 23 22 - NOTE: An enumerating or discovering endpoint does not create a 23 - sysfs entry for itself, this is why an endpoint with destID=1 is 24 - not shown in the list. 24 + NOTE: 25 + An enumerating or discovering endpoint does not create a 26 + sysfs entry for itself, this is why an endpoint with destID=1 27 + is not shown in the list. 25 28 26 29 Attributes Common for All RapidIO Devices 27 30 -----------------------------------------
+24 -13
Documentation/ABI/testing/sysfs-bus-rbd
··· 7 7 8 8 Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>] 9 9 10 + Example:: 11 + 10 12 $ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add 11 13 12 14 The snapshot name can be "-" or omitted to map the image ··· 24 22 (WO) Remove rbd block device. 25 23 26 24 Usage: <dev-id> [force] 25 + 26 + Example:: 27 27 28 28 $ echo 2 > /sys/bus/rbd/remove 29 29 ··· 84 80 KernelVersion: v2.6.37 85 81 Contact: Sage Weil <sage@newdream.net> 86 82 Description: 87 - size: (RO) The size (in bytes) of the mapped block 83 + 84 + ============== ================================================ 85 + size (RO) The size (in bytes) of the mapped block 88 86 device. 89 87 90 - major: (RO) The block device major number. 88 + major (RO) The block device major number. 91 89 92 - client_id: (RO) The ceph unique client id that was assigned 90 + client_id (RO) The ceph unique client id that was assigned 93 91 for this specific session. 94 92 95 - pool: (RO) The name of the storage pool where this rbd 93 + pool (RO) The name of the storage pool where this rbd 96 94 image resides. An rbd image name is unique 97 95 within its pool. 98 96 99 - name: (RO) The name of the rbd image. 97 + name (RO) The name of the rbd image. 100 98 101 - refresh: (WO) Writing to this file will reread the image 99 + refresh (WO) Writing to this file will reread the image 102 100 header data and set all relevant data structures 103 101 accordingly. 104 102 105 - current_snap: (RO) The current snapshot for which the device 103 + current_snap (RO) The current snapshot for which the device 106 104 is mapped. 105 + ============== ================================================ 107 106 108 107 109 108 What: /sys/bus/rbd/devices/<dev-id>/pool_id ··· 124 117 KernelVersion: v3.7 125 118 Contact: Sage Weil <sage@newdream.net> 126 119 Description: 127 - image_id: (RO) The unique id for the rbd image. (For rbd 120 + ========= =============================================== 121 + image_id (RO) The unique id for the rbd image. (For rbd 128 122 image format 1 this is empty.) 129 123 130 - features: (RO) A hexadecimal encoding of the feature bits 124 + features (RO) A hexadecimal encoding of the feature bits 131 125 for this image. 126 + ========= =============================================== 132 127 133 128 134 129 What: /sys/bus/rbd/devices/<dev-id>/parent ··· 158 149 KernelVersion: v4.9 159 150 Contact: Sage Weil <sage@newdream.net> 160 151 Description: 161 - snap_id: (RO) The current snapshot's id. 152 + ============ ================================================ 153 + snap_id (RO) The current snapshot's id. 162 154 163 - config_info: (RO) The string written into 155 + config_info (RO) The string written into 164 156 /sys/bus/rbd/add{,_single_major}. 165 157 166 - cluster_fsid: (RO) The ceph cluster UUID. 158 + cluster_fsid (RO) The ceph cluster UUID. 167 159 168 - client_addr: (RO) The ceph unique client 160 + client_addr (RO) The ceph unique client 169 161 entity_addr_t (address + nonce). The format is 170 162 <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or 171 163 '[1:2:3:4:5:6:7:8]:1234/5678'. 164 + ============ ================================================
+3
Documentation/ABI/testing/sysfs-bus-siox
··· 8 8 When the file contains a "1" the bus is operated and periodically 9 9 does a push-pull cycle to write and read data from the 10 10 connected devices. 11 + 11 12 When writing a "0" or "1" the bus moves to the described state. 12 13 13 14 What: /sys/bus/siox/devices/siox-X/device_add ··· 22 21 to add a new device dynamically. <type> is the name that is used to match 23 22 to a driver (similar to the platform bus). <inbytes> and <outbytes> define 24 23 the length of the input and output shift register in bytes respectively. 24 + 25 25 <statustype> defines the 4 bit device type that is check to identify connection 26 26 problems. 27 + 27 28 The new device is added to the end of the existing chain. 28 29 29 30 What: /sys/bus/siox/devices/siox-X/device_remove
+35 -23
Documentation/ABI/testing/sysfs-bus-thunderbolt
··· 37 37 Description: This attribute holds current Thunderbolt security level 38 38 set by the system BIOS. Possible values are: 39 39 40 - none: All devices are automatically authorized 41 - user: Devices are only authorized based on writing 42 - appropriate value to the authorized attribute 43 - secure: Require devices that support secure connect at 44 - minimum. User needs to authorize each device. 45 - dponly: Automatically tunnel Display port (and USB). No 46 - PCIe tunnels are created. 47 - usbonly: Automatically tunnel USB controller of the 40 + ======= ================================================== 41 + none All devices are automatically authorized 42 + user Devices are only authorized based on writing 43 + appropriate value to the authorized attribute 44 + secure Require devices that support secure connect at 45 + minimum. User needs to authorize each device. 46 + dponly Automatically tunnel Display port (and USB). No 47 + PCIe tunnels are created. 48 + usbonly Automatically tunnel USB controller of the 48 49 connected Thunderbolt dock (and Display Port). All 49 50 PCIe links downstream of the dock are removed. 51 + ======= ================================================== 50 52 51 53 What: /sys/bus/thunderbolt/devices/.../authorized 52 54 Date: Sep 2017 ··· 63 61 yet authorized. 64 62 65 63 Possible values are supported: 66 - 1: The device will be authorized and connected 64 + 65 + == =========================================== 66 + 1 The device will be authorized and connected 67 + == =========================================== 67 68 68 69 When key attribute contains 32 byte hex string the possible 69 70 values are: 70 - 1: The 32 byte hex string is added to the device NVM and 71 - the device is authorized. 72 - 2: Send a challenge based on the 32 byte hex string. If the 73 - challenge response from device is valid, the device is 74 - authorized. In case of failure errno will be ENOKEY if 75 - the device did not contain a key at all, and 76 - EKEYREJECTED if the challenge response did not match. 71 + 72 + == ======================================================== 73 + 1 The 32 byte hex string is added to the device NVM and 74 + the device is authorized. 75 + 2 Send a challenge based on the 32 byte hex string. If the 76 + challenge response from device is valid, the device is 77 + authorized. In case of failure errno will be ENOKEY if 78 + the device did not contain a key at all, and 79 + EKEYREJECTED if the challenge response did not match. 80 + == ======================================================== 77 81 78 82 What: /sys/bus/thunderbolt/devices/.../boot 79 83 Date: Jun 2018 ··· 193 185 verification fails an error code is returned instead. 194 186 195 187 This file will accept writing values "1" or "2" 188 + 196 189 - Writing "1" will flush the image to the storage 197 - area and authenticate the image in one action. 190 + area and authenticate the image in one action. 198 191 - Writing "2" will run some basic validation on the image 199 - and flush it to the storage area. 192 + and flush it to the storage area. 200 193 201 194 When read holds status of the last authentication 202 195 operation if an error occurred during the process. This ··· 214 205 question. Following directories are already reserved by 215 206 the Apple XDomain specification: 216 207 217 - network: IP/ethernet over Thunderbolt 218 - targetdm: Target disk mode protocol over Thunderbolt 219 - extdisp: External display mode protocol over Thunderbolt 208 + ======== =============================================== 209 + network IP/ethernet over Thunderbolt 210 + targetdm Target disk mode protocol over Thunderbolt 211 + extdisp External display mode protocol over Thunderbolt 212 + ======== =============================================== 220 213 221 214 What: /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias 222 215 Date: Jan 2018 ··· 296 285 image when the device is disconnected from the host system. 297 286 298 287 This file will accept writing values "1" or "2" 288 + 299 289 - Writing "1" will flush the image to the storage 300 - area and prepare the device for authentication on disconnect. 290 + area and prepare the device for authentication on disconnect. 301 291 - Writing "2" will run some basic validation on the image 302 - and flush it to the storage area. 292 + and flush it to the storage area.
+19 -13
Documentation/ABI/testing/sysfs-bus-usb
··· 9 9 by writing INTERFACE to /sys/bus/usb/drivers_probe 10 10 This allows to avoid side-effects with drivers 11 11 that need multiple interfaces. 12 + 12 13 A deauthorized interface cannot be probed or claimed. 13 14 14 15 What: /sys/bus/usb/devices/usbX/interface_authorized_default ··· 73 72 table at compile time. The format for the device ID is: 74 73 idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct 75 74 The vendor ID and device ID fields are required, the 76 - rest is optional. The Ref* tuple can be used to tell the 75 + rest is optional. The `Ref*` tuple can be used to tell the 77 76 driver to use the same driver_data for the new device as 78 77 it is used for the reference device. 79 78 Upon successfully adding an ID, the driver will probe 80 - for the device and attempt to bind to it. For example: 81 - # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id 79 + for the device and attempt to bind to it. For example:: 80 + 81 + # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id 82 82 83 83 Here add a new device (0458:7045) using driver_data from 84 - an already supported device (0458:704c): 85 - # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id 84 + an already supported device (0458:704c):: 85 + 86 + # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id 86 87 87 88 Reading from this file will list all dynamically added 88 89 device IDs in the same format, with one entry per 89 - line. For example: 90 - # cat /sys/bus/usb/drivers/foo/new_id 91 - 8086 10f5 92 - dead beef 06 93 - f00d cafe 90 + line. For example:: 91 + 92 + # cat /sys/bus/usb/drivers/foo/new_id 93 + 8086 10f5 94 + dead beef 06 95 + f00d cafe 94 96 95 97 The list will be truncated at PAGE_SIZE bytes due to 96 98 sysfs restrictions. ··· 213 209 advance, and behaves well according to the specification. 214 210 This attribute is a bit-field that controls the behavior of 215 211 a specific port: 212 + 216 213 - Bit 0 of this field selects the "old" enumeration scheme, 217 214 as it is considerably faster (it only causes one USB reset 218 215 instead of 2). 216 + 219 217 The old enumeration scheme can also be selected globally 220 218 using /sys/module/usbcore/parameters/old_scheme_first, but 221 219 it is often not desirable as the new scheme was introduced to ··· 239 233 poll() for monitoring changes to this value in user space. 240 234 241 235 Any time this value changes the corresponding hub device will send a 242 - udev event with the following attributes: 236 + udev event with the following attributes:: 243 237 244 - OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX 245 - OVER_CURRENT_COUNT=[current value of this sysfs attribute] 238 + OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX 239 + OVER_CURRENT_COUNT=[current value of this sysfs attribute] 246 240 247 241 What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit 248 242 Date: November 2015
+5 -2
Documentation/ABI/testing/sysfs-bus-usb-devices-usbsevseg
··· 12 12 Contact: Harrison Metzger <harrisonmetz@gmail.com> 13 13 Description: Controls the devices display mode. 14 14 For a 6 character display the values are 15 + 15 16 MSB 0x06; LSB 0x3F, and 17 + 16 18 for an 8 character display the values are 19 + 17 20 MSB 0x08; LSB 0xFF. 18 21 19 22 What: /sys/bus/usb/.../textmode ··· 40 37 Contact: Harrison Metzger <harrisonmetz@gmail.com> 41 38 Description: Controls the decimal places on the device. 42 39 To set the nth decimal place, give this field 43 - the value of 10 ** n. Assume this field has 40 + the value of ``10 ** n``. Assume this field has 44 41 the value k and has 1 or more decimal places set, 45 42 to set the mth place (where m is not already set), 46 - change this fields value to k + 10 ** m. 43 + change this fields value to ``k + 10 ** m``.
+6 -4
Documentation/ABI/testing/sysfs-bus-vfio-mdev
··· 28 28 Writing UUID to this file will create mediated device of 29 29 type <type-id> for parent device <device>. This is a 30 30 write-only file. 31 - For example: 32 - # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ 31 + For example:: 32 + 33 + # echo "83b8f4f2-509f-382f-3c1e-e6bfe0fa1001" > \ 33 34 /sys/devices/foo/mdev_supported_types/foo-1/create 34 35 35 36 What: /sys/.../mdev_supported_types/<type-id>/devices/ ··· 108 107 Writing '1' to this file destroys the mediated device. The 109 108 vendor driver can fail the remove() callback if that device 110 109 is active and the vendor driver doesn't support hot unplug. 111 - Example: 112 - # echo 1 > /sys/bus/mdev/devices/<UUID>/remove 110 + Example:: 111 + 112 + # echo 1 > /sys/bus/mdev/devices/<UUID>/remove
-7
Documentation/ABI/testing/sysfs-c2port
··· 66 66 the "erase" command on the on-board flash of the connected 67 67 micro. 68 68 69 - What: /sys/class/c2port/c2portX/flash_erase 70 - Date: October 2008 71 - Contact: Rodolfo Giometti <giometti@linux.it> 72 - Description: 73 - The /sys/class/c2port/c2portX/flash_erase file show the 74 - on-board flash size of the connected micro. 75 - 76 69 What: /sys/class/c2port/c2portX/reset 77 70 Date: October 2008 78 71 Contact: Rodolfo Giometti <giometti@linux.it>
+60
Documentation/ABI/testing/sysfs-class-backlight
··· 24 24 non-linear 25 25 The brightness changes non-linearly with each step. Brightness 26 26 controls should use a linear mapping for a linear perception. 27 + 28 + What: /sys/class/backlight/<backlight>/ambient_light_level 29 + Date: Apr, 2010 30 + KernelVersion: v2.6.35 31 + Contact: Michael Hennerich <michael.hennerich@analog.com> 32 + Description: 33 + (RO) Get conversion value of the light sensor. 34 + 35 + The value is automatically updated every 80 ms when the 36 + light sensor is enabled. 37 + 38 + The value range is device-driver specific: 39 + 40 + For ADP8870: 41 + 42 + It returns integer between 0 (dark) and 8000 (max ambient 43 + brightness). 44 + 45 + For ADP8860: 46 + 47 + It returns a 13-bits integer. 48 + 49 + What: /sys/class/backlight/<backlight>/ambient_light_zone 50 + Date: Apr, 2010 51 + KernelVersion: v2.6.35 52 + Contact: Michael Hennerich <michael.hennerich@analog.com>, 53 + device-drivers-devel@blackfin.uclinux.org 54 + 55 + Description: 56 + (RW) Read or write the specific brightness level at which the 57 + backlight operates. 58 + 59 + The value meaning is device-driver specific: 60 + 61 + For ADP8860: 62 + 63 + == ========================== 64 + 0 Off: Backlight set to 0 mA 65 + 1 Level 1: daylight 66 + 2 Level 2: bright 67 + 3 Level 3: dark 68 + == ========================== 69 + 70 + For ADP8870: 71 + 72 + == ========================== 73 + 0 Off: Backlight set to 0 mA 74 + 1 Level 1: daylight 75 + 2 Level 2: bright 76 + 3 Level 3: office 77 + 4 Level 4: indoor 78 + 5 Level 5: dark 79 + == ========================== 80 + 81 + Writing 0 returns to normal/automatic ambient light level 82 + operation. 83 + 84 + It can be enabled by writing the value stored in 85 + /sys/class/backlight/<backlight>/max_brightness to 86 + /sys/class/backlight/<backlight>/brightness.
+2 -19
Documentation/ABI/testing/sysfs-class-backlight-adp8860
··· 6 6 dark (level 3). By default the brightness operates at the daylight brightness 7 7 level. 8 8 9 - What: /sys/class/backlight/<backlight>/ambient_light_level 10 - Date: Apr, 2010 11 - KernelVersion: v2.6.35 12 - Contact: Michael Hennerich <michael.hennerich@analog.com> 13 - Description: 14 - (RO) 13-bit conversion value for the first light sensor—high 15 - byte (Bit 12 to Bit 8). The value is updated every 80 ms (when 16 - the light sensor is enabled). 17 - 18 - 19 - What: /sys/class/backlight/<backlight>/ambient_light_zone 20 - Date: Apr, 2010 21 - KernelVersion: v2.6.35 22 - Contact: Michael Hennerich <michael.hennerich@analog.com> 23 - Description: 24 - (RW) Read or write the specific level at which the backlight 25 - operates. Value "0" enables automatic ambient light sensing, and 26 - values "1", "2" or "3" set the control to daylight, office or 27 - dark respectively. 9 + See also /sys/class/backlight/<backlight>/ambient_light_level and 10 + /sys/class/backlight/<backlight>/ambient_light_zone. 28 11 29 12 30 13 What: /sys/class/backlight/<backlight>/l1_daylight_max
+3 -27
Documentation/ABI/testing/sysfs-class-backlight-driver-adp8870
··· 1 + See also /sys/class/backlight/<backlight>/ambient_light_level and 2 + /sys/class/backlight/<backlight>/ambient_light_zone. 3 + 1 4 What: /sys/class/backlight/<backlight>/<ambient light zone>_max 2 5 What: /sys/class/backlight/<backlight>/l1_daylight_max 3 6 What: /sys/class/backlight/<backlight>/l2_bright_max ··· 30 27 set to 0. Full off when the backlight is disabled. 31 28 This file will also show the dim brightness level stored for 32 29 this <ambient light zone>. 33 - 34 - What: /sys/class/backlight/<backlight>/ambient_light_level 35 - Date: May 2011 36 - KernelVersion: 3.0 37 - Contact: device-drivers-devel@blackfin.uclinux.org 38 - Description: 39 - Get conversion value of the light sensor. 40 - This value is updated every 80 ms (when the light sensor 41 - is enabled). Returns integer between 0 (dark) and 42 - 8000 (max ambient brightness) 43 - 44 - What: /sys/class/backlight/<backlight>/ambient_light_zone 45 - Date: May 2011 46 - KernelVersion: 3.0 47 - Contact: device-drivers-devel@blackfin.uclinux.org 48 - Description: 49 - Get/Set current ambient light zone. Reading returns 50 - integer between 1..5 (1 = daylight, 2 = bright, ..., 5 = dark). 51 - Writing a value between 1..5 forces the backlight controller 52 - to enter the corresponding ambient light zone. 53 - Writing 0 returns to normal/automatic ambient light level 54 - operation. The ambient light sensing feature on these devices 55 - is an extension to the API documented in 56 - Documentation/ABI/stable/sysfs-class-backlight. 57 - It can be enabled by writing the value stored in 58 - /sys/class/backlight/<backlight>/max_brightness to 59 - /sys/class/backlight/<backlight>/brightness.
+16 -10
Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533
··· 6 6 Get the ALS output channel used as input in 7 7 ALS-current-control mode (0, 1), where: 8 8 9 - 0 - out_current0 (backlight 0) 10 - 1 - out_current1 (backlight 1) 9 + == ========================== 10 + 0 out_current0 (backlight 0) 11 + 1 out_current1 (backlight 1) 12 + == ========================== 11 13 12 14 What: /sys/class/backlight/<backlight>/als_en 13 15 Date: May 2012 ··· 32 30 Description: 33 31 Set the brightness-mapping mode (0, 1), where: 34 32 35 - 0 - exponential mode 36 - 1 - linear mode 33 + == ================ 34 + 0 exponential mode 35 + 1 linear mode 36 + == ================ 37 37 38 38 What: /sys/class/backlight/<backlight>/pwm 39 39 Date: April 2012 ··· 44 40 Description: 45 41 Set the PWM-input control mask (5 bits), where: 46 42 47 - bit 5 - PWM-input enabled in Zone 4 48 - bit 4 - PWM-input enabled in Zone 3 49 - bit 3 - PWM-input enabled in Zone 2 50 - bit 2 - PWM-input enabled in Zone 1 51 - bit 1 - PWM-input enabled in Zone 0 52 - bit 0 - PWM-input enabled 43 + ===== =========================== 44 + bit 5 PWM-input enabled in Zone 4 45 + bit 4 PWM-input enabled in Zone 3 46 + bit 3 PWM-input enabled in Zone 2 47 + bit 2 PWM-input enabled in Zone 1 48 + bit 1 PWM-input enabled in Zone 0 49 + bit 0 PWM-input enabled 50 + ===== ===========================
-1
Documentation/ABI/testing/sysfs-class-bdi
··· 24 24 filesystems which do not provide their own BDI. 25 25 26 26 Files under /sys/class/bdi/<bdi>/ 27 - --------------------------------- 28 27 29 28 read_ahead_kb (read-write) 30 29
+8 -7
Documentation/ABI/testing/sysfs-class-chromeos
··· 17 17 KernelVersion: 4.2 18 18 Description: 19 19 Tell the EC to reboot in various ways. Options are: 20 - "cancel": Cancel a pending reboot. 21 - "ro": Jump to RO without rebooting. 22 - "rw": Jump to RW without rebooting. 23 - "cold": Cold reboot. 24 - "disable-jump": Disable jump until next reboot. 25 - "hibernate": Hibernate the EC. 26 - "at-shutdown": Reboot after an AP shutdown. 20 + 21 + - "cancel": Cancel a pending reboot. 22 + - "ro": Jump to RO without rebooting. 23 + - "rw": Jump to RW without rebooting. 24 + - "cold": Cold reboot. 25 + - "disable-jump": Disable jump until next reboot. 26 + - "hibernate": Hibernate the EC. 27 + - "at-shutdown": Reboot after an AP shutdown. 27 28 28 29 What: /sys/class/chromeos/<ec-device-name>/version 29 30 Date: August 2015
+16 -7
Documentation/ABI/testing/sysfs-class-cxl
··· 72 72 when performing the START_WORK ioctl. Only applicable when 73 73 running under hashed page table mmu. 74 74 Possible values: 75 - none: No prefaulting (default) 76 - work_element_descriptor: Treat the work element 77 - descriptor as an effective address and 78 - prefault what it points to. 79 - all: all segments process calling START_WORK maps. 75 + 76 + ======================= ====================================== 77 + none No prefaulting (default) 78 + work_element_descriptor Treat the work element 79 + descriptor as an effective address and 80 + prefault what it points to. 81 + all all segments process calling 82 + START_WORK maps. 83 + ======================= ====================================== 84 + 80 85 Users: https://github.com/ibm-capi/libcxl 81 86 82 87 What: /sys/class/cxl/<afu>/reset ··· 217 212 card. A power cycle is required to load the image. 218 213 "none" could be useful for debugging because the trace arrays 219 214 are preserved. 215 + 220 216 "user" and "factory" means PERST will cause either the user or 221 217 user or factory image to be loaded. 222 218 Default is to reload on PERST whichever image the card has ··· 241 235 Description: read/write 242 236 Trust that when an image is reloaded via PERST, it will not 243 237 have changed. 244 - 0 = don't trust, the image may be different (default) 245 - 1 = trust that the image will not change. 238 + 239 + == ================================================= 240 + 0 don't trust, the image may be different (default) 241 + 1 trust that the image will not change. 242 + == ================================================= 246 243 Users: https://github.com/ibm-capi/libcxl 247 244 248 245 What: /sys/class/cxl/<card>/psl_timebase_synced
+4 -2
Documentation/ABI/testing/sysfs-class-devfreq
··· 62 62 driver should provide the list of available frequencies 63 63 with its profile. If need to reset the statistics of devfreq 64 64 behavior on a specific device, enter 0(zero) to 'trans_stat' 65 - as following: 65 + as following:: 66 + 66 67 echo 0 > /sys/class/devfreq/.../trans_stat 67 68 68 69 What: /sys/class/devfreq/.../userspace/set_freq ··· 118 117 This work timer is used by devfreq workqueue in order to 119 118 monitor the device status such as utilization. The user 120 119 can change the work timer on runtime according to their demand 121 - as following: 120 + as following:: 121 + 122 122 echo deferrable > /sys/class/devfreq/.../timer 123 123 echo delayed > /sys/class/devfreq/.../timer
+19 -15
Documentation/ABI/testing/sysfs-class-extcon
··· 39 39 callback. 40 40 41 41 If the default callback for showing function is used, the 42 - format is like this: 43 - # cat state 44 - USB_OTG=1 45 - HDMI=0 46 - TA=1 47 - EAR_JACK=0 48 - # 42 + format is like this:: 43 + 44 + # cat state 45 + USB_OTG=1 46 + HDMI=0 47 + TA=1 48 + EAR_JACK=0 49 + # 50 + 49 51 In this example, the extcon device has USB_OTG and TA 50 52 cables attached and HDMI and EAR_JACK cables detached. 51 53 52 54 In order to update the state of an extcon device, enter a hex 53 - state number starting with 0x: 54 - # echo 0xHEX > state 55 + state number starting with 0x:: 56 + 57 + # echo 0xHEX > state 55 58 56 59 This updates the whole state of the extcon device. 57 60 Inputs of all the methods are required to meet the ··· 87 84 Description: 88 85 Shows the relations of mutually exclusiveness. For example, 89 86 if the mutually_exclusive array of extcon device is 90 - {0x3, 0x5, 0xC, 0x0}, then the output is: 91 - # ls mutually_exclusive/ 92 - 0x3 93 - 0x5 94 - 0xc 95 - # 87 + {0x3, 0x5, 0xC, 0x0}, then the output is:: 88 + 89 + # ls mutually_exclusive/ 90 + 0x3 91 + 0x5 92 + 0xc 93 + # 96 94 97 95 Note that mutually_exclusive is a sub-directory of the extcon 98 96 device and the file names under the mutually_exclusive
+2 -3
Documentation/ABI/testing/sysfs-class-fpga-manager
··· 28 28 * firmware request = firmware class request in progress 29 29 * firmware request error = firmware request failed 30 30 * write init = preparing FPGA for programming 31 - * write init error = Error while preparing FPGA for 32 - programming 31 + * write init error = Error while preparing FPGA for programming 33 32 * write = FPGA ready to receive image data 34 33 * write error = Error while programming 35 34 * write complete = Doing post programming steps ··· 46 47 programming errors to userspace. This is a list of strings for 47 48 the supported status. 48 49 49 - * reconfig operation error - invalid operations detected by 50 + * reconfig operation error - invalid operations detected by 50 51 reconfiguration hardware. 51 52 e.g. start reconfiguration 52 53 with errors not cleared
+2
Documentation/ABI/testing/sysfs-class-gnss
··· 6 6 The GNSS receiver type. The currently identified types reflect 7 7 the protocol(s) supported by the receiver: 8 8 9 + ====== =========== 9 10 "NMEA" NMEA 0183 10 11 "SiRF" SiRF Binary 11 12 "UBX" UBX 13 + ====== =========== 12 14 13 15 Note that also non-"NMEA" type receivers typically support a 14 16 subset of NMEA 0183 with vendor extensions (e.g. to allow
+24 -4
Documentation/ABI/testing/sysfs-class-led
··· 3 3 KernelVersion: 2.6.17 4 4 Contact: Richard Purdie <rpurdie@rpsys.net> 5 5 Description: 6 - Set the brightness of the LED. Most LEDs don't 7 - have hardware brightness support, so will just be turned on for 8 - non-zero brightness settings. The value is between 0 and 6 + Set the brightness of the LED. 7 + 8 + Most LEDs don't have hardware brightness support, so will 9 + just be turned on for non-zero brightness settings. 10 + 11 + .. Note:: 12 + 13 + For multicolor LEDs, writing to this file will update all 14 + LEDs within the group to a calculated percentage of what 15 + each color LED intensity is set to. 16 + 17 + The percentage is calculated for each grouped LED via 18 + the equation below:: 19 + 20 + led_brightness = brightness * multi_intensity/max_brightness 21 + 22 + For additional details please refer to 23 + Documentation/leds/leds-class-multicolor.rst. 24 + 25 + The value is between 0 and 9 26 /sys/class/leds/<led>/max_brightness. 10 27 11 28 Writing 0 to this file clears active trigger. 12 29 13 30 Writing non-zero to this file while trigger is active changes the 14 31 top brightness trigger is going to use. 32 + 33 + 15 34 16 35 What: /sys/class/leds/<led>/max_brightness 17 36 Date: March 2006 ··· 66 47 Description: 67 48 Set the trigger for this LED. A trigger is a kernel based source 68 49 of LED events. 50 + 69 51 You can change triggers in a similar manner to the way an IO 70 52 scheduler is chosen. Trigger specific parameters can appear in 71 53 /sys/class/leds/<led> once a given trigger is selected. For 72 - their documentation see sysfs-class-led-trigger-*. 54 + their documentation see `sysfs-class-led-trigger-*`. 73 55 74 56 What: /sys/class/leds/<led>/inverted 75 57 Date: January 2011
-130
Documentation/ABI/testing/sysfs-class-led-driver-el15203000
··· 1 - What: /sys/class/leds/<led>/hw_pattern 2 - Date: September 2019 3 - KernelVersion: 5.5 4 - Description: 5 - Specify a hardware pattern for the EL15203000 LED. 6 - The LEDs board supports only predefined patterns by firmware 7 - for specific LEDs. 8 - 9 - Breathing mode for Screen frame light tube: 10 - "0 4000 1 4000" 11 - 12 - ^ 13 - | 14 - Max-| --- 15 - | / \ 16 - | / \ 17 - | / \ / 18 - | / \ / 19 - Min-|- --- 20 - | 21 - 0------4------8--> time (sec) 22 - 23 - Cascade mode for Pipe LED: 24 - "1 800 2 800 4 800 8 800 16 800" 25 - 26 - ^ 27 - | 28 - 0 On -|----+ +----+ +--- 29 - | | | | | 30 - Off-| +-------------------+ +-------------------+ 31 - | 32 - 1 On -| +----+ +----+ 33 - | | | | | 34 - Off |----+ +-------------------+ +------------------ 35 - | 36 - 2 On -| +----+ +----+ 37 - | | | | | 38 - Off-|---------+ +-------------------+ +------------- 39 - | 40 - 3 On -| +----+ +----+ 41 - | | | | | 42 - Off-|--------------+ +-------------------+ +-------- 43 - | 44 - 4 On -| +----+ +----+ 45 - | | | | | 46 - Off-|-------------------+ +-------------------+ +--- 47 - | 48 - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 49 - 50 - Inverted cascade mode for Pipe LED: 51 - "30 800 29 800 27 800 23 800 15 800" 52 - 53 - ^ 54 - | 55 - 0 On -| +-------------------+ +-------------------+ 56 - | | | | | 57 - Off-|----+ +----+ +--- 58 - | 59 - 1 On -|----+ +-------------------+ +------------------ 60 - | | | | | 61 - Off | +----+ +----+ 62 - | 63 - 2 On -|---------+ +-------------------+ +------------- 64 - | | | | | 65 - Off-| +----+ +----+ 66 - | 67 - 3 On -|--------------+ +-------------------+ +-------- 68 - | | | | | 69 - Off-| +----+ +----+ 70 - | 71 - 4 On -|-------------------+ +-------------------+ +--- 72 - | | | | | 73 - Off-| +----+ +----+ 74 - | 75 - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 76 - 77 - Bounce mode for Pipe LED: 78 - "1 800 2 800 4 800 8 800 16 800 16 800 8 800 4 800 2 800 1 800" 79 - 80 - ^ 81 - | 82 - 0 On -|----+ +-------- 83 - | | | 84 - Off-| +---------------------------------------+ 85 - | 86 - 1 On -| +----+ +----+ 87 - | | | | | 88 - Off |----+ +-----------------------------+ +-------- 89 - | 90 - 2 On -| +----+ +----+ 91 - | | | | | 92 - Off-|---------+ +-------------------+ +------------- 93 - | 94 - 3 On -| +----+ +----+ 95 - | | | | | 96 - Off-|--------------+ +---------+ +------------------ 97 - | 98 - 4 On -| +---------+ 99 - | | | 100 - Off-|-------------------+ +----------------------- 101 - | 102 - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 103 - 104 - Inverted bounce mode for Pipe LED: 105 - "30 800 29 800 27 800 23 800 15 800 15 800 23 800 27 800 29 800 30 800" 106 - 107 - ^ 108 - | 109 - 0 On -| +---------------------------------------+ 110 - | | | 111 - Off-|----+ +-------- 112 - | 113 - 1 On -|----+ +-----------------------------+ +-------- 114 - | | | | | 115 - Off | +----+ +----+ 116 - | 117 - 2 On -|---------+ +-------------------+ +------------- 118 - | | | | | 119 - Off-| +----+ +----+ 120 - | 121 - 3 On -|--------------+ +---------+ +------------------ 122 - | | | | | 123 - Off-| +----+ +----+ 124 - | 125 - 4 On -|-------------------+ +----------------------- 126 - | | | 127 - Off-| +---------+ 128 - | 129 - 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 130 - 131 1 What: /sys/class/leds/<led>/repeat 132 2 Date: September 2019 133 3 KernelVersion: 5.5
+26 -18
Documentation/ABI/testing/sysfs-class-led-driver-lm3533
··· 6 6 Set the ALS output channel to use as input in 7 7 ALS-current-control mode (1, 2), where: 8 8 9 - 1 - out_current1 10 - 2 - out_current2 9 + == ============ 10 + 1 out_current1 11 + 2 out_current2 12 + == ============ 11 13 12 14 What: /sys/class/leds/<led>/als_en 13 15 Date: May 2012 ··· 26 24 Description: 27 25 Set the pattern generator fall and rise times (0..7), where: 28 26 29 - 0 - 2048 us 30 - 1 - 262 ms 31 - 2 - 524 ms 32 - 3 - 1.049 s 33 - 4 - 2.097 s 34 - 5 - 4.194 s 35 - 6 - 8.389 s 36 - 7 - 16.78 s 27 + == ======= 28 + 0 2048 us 29 + 1 262 ms 30 + 2 524 ms 31 + 3 1.049 s 32 + 4 2.097 s 33 + 5 4.194 s 34 + 6 8.389 s 35 + 7 16.78 s 36 + == ======= 37 37 38 38 What: /sys/class/leds/<led>/id 39 39 Date: April 2012 ··· 51 47 Description: 52 48 Set the brightness-mapping mode (0, 1), where: 53 49 54 - 0 - exponential mode 55 - 1 - linear mode 50 + == ================ 51 + 0 exponential mode 52 + 1 linear mode 53 + == ================ 56 54 57 55 What: /sys/class/leds/<led>/pwm 58 56 Date: April 2012 ··· 63 57 Description: 64 58 Set the PWM-input control mask (5 bits), where: 65 59 66 - bit 5 - PWM-input enabled in Zone 4 67 - bit 4 - PWM-input enabled in Zone 3 68 - bit 3 - PWM-input enabled in Zone 2 69 - bit 2 - PWM-input enabled in Zone 1 70 - bit 1 - PWM-input enabled in Zone 0 71 - bit 0 - PWM-input enabled 60 + ===== =========================== 61 + bit 5 PWM-input enabled in Zone 4 62 + bit 4 PWM-input enabled in Zone 3 63 + bit 3 PWM-input enabled in Zone 2 64 + bit 2 PWM-input enabled in Zone 1 65 + bit 1 PWM-input enabled in Zone 0 66 + bit 0 PWM-input enabled 67 + ===== ===========================
-22
Documentation/ABI/testing/sysfs-class-led-driver-sc27xx
··· 1 - What: /sys/class/leds/<led>/hw_pattern 2 - Date: September 2018 3 - KernelVersion: 4.20 4 - Description: 5 - Specify a hardware pattern for the SC27XX LED. For the SC27XX 6 - LED controller, it only supports 4 stages to make a single 7 - hardware pattern, which is used to configure the rise time, 8 - high time, fall time and low time for the breathing mode. 9 - 10 - For the breathing mode, the SC27XX LED only expects one brightness 11 - for the high stage. To be compatible with the hardware pattern 12 - format, we should set brightness as 0 for rise stage, fall 13 - stage and low stage. 14 - 15 - Min stage duration: 125 ms 16 - Max stage duration: 31875 ms 17 - 18 - Since the stage duration step is 125 ms, the duration should be 19 - a multiplier of 125, like 125ms, 250ms, 375ms, 500ms ... 31875ms. 20 - 21 - Thus the format of the hardware pattern values should be: 22 - "0 rise_duration brightness high_duration 0 fall_duration 0 low_duration".
+18 -9
Documentation/ABI/testing/sysfs-class-led-flash
··· 55 55 Flash faults are re-read after strobing the flash. Possible 56 56 flash faults: 57 57 58 - * led-over-voltage - flash controller voltage to the flash LED 58 + * led-over-voltage 59 + flash controller voltage to the flash LED 59 60 has exceeded the limit specific to the flash controller 60 - * flash-timeout-exceeded - the flash strobe was still on when 61 + * flash-timeout-exceeded 62 + the flash strobe was still on when 61 63 the timeout set by the user has expired; not all flash 62 64 controllers may set this in all such conditions 63 - * controller-over-temperature - the flash controller has 65 + * controller-over-temperature 66 + the flash controller has 64 67 overheated 65 - * controller-short-circuit - the short circuit protection 68 + * controller-short-circuit 69 + the short circuit protection 66 70 of the flash controller has been triggered 67 - * led-power-supply-over-current - current in the LED power 71 + * led-power-supply-over-current 72 + current in the LED power 68 73 supply has exceeded the limit specific to the flash 69 74 controller 70 - * indicator-led-fault - the flash controller has detected 75 + * indicator-led-fault 76 + the flash controller has detected 71 77 a short or open circuit condition on the indicator LED 72 - * led-under-voltage - flash controller voltage to the flash 78 + * led-under-voltage 79 + flash controller voltage to the flash 73 80 LED has been below the minimum limit specific to 74 81 the flash 75 - * controller-under-voltage - the input voltage of the flash 82 + * controller-under-voltage 83 + the input voltage of the flash 76 84 controller is below the limit under which strobing the 77 85 flash at full current will not be possible; 78 86 the condition persists until this flag is no longer set 79 - * led-over-temperature - the temperature of the LED has exceeded 87 + * led-over-temperature 88 + the temperature of the LED has exceeded 80 89 its allowed upper limit
+6 -17
Documentation/ABI/testing/sysfs-class-led-multicolor
··· 1 - What: /sys/class/leds/<led>/brightness 2 - Date: March 2020 3 - KernelVersion: 5.9 4 - Contact: Dan Murphy <dmurphy@ti.com> 5 - Description: read/write 6 - Writing to this file will update all LEDs within the group to a 7 - calculated percentage of what each color LED intensity is set 8 - to. The percentage is calculated for each grouped LED via the 9 - equation below: 10 - 11 - led_brightness = brightness * multi_intensity/max_brightness 12 - 13 - For additional details please refer to 14 - Documentation/leds/leds-class-multicolor.rst. 15 - 16 - The value of the LED is from 0 to 17 - /sys/class/leds/<led>/max_brightness. 18 1 19 2 What: /sys/class/leds/<led>/multi_index 20 3 Date: March 2020 ··· 8 25 as an array of strings as they are indexed in the 9 26 multi_intensity file. 10 27 28 + For additional details please refer to 29 + Documentation/leds/leds-class-multicolor.rst. 30 + 11 31 What: /sys/class/leds/<led>/multi_intensity 12 32 Date: March 2020 13 33 KernelVersion: 5.9 ··· 19 33 This file contains array of integers. Order of components is 20 34 described by the multi_index array. The maximum intensity should 21 35 not exceed /sys/class/leds/<led>/max_brightness. 36 + 37 + For additional details please refer to 38 + Documentation/leds/leds-class-multicolor.rst.
+7
Documentation/ABI/testing/sysfs-class-led-trigger-netdev
··· 19 19 Contact: linux-leds@vger.kernel.org 20 20 Description: 21 21 Signal the link state of the named network device. 22 + 22 23 If set to 0 (default), the LED's normal state is off. 24 + 23 25 If set to 1, the LED's normal state reflects the link state 24 26 of the named network device. 25 27 Setting this value also immediately changes the LED state. 28 + 26 29 27 30 What: /sys/class/leds/<led>/tx 28 31 Date: Dec 2017 ··· 33 30 Contact: linux-leds@vger.kernel.org 34 31 Description: 35 32 Signal transmission of data on the named network device. 33 + 36 34 If set to 0 (default), the LED will not blink on transmission. 35 + 37 36 If set to 1, the LED will blink for the milliseconds specified 38 37 in interval to signal transmission. 39 38 ··· 45 40 Contact: linux-leds@vger.kernel.org 46 41 Description: 47 42 Signal reception of data on the named network device. 43 + 48 44 If set to 0 (default), the LED will not blink on reception. 45 + 49 46 If set to 1, the LED will blink for the milliseconds specified 50 47 in interval to signal reception.
+2 -2
Documentation/ABI/testing/sysfs-class-led-trigger-pattern
··· 23 23 24 24 Since different LED hardware can have different semantics of 25 25 hardware patterns, each driver is expected to provide its own 26 - description for the hardware patterns in their ABI documentation 27 - file. 26 + description for the hardware patterns in their documentation 27 + file at Documentation/leds/. 28 28 29 29 What: /sys/class/leds/<led>/repeat 30 30 Date: September 2018
+1
Documentation/ABI/testing/sysfs-class-led-trigger-usbport
··· 8 8 selected for the USB port trigger. Selecting ports makes trigger 9 9 observing them for any connected devices and lighting on LED if 10 10 there are any. 11 + 11 12 Echoing "1" value selects USB port. Echoing "0" unselects it. 12 13 Current state can be also read.
+5 -3
Documentation/ABI/testing/sysfs-class-leds-gt683r
··· 7 7 of one LED will update the mode of its two sibling devices as 8 8 well. Possible values are: 9 9 10 - 0 - normal 11 - 1 - audio 12 - 2 - breathing 10 + == ========= 11 + 0 normal 12 + 1 audio 13 + 2 breathing 14 + == ========= 13 15 14 16 Normal: LEDs are fully on when enabled 15 17 Audio: LEDs brightness depends on sound level
+32 -20
Documentation/ABI/testing/sysfs-class-mic
··· 41 41 When read, this entry provides the current state of an Intel 42 42 MIC device in the context of the card OS. Possible values that 43 43 will be read are: 44 - "ready" - The MIC device is ready to boot the card OS. On 45 - reading this entry after an OSPM resume, a "boot" has to be 46 - written to this entry if the card was previously shutdown 47 - during OSPM suspend. 48 - "booting" - The MIC device has initiated booting a card OS. 49 - "online" - The MIC device has completed boot and is online 50 - "shutting_down" - The card OS is shutting down. 51 - "resetting" - A reset has been initiated for the MIC device 52 - "reset_failed" - The MIC device has failed to reset. 44 + 45 + 46 + =============== =============================================== 47 + "ready" The MIC device is ready to boot the card OS. 48 + On reading this entry after an OSPM resume, 49 + a "boot" has to be written to this entry if 50 + the card was previously shutdown during OSPM 51 + suspend. 52 + "booting" The MIC device has initiated booting a card OS. 53 + "online" The MIC device has completed boot and is online 54 + "shutting_down" The card OS is shutting down. 55 + "resetting" A reset has been initiated for the MIC device 56 + "reset_failed" The MIC device has failed to reset. 57 + =============== =============================================== 53 58 54 59 When written, this sysfs entry triggers different state change 55 60 operations depending upon the current state of the card OS. 56 61 Acceptable values are: 57 - "boot" - Boot the card OS image specified by the combination 58 - of firmware, ramdisk, cmdline and bootmode 59 - sysfs entries. 60 - "reset" - Initiates device reset. 61 - "shutdown" - Initiates card OS shutdown. 62 + 63 + 64 + ========== =================================================== 65 + "boot" Boot the card OS image specified by the combination 66 + of firmware, ramdisk, cmdline and bootmode 67 + sysfs entries. 68 + "reset" Initiates device reset. 69 + "shutdown" Initiates card OS shutdown. 70 + ========== =================================================== 62 71 63 72 What: /sys/class/mic/mic(x)/shutdown_status 64 73 Date: October 2013 ··· 78 69 OS can shutdown because of various reasons. When read, this 79 70 entry provides the status on why the card OS was shutdown. 80 71 Possible values are: 81 - "nop" - shutdown status is not applicable, when the card OS is 82 - "online" 83 - "crashed" - Shutdown because of a HW or SW crash. 84 - "halted" - Shutdown because of a halt command. 85 - "poweroff" - Shutdown because of a poweroff command. 86 - "restart" - Shutdown because of a restart command. 72 + 73 + ========== =================================================== 74 + "nop" shutdown status is not applicable, when the card OS 75 + is "online" 76 + "crashed" Shutdown because of a HW or SW crash. 77 + "halted" Shutdown because of a halt command. 78 + "poweroff" Shutdown because of a poweroff command. 79 + "restart" Shutdown because of a restart command. 80 + ========== =================================================== 87 81 88 82 What: /sys/class/mic/mic(x)/cmdline 89 83 Date: October 2013
+42 -19
Documentation/ABI/testing/sysfs-class-net
··· 4 4 Contact: netdev@vger.kernel.org 5 5 Description: 6 6 Indicates the name assignment type. Possible values are: 7 - 1: enumerated by the kernel, possibly in an unpredictable way 8 - 2: predictably named by the kernel 9 - 3: named by userspace 10 - 4: renamed 7 + 8 + == ========================================================== 9 + 1 enumerated by the kernel, possibly in an unpredictable way 10 + 2 predictably named by the kernel 11 + 3 named by userspace 12 + 4 renamed 13 + == ========================================================== 11 14 12 15 What: /sys/class/net/<iface>/addr_assign_type 13 16 Date: July 2010 ··· 18 15 Contact: netdev@vger.kernel.org 19 16 Description: 20 17 Indicates the address assignment type. Possible values are: 21 - 0: permanent address 22 - 1: randomly generated 23 - 2: stolen from another device 24 - 3: set using dev_set_mac_address 18 + 19 + == ============================= 20 + 0 permanent address 21 + 1 randomly generated 22 + 2 stolen from another device 23 + 3 set using dev_set_mac_address 24 + == ============================= 25 25 26 26 What: /sys/class/net/<iface>/addr_len 27 27 Date: April 2005 ··· 57 51 Default value 0 does not forward any link local frames. 58 52 59 53 Restricted bits: 60 - 0: 01-80-C2-00-00-00 Bridge Group Address used for STP 61 - 1: 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE 62 - 2: 01-80-C2-00-00-02 (Link Aggregation) 802.3ad 54 + 55 + == ======================================================== 56 + 0 01-80-C2-00-00-00 Bridge Group Address used for STP 57 + 1 01-80-C2-00-00-01 (MAC Control) 802.3 used for MAC PAUSE 58 + 2 01-80-C2-00-00-02 (Link Aggregation) 802.3ad 59 + == ======================================================== 63 60 64 61 Any values not setting these bits can be used. Take special 65 62 care when forwarding control frames e.g. 802.1X-PAE or LLDP. ··· 83 74 Description: 84 75 Indicates the current physical link state of the interface. 85 76 Posssible values are: 86 - 0: physical link is down 87 - 1: physical link is up 77 + 78 + == ===================== 79 + 0 physical link is down 80 + 1 physical link is up 81 + == ===================== 88 82 89 83 Note: some special devices, e.g: bonding and team drivers will 90 84 allow this attribute to be written to force a link state for ··· 143 131 Description: 144 132 Indicates whether the interface is under test. Possible 145 133 values are: 146 - 0: interface is not being tested 147 - 1: interface is being tested 134 + 135 + == ============================= 136 + 0 interface is not being tested 137 + 1 interface is being tested 138 + == ============================= 148 139 149 140 When an interface is under test, it cannot be expected 150 141 to pass packets as normal. ··· 159 144 Description: 160 145 Indicates the interface latest or current duplex value. Possible 161 146 values are: 162 - half: half duplex 163 - full: full duplex 147 + 148 + ==== =========== 149 + half half duplex 150 + full full duplex 151 + ==== =========== 164 152 165 153 Note: This attribute is only valid for interfaces that implement 166 154 the ethtool get_link_ksettings method (mostly Ethernet). ··· 214 196 Indicates the interface link mode, as a decimal number. This 215 197 attribute should be used in conjunction with 'dormant' attribute 216 198 to determine the interface usability. Possible values: 217 - 0: default link mode 218 - 1: dormant link mode 199 + 200 + == ================= 201 + 0 default link mode 202 + 1 dormant link mode 203 + == ================= 219 204 220 205 What: /sys/class/net/<iface>/mtu 221 206 Date: April 2005 ··· 247 226 Contact: netdev@vger.kernel.org 248 227 Description: 249 228 Indicates the interface RFC2863 operational state as a string. 229 + 250 230 Possible values are: 231 + 251 232 "unknown", "notpresent", "down", "lowerlayerdown", "testing", 252 233 "dormant", "up". 253 234
+3 -3
Documentation/ABI/testing/sysfs-class-net-cdc_ncm
··· 91 91 KernelVersion: 3.16 92 92 Contact: Bjørn Mork <bjorn@mork.no> 93 93 Description: 94 - Bit 0: 16-bit NTB supported (set to 1) 95 - Bit 1: 32-bit NTB supported 96 - Bits 2 – 15: reserved (reset to zero; must be ignored by host) 94 + - Bit 0: 16-bit NTB supported (set to 1) 95 + - Bit 1: 32-bit NTB supported 96 + - Bits 2 – 15: reserved (reset to zero; must be ignored by host) 97 97 98 98 What: /sys/class/net/<iface>/cdc_ncm/dwNtbInMaxSize 99 99 Date: May 2014
+2
Documentation/ABI/testing/sysfs-class-net-phydev
··· 35 35 Ethernet driver during bus enumeration, encoded in string. 36 36 This interface mode is used to configure the Ethernet MAC with the 37 37 appropriate mode for its data lines to the PHY hardware. 38 + 38 39 Possible values are: 40 + 39 41 <empty> (not available), mii, gmii, sgmii, tbi, rev-mii, 40 42 rmii, rgmii, rgmii-id, rgmii-rxid, rgmii-txid, rtbi, smii 41 43 xgmii, moca, qsgmii, trgmii, 1000base-x, 2500base-x, rxaui,
+11 -6
Documentation/ABI/testing/sysfs-class-ocxl
··· 11 11 Description: read only 12 12 Number of contexts for the AFU, in the format <n>/<max> 13 13 where: 14 - n: number of currently active contexts, for debug 15 - max: maximum number of contexts supported by the AFU 14 + 15 + ==== =============================================== 16 + n number of currently active contexts, for debug 17 + max maximum number of contexts supported by the AFU 18 + ==== =============================================== 16 19 17 20 What: /sys/class/ocxl/<afu name>/pp_mmio_size 18 21 Date: January 2018 ··· 43 40 Description: read/write 44 41 Control whether the FPGA is reloaded on a link reset. Enabled 45 42 through a vendor-specific logic block on the FPGA. 46 - 0 Do not reload FPGA image from flash 47 - 1 Reload FPGA image from flash 48 - unavailable 49 - The device does not support this capability 43 + 44 + =========== =========================================== 45 + 0 Do not reload FPGA image from flash 46 + 1 Reload FPGA image from flash 47 + unavailable The device does not support this capability 48 + =========== ===========================================
+20 -16
Documentation/ABI/testing/sysfs-class-pktcdvd
··· 11 11 Contact: Thomas Maier <balagi@justmail.de> 12 12 Description: 13 13 14 - add: (WO) Write a block device id (major:minor) to 14 + ========== ============================================== 15 + add (WO) Write a block device id (major:minor) to 15 16 create a new pktcdvd device and map it to the 16 17 block device. 17 18 18 - remove: (WO) Write the pktcdvd device id (major:minor) 19 + remove (WO) Write the pktcdvd device id (major:minor) 19 20 to remove the pktcdvd device. 20 21 21 - device_map: (RO) Shows the device mapping in format: 22 + device_map (RO) Shows the device mapping in format: 22 23 pktcdvd[0-7] <pktdevid> <blkdevid> 24 + ========== ============================================== 23 25 24 26 25 27 What: /sys/class/pktcdvd/pktcdvd[0-7]/dev ··· 67 65 KernelVersion: 2.6.20 68 66 Contact: Thomas Maier <balagi@justmail.de> 69 67 Description: 70 - size: (RO) Contains the size of the bio write queue. 68 + ============== ================================================ 69 + size (RO) Contains the size of the bio write queue. 71 70 72 - congestion_off: (RW) If bio write queue size is below this mark, 71 + congestion_off (RW) If bio write queue size is below this mark, 73 72 accept new bio requests from the block layer. 74 73 75 - congestion_on: (RW) If bio write queue size is higher as this 74 + congestion_on (RW) If bio write queue size is higher as this 76 75 mark, do no longer accept bio write requests 77 76 from the block layer and wait till the pktcdvd 78 77 device has processed enough bio's so that bio 79 78 write queue size is below congestion off mark. 80 79 A value of <= 0 disables congestion control. 80 + ============== ================================================ 81 81 82 82 83 83 Example: 84 84 -------- 85 - To use the pktcdvd sysfs interface directly, you can do: 85 + To use the pktcdvd sysfs interface directly, you can do:: 86 86 87 - # create a new pktcdvd device mapped to /dev/hdc 88 - echo "22:0" >/sys/class/pktcdvd/add 89 - cat /sys/class/pktcdvd/device_map 90 - # assuming device pktcdvd0 was created, look at stat's 91 - cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written 92 - # print the device id of the mapped block device 93 - fgrep pktcdvd0 /sys/class/pktcdvd/device_map 94 - # remove device, using pktcdvd0 device id 253:0 95 - echo "253:0" >/sys/class/pktcdvd/remove 87 + # create a new pktcdvd device mapped to /dev/hdc 88 + echo "22:0" >/sys/class/pktcdvd/add 89 + cat /sys/class/pktcdvd/device_map 90 + # assuming device pktcdvd0 was created, look at stat's 91 + cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written 92 + # print the device id of the mapped block device 93 + fgrep pktcdvd0 /sys/class/pktcdvd/device_map 94 + # remove device, using pktcdvd0 device id 253:0 95 + echo "253:0" >/sys/class/pktcdvd/remove
+276 -251
Documentation/ABI/testing/sysfs-class-power
··· 1 - ===== General Properties ===== 1 + **General Properties** 2 2 3 3 What: /sys/class/power_supply/<supply_name>/manufacturer 4 4 Date: May 2007 ··· 36 36 Access: Read 37 37 Valid values: "Battery", "UPS", "Mains", "USB", "Wireless" 38 38 39 - ===== Battery Properties ===== 39 + **Battery and USB properties** 40 + 41 + What: /sys/class/power_supply/<supply_name>/current_avg 42 + Date: May 2007 43 + Contact: linux-pm@vger.kernel.org 44 + Description: 45 + Battery: 46 + 47 + Reports an average IBAT current reading for the battery, over 48 + a fixed period. Normally devices will provide a fixed interval 49 + in which they average readings to smooth out the reported 50 + value. 51 + 52 + USB: 53 + 54 + Reports an average IBUS current reading over a fixed period. 55 + Normally devices will provide a fixed interval in which they 56 + average readings to smooth out the reported value. 57 + 58 + Access: Read 59 + 60 + Valid values: Represented in microamps. Negative values are 61 + used for discharging batteries, positive values for charging 62 + batteries and for USB IBUS current. 63 + 64 + What: /sys/class/power_supply/<supply_name>/current_max 65 + Date: October 2010 66 + Contact: linux-pm@vger.kernel.org 67 + Description: 68 + Battery: 69 + 70 + Reports the maximum IBAT current allowed into the battery. 71 + 72 + USB: 73 + 74 + Reports the maximum IBUS current the supply can support. 75 + 76 + Access: Read 77 + Valid values: Represented in microamps 78 + 79 + What: /sys/class/power_supply/<supply_name>/current_now 80 + Date: May 2007 81 + Contact: linux-pm@vger.kernel.org 82 + Description: 83 + 84 + Battery: 85 + 86 + Reports an instant, single IBAT current reading for the 87 + battery. This value is not averaged/smoothed. 88 + 89 + Access: Read 90 + 91 + USB: 92 + 93 + Reports the IBUS current supplied now. This value is generally 94 + read-only reporting, unless the 'online' state of the supply 95 + is set to be programmable, in which case this value can be set 96 + within the reported min/max range. 97 + 98 + Access: Read, Write 99 + 100 + Valid values: Represented in microamps. Negative values are 101 + used for discharging batteries, positive values for charging 102 + batteries and for USB IBUS current. 103 + 104 + What: /sys/class/power_supply/<supply_name>/temp 105 + Date: May 2007 106 + Contact: linux-pm@vger.kernel.org 107 + Description: 108 + Battery: 109 + 110 + Reports the current TBAT battery temperature reading. 111 + 112 + USB: 113 + 114 + Reports the current supply temperature reading. This would 115 + normally be the internal temperature of the device itself 116 + (e.g TJUNC temperature of an IC) 117 + 118 + Access: Read 119 + 120 + Valid values: Represented in 1/10 Degrees Celsius 121 + 122 + What: /sys/class/power_supply/<supply_name>/temp_alert_max 123 + Date: July 2012 124 + Contact: linux-pm@vger.kernel.org 125 + Description: 126 + Battery: 127 + 128 + Maximum TBAT temperature trip-wire value where the supply will 129 + notify user-space of the event. 130 + 131 + USB: 132 + 133 + Maximum supply temperature trip-wire value where the supply 134 + will notify user-space of the event. 135 + 136 + This is normally used for the charging scenario where 137 + user-space needs to know if the temperature has crossed an 138 + upper threshold so it can take appropriate action (e.g. warning 139 + user that the temperature is critically high, and charging has 140 + stopped). 141 + 142 + Access: Read 143 + 144 + Valid values: Represented in 1/10 Degrees Celsius 145 + 146 + What: /sys/class/power_supply/<supply_name>/temp_alert_min 147 + Date: July 2012 148 + Contact: linux-pm@vger.kernel.org 149 + Description: 150 + 151 + Battery: 152 + 153 + Minimum TBAT temperature trip-wire value where the supply will 154 + notify user-space of the event. 155 + 156 + USB: 157 + 158 + Minimum supply temperature trip-wire value where the supply 159 + will notify user-space of the event. 160 + 161 + This is normally used for the charging scenario where user-space 162 + needs to know if the temperature has crossed a lower threshold 163 + so it can take appropriate action (e.g. warning user that 164 + temperature level is high, and charging current has been 165 + reduced accordingly to remedy the situation). 166 + 167 + Access: Read 168 + 169 + Valid values: Represented in 1/10 Degrees Celsius 170 + 171 + What: /sys/class/power_supply/<supply_name>/temp_max 172 + Date: July 2014 173 + Contact: linux-pm@vger.kernel.org 174 + Description: 175 + Battery: 176 + 177 + Reports the maximum allowed TBAT battery temperature for 178 + charging. 179 + 180 + USB: 181 + 182 + Reports the maximum allowed supply temperature for operation. 183 + 184 + Access: Read 185 + 186 + Valid values: Represented in 1/10 Degrees Celsius 187 + 188 + What: /sys/class/power_supply/<supply_name>/temp_min 189 + Date: July 2014 190 + Contact: linux-pm@vger.kernel.org 191 + Description: 192 + Battery: 193 + 194 + Reports the minimum allowed TBAT battery temperature for 195 + charging. 196 + 197 + USB: 198 + 199 + Reports the minimum allowed supply temperature for operation. 200 + 201 + Access: Read 202 + 203 + Valid values: Represented in 1/10 Degrees Celsius 204 + 205 + What: /sys/class/power_supply/<supply_name>/voltage_max, 206 + Date: January 2008 207 + Contact: linux-pm@vger.kernel.org 208 + Description: 209 + Battery: 210 + 211 + Reports the maximum safe VBAT voltage permitted for the 212 + battery, during charging. 213 + 214 + USB: 215 + 216 + Reports the maximum VBUS voltage the supply can support. 217 + 218 + Access: Read 219 + 220 + Valid values: Represented in microvolts 221 + 222 + What: /sys/class/power_supply/<supply_name>/voltage_min, 223 + Date: January 2008 224 + Contact: linux-pm@vger.kernel.org 225 + Description: 226 + Battery: 227 + 228 + Reports the minimum safe VBAT voltage permitted for the 229 + battery, during discharging. 230 + 231 + USB: 232 + 233 + Reports the minimum VBUS voltage the supply can support. 234 + 235 + Access: Read 236 + 237 + Valid values: Represented in microvolts 238 + 239 + What: /sys/class/power_supply/<supply_name>/voltage_now, 240 + Date: May 2007 241 + Contact: linux-pm@vger.kernel.org 242 + Description: 243 + Battery: 244 + 245 + Reports an instant, single VBAT voltage reading for the 246 + battery. This value is not averaged/smoothed. 247 + 248 + Access: Read 249 + 250 + USB: 251 + 252 + Reports the VBUS voltage supplied now. This value is generally 253 + read-only reporting, unless the 'online' state of the supply 254 + is set to be programmable, in which case this value can be set 255 + within the reported min/max range. 256 + 257 + Access: Read, Write 258 + 259 + Valid values: Represented in microvolts 260 + 261 + **Battery Properties** 40 262 41 263 What: /sys/class/power_supply/<supply_name>/capacity 42 264 Date: May 2007 43 265 Contact: linux-pm@vger.kernel.org 44 266 Description: 45 267 Fine grain representation of battery capacity. 268 + 46 269 Access: Read 270 + 47 271 Valid values: 0 - 100 (percent) 48 272 49 273 What: /sys/class/power_supply/<supply_name>/capacity_alert_max ··· 282 58 low). 283 59 284 60 Access: Read, Write 61 + 285 62 Valid values: 0 - 100 (percent) 286 63 287 64 What: /sys/class/power_supply/<supply_name>/capacity_alert_min ··· 297 72 critically low). 298 73 299 74 Access: Read, Write 75 + 300 76 Valid values: 0 - 100 (percent) 301 77 302 78 What: /sys/class/power_supply/<supply_name>/capacity_error_margin ··· 313 87 completely useless. 314 88 315 89 Access: Read 90 + 316 91 Valid values: 0 - 100 (percent) 317 92 318 93 What: /sys/class/power_supply/<supply_name>/capacity_level ··· 323 96 Coarse representation of battery capacity. 324 97 325 98 Access: Read 326 - Valid values: "Unknown", "Critical", "Low", "Normal", "High", 99 + 100 + Valid values: 101 + "Unknown", "Critical", "Low", "Normal", "High", 327 102 "Full" 328 - 329 - What: /sys/class/power_supply/<supply_name>/current_avg 330 - Date: May 2007 331 - Contact: linux-pm@vger.kernel.org 332 - Description: 333 - Reports an average IBAT current reading for the battery, over a 334 - fixed period. Normally devices will provide a fixed interval in 335 - which they average readings to smooth out the reported value. 336 - 337 - Access: Read 338 - Valid values: Represented in microamps. Negative values are used 339 - for discharging batteries, positive values for charging batteries. 340 - 341 - What: /sys/class/power_supply/<supply_name>/current_max 342 - Date: October 2010 343 - Contact: linux-pm@vger.kernel.org 344 - Description: 345 - Reports the maximum IBAT current allowed into the battery. 346 - 347 - Access: Read 348 - Valid values: Represented in microamps 349 - 350 - What: /sys/class/power_supply/<supply_name>/current_now 351 - Date: May 2007 352 - Contact: linux-pm@vger.kernel.org 353 - Description: 354 - Reports an instant, single IBAT current reading for the battery. 355 - This value is not averaged/smoothed. 356 - 357 - Access: Read 358 - Valid values: Represented in microamps. Negative values are used 359 - for discharging batteries, positive values for charging batteries. 360 103 361 104 What: /sys/class/power_supply/<supply_name>/charge_control_limit 362 105 Date: Oct 2012 ··· 336 139 throttling for thermal cooling or improving battery health. 337 140 338 141 Access: Read, Write 142 + 339 143 Valid values: Represented in microamps 340 144 341 145 What: /sys/class/power_supply/<supply_name>/charge_control_limit_max ··· 346 148 Maximum legal value for the charge_control_limit property. 347 149 348 150 Access: Read 151 + 349 152 Valid values: Represented in microamps 350 153 351 154 What: /sys/class/power_supply/<supply_name>/charge_control_start_threshold ··· 367 168 stop. 368 169 369 170 Access: Read, Write 171 + 370 172 Valid values: 0 - 100 (percent) 371 173 372 174 What: /sys/class/power_supply/<supply_name>/charge_type ··· 383 183 different algorithm. 384 184 385 185 Access: Read, Write 386 - Valid values: "Unknown", "N/A", "Trickle", "Fast", "Standard", 186 + 187 + Valid values: 188 + "Unknown", "N/A", "Trickle", "Fast", "Standard", 387 189 "Adaptive", "Custom" 388 190 389 191 What: /sys/class/power_supply/<supply_name>/charge_term_current ··· 396 194 when the battery is considered full and charging should end. 397 195 398 196 Access: Read 197 + 399 198 Valid values: Represented in microamps 400 199 401 200 What: /sys/class/power_supply/<supply_name>/health ··· 407 204 functionality. 408 205 409 206 Access: Read 410 - Valid values: "Unknown", "Good", "Overheat", "Dead", 207 + 208 + Valid values: 209 + "Unknown", "Good", "Overheat", "Dead", 411 210 "Over voltage", "Unspecified failure", "Cold", 412 211 "Watchdog timer expire", "Safety timer expire", 413 212 "Over current", "Calibration required", "Warm", ··· 423 218 for a battery charge cycle. 424 219 425 220 Access: Read 221 + 426 222 Valid values: Represented in microamps 427 223 428 224 What: /sys/class/power_supply/<supply_name>/present ··· 433 227 Reports whether a battery is present or not in the system. 434 228 435 229 Access: Read 230 + 436 231 Valid values: 232 + 233 + == ======= 437 234 0: Absent 438 235 1: Present 236 + == ======= 439 237 440 238 What: /sys/class/power_supply/<supply_name>/status 441 239 Date: May 2007 ··· 450 240 used to enable/disable charging to the battery. 451 241 452 242 Access: Read, Write 453 - Valid values: "Unknown", "Charging", "Discharging", 243 + 244 + Valid values: 245 + "Unknown", "Charging", "Discharging", 454 246 "Not charging", "Full" 455 247 456 248 What: /sys/class/power_supply/<supply_name>/technology ··· 462 250 Describes the battery technology supported by the supply. 463 251 464 252 Access: Read 465 - Valid values: "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", 253 + 254 + Valid values: 255 + "Unknown", "NiMH", "Li-ion", "Li-poly", "LiFe", 466 256 "NiCd", "LiMn" 467 257 468 - What: /sys/class/power_supply/<supply_name>/temp 469 - Date: May 2007 470 - Contact: linux-pm@vger.kernel.org 471 - Description: 472 - Reports the current TBAT battery temperature reading. 473 - 474 - Access: Read 475 - Valid values: Represented in 1/10 Degrees Celsius 476 - 477 - What: /sys/class/power_supply/<supply_name>/temp_alert_max 478 - Date: July 2012 479 - Contact: linux-pm@vger.kernel.org 480 - Description: 481 - Maximum TBAT temperature trip-wire value where the supply will 482 - notify user-space of the event. This is normally used for the 483 - battery charging scenario where user-space needs to know the 484 - battery temperature has crossed an upper threshold so it can 485 - take appropriate action (e.g. warning user that battery level is 486 - critically high, and charging has stopped). 487 - 488 - Access: Read 489 - Valid values: Represented in 1/10 Degrees Celsius 490 - 491 - What: /sys/class/power_supply/<supply_name>/temp_alert_min 492 - Date: July 2012 493 - Contact: linux-pm@vger.kernel.org 494 - Description: 495 - Minimum TBAT temperature trip-wire value where the supply will 496 - notify user-space of the event. This is normally used for the 497 - battery charging scenario where user-space needs to know the 498 - battery temperature has crossed a lower threshold so it can take 499 - appropriate action (e.g. warning user that battery level is 500 - high, and charging current has been reduced accordingly to 501 - remedy the situation). 502 - 503 - Access: Read 504 - Valid values: Represented in 1/10 Degrees Celsius 505 - 506 - What: /sys/class/power_supply/<supply_name>/temp_max 507 - Date: July 2014 508 - Contact: linux-pm@vger.kernel.org 509 - Description: 510 - Reports the maximum allowed TBAT battery temperature for 511 - charging. 512 - 513 - Access: Read 514 - Valid values: Represented in 1/10 Degrees Celsius 515 - 516 - What: /sys/class/power_supply/<supply_name>/temp_min 517 - Date: July 2014 518 - Contact: linux-pm@vger.kernel.org 519 - Description: 520 - Reports the minimum allowed TBAT battery temperature for 521 - charging. 522 - 523 - Access: Read 524 - Valid values: Represented in 1/10 Degrees Celsius 525 258 526 259 What: /sys/class/power_supply/<supply_name>/voltage_avg, 527 260 Date: May 2007 ··· 477 320 which they average readings to smooth out the reported value. 478 321 479 322 Access: Read 323 + 480 324 Valid values: Represented in microvolts 481 325 482 - What: /sys/class/power_supply/<supply_name>/voltage_max, 483 - Date: January 2008 484 - Contact: linux-pm@vger.kernel.org 485 - Description: 486 - Reports the maximum safe VBAT voltage permitted for the battery, 487 - during charging. 488 - 489 - Access: Read 490 - Valid values: Represented in microvolts 491 - 492 - What: /sys/class/power_supply/<supply_name>/voltage_min, 493 - Date: January 2008 494 - Contact: linux-pm@vger.kernel.org 495 - Description: 496 - Reports the minimum safe VBAT voltage permitted for the battery, 497 - during discharging. 498 - 499 - Access: Read 500 - Valid values: Represented in microvolts 501 - 502 - What: /sys/class/power_supply/<supply_name>/voltage_now, 503 - Date: May 2007 504 - Contact: linux-pm@vger.kernel.org 505 - Description: 506 - Reports an instant, single VBAT voltage reading for the battery. 507 - This value is not averaged/smoothed. 508 - 509 - Access: Read 510 - Valid values: Represented in microvolts 511 - 512 - ===== USB Properties ===== 513 - 514 - What: /sys/class/power_supply/<supply_name>/current_avg 515 - Date: May 2007 516 - Contact: linux-pm@vger.kernel.org 517 - Description: 518 - Reports an average IBUS current reading over a fixed period. 519 - Normally devices will provide a fixed interval in which they 520 - average readings to smooth out the reported value. 521 - 522 - Access: Read 523 - Valid values: Represented in microamps 524 - 525 - 526 - What: /sys/class/power_supply/<supply_name>/current_max 527 - Date: October 2010 528 - Contact: linux-pm@vger.kernel.org 529 - Description: 530 - Reports the maximum IBUS current the supply can support. 531 - 532 - Access: Read 533 - Valid values: Represented in microamps 534 - 535 - What: /sys/class/power_supply/<supply_name>/current_now 536 - Date: May 2007 537 - Contact: linux-pm@vger.kernel.org 538 - Description: 539 - Reports the IBUS current supplied now. This value is generally 540 - read-only reporting, unless the 'online' state of the supply 541 - is set to be programmable, in which case this value can be set 542 - within the reported min/max range. 543 - 544 - Access: Read, Write 545 - Valid values: Represented in microamps 326 + **USB Properties** 546 327 547 328 What: /sys/class/power_supply/<supply_name>/input_current_limit 548 329 Date: July 2014 ··· 494 399 solved using power limit use input_current_limit. 495 400 496 401 Access: Read, Write 402 + 497 403 Valid values: Represented in microamps 498 404 499 405 What: /sys/class/power_supply/<supply_name>/input_voltage_limit ··· 512 416 solved using power limit use input_voltage_limit. 513 417 514 418 Access: Read, Write 419 + 515 420 Valid values: Represented in microvolts 516 421 517 422 What: /sys/class/power_supply/<supply_name>/input_power_limit ··· 526 429 limit only for problems that can be solved using power limit. 527 430 528 431 Access: Read, Write 432 + 529 433 Valid values: Represented in microwatts 530 434 531 435 What: /sys/class/power_supply/<supply_name>/online, ··· 539 441 USB supply so voltage and current can be controlled). 540 442 541 443 Access: Read, Write 444 + 542 445 Valid values: 446 + 447 + == ================================================== 543 448 0: Offline 544 449 1: Online Fixed - Fixed Voltage Supply 545 450 2: Online Programmable - Programmable Voltage Supply 546 - 547 - What: /sys/class/power_supply/<supply_name>/temp 548 - Date: May 2007 549 - Contact: linux-pm@vger.kernel.org 550 - Description: 551 - Reports the current supply temperature reading. This would 552 - normally be the internal temperature of the device itself (e.g 553 - TJUNC temperature of an IC) 554 - 555 - Access: Read 556 - Valid values: Represented in 1/10 Degrees Celsius 557 - 558 - What: /sys/class/power_supply/<supply_name>/temp_alert_max 559 - Date: July 2012 560 - Contact: linux-pm@vger.kernel.org 561 - Description: 562 - Maximum supply temperature trip-wire value where the supply will 563 - notify user-space of the event. This is normally used for the 564 - charging scenario where user-space needs to know the supply 565 - temperature has crossed an upper threshold so it can take 566 - appropriate action (e.g. warning user that the supply 567 - temperature is critically high, and charging has stopped to 568 - remedy the situation). 569 - 570 - Access: Read 571 - Valid values: Represented in 1/10 Degrees Celsius 572 - 573 - What: /sys/class/power_supply/<supply_name>/temp_alert_min 574 - Date: July 2012 575 - Contact: linux-pm@vger.kernel.org 576 - Description: 577 - Minimum supply temperature trip-wire value where the supply will 578 - notify user-space of the event. This is normally used for the 579 - charging scenario where user-space needs to know the supply 580 - temperature has crossed a lower threshold so it can take 581 - appropriate action (e.g. warning user that the supply 582 - temperature is high, and charging current has been reduced 583 - accordingly to remedy the situation). 584 - 585 - Access: Read 586 - Valid values: Represented in 1/10 Degrees Celsius 587 - 588 - What: /sys/class/power_supply/<supply_name>/temp_max 589 - Date: July 2014 590 - Contact: linux-pm@vger.kernel.org 591 - Description: 592 - Reports the maximum allowed supply temperature for operation. 593 - 594 - Access: Read 595 - Valid values: Represented in 1/10 Degrees Celsius 596 - 597 - What: /sys/class/power_supply/<supply_name>/temp_min 598 - Date: July 2014 599 - Contact: linux-pm@vger.kernel.org 600 - Description: 601 - Reports the mainimum allowed supply temperature for operation. 602 - 603 - Access: Read 604 - Valid values: Represented in 1/10 Degrees Celsius 451 + == ================================================== 605 452 606 453 What: /sys/class/power_supply/<supply_name>/usb_type 607 454 Date: March 2018 ··· 557 514 is attached. 558 515 559 516 Access: Read-Only 560 - Valid values: "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", 517 + 518 + Valid values: 519 + "Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD", 561 520 "PD_DRP", "PD_PPS", "BrickID" 562 521 563 - What: /sys/class/power_supply/<supply_name>/voltage_max 564 - Date: January 2008 565 - Contact: linux-pm@vger.kernel.org 566 - Description: 567 - Reports the maximum VBUS voltage the supply can support. 568 - 569 - Access: Read 570 - Valid values: Represented in microvolts 571 - 572 - What: /sys/class/power_supply/<supply_name>/voltage_min 573 - Date: January 2008 574 - Contact: linux-pm@vger.kernel.org 575 - Description: 576 - Reports the minimum VBUS voltage the supply can support. 577 - 578 - Access: Read 579 - Valid values: Represented in microvolts 580 - 581 - What: /sys/class/power_supply/<supply_name>/voltage_now 582 - Date: May 2007 583 - Contact: linux-pm@vger.kernel.org 584 - Description: 585 - Reports the VBUS voltage supplied now. This value is generally 586 - read-only reporting, unless the 'online' state of the supply 587 - is set to be programmable, in which case this value can be set 588 - within the reported min/max range. 589 - 590 - Access: Read, Write 591 - Valid values: Represented in microvolts 592 - 593 - ===== Device Specific Properties ===== 522 + **Device Specific Properties** 594 523 595 524 What: /sys/class/power/ds2760-battery.*/charge_now 596 525 Date: May 2010 ··· 596 581 will drop to 0 A) and will trigger interrupt. 597 582 598 583 Valid values: 584 + 599 585 - 5, 6 or 7 (hours), 600 586 - 0: disabled. 601 587 ··· 611 595 will drop to 0 A) and will trigger interrupt. 612 596 613 597 Valid values: 598 + 614 599 - 4 - 16 (hours), step by 2 (rounded down) 615 600 - 0: disabled. 616 601 ··· 626 609 interrupt and start top-off charging mode. 627 610 628 611 Valid values: 612 + 629 613 - 100000 - 200000 (microamps), step by 25000 (rounded down) 630 614 - 200000 - 350000 (microamps), step by 50000 (rounded down) 631 615 - 0: disabled. ··· 642 624 will drop to 0 A) and will trigger interrupt. 643 625 644 626 Valid values: 627 + 645 628 - 0 - 70 (minutes), step by 10 (rounded down) 646 629 647 630 What: /sys/class/power_supply/bq24257-charger/ovp_voltage ··· 656 637 device datasheet for details. 657 638 658 639 Valid values: 640 + 659 641 - 6000000, 6500000, 7000000, 8000000, 9000000, 9500000, 10000000, 660 642 10500000 (all uV) 661 643 ··· 672 652 lower than the set value. See device datasheet for details. 673 653 674 654 Valid values: 655 + 675 656 - 4200000, 4280000, 4360000, 4440000, 4520000, 4600000, 4680000, 676 657 4760000 (all uV) 677 658 ··· 687 666 the charger operates normally. See device datasheet for details. 688 667 689 668 Valid values: 669 + 690 670 - 1: enabled 691 671 - 0: disabled 692 672 ··· 703 681 from the system. See device datasheet for details. 704 682 705 683 Valid values: 684 + 706 685 - 1: enabled 707 686 - 0: disabled 708 687 ··· 715 692 manufactured. 716 693 717 694 Access: Read 695 + 718 696 Valid values: Reported as integer 719 697 720 698 What: /sys/class/power_supply/<supply_name>/manufacture_month ··· 725 701 Reports the month when the device has been manufactured. 726 702 727 703 Access: Read 704 + 728 705 Valid values: 1-12 729 706 730 707 What: /sys/class/power_supply/<supply_name>/manufacture_day
+1
Documentation/ABI/testing/sysfs-class-power-mp2629
··· 5 5 Represents a battery impedance compensation to accelerate charging. 6 6 7 7 Access: Read, Write 8 + 8 9 Valid values: Represented in milli-ohms. Valid range is [0, 140].
+19 -14
Documentation/ABI/testing/sysfs-class-power-twl4030
··· 4 4 Writing to this can disable charging. 5 5 6 6 Possible values are: 7 - "auto" - draw power as appropriate for detected 8 - power source and battery status. 9 - "off" - do not draw any power. 10 - "continuous" 11 - - activate mode described as "linear" in 12 - TWL data sheets. This uses whatever 13 - current is available and doesn't switch off 14 - when voltage drops. 15 7 16 - This is useful for unstable power sources 17 - such as bicycle dynamo, but care should 18 - be taken that battery is not over-charged. 8 + ============= =========================================== 9 + "auto" draw power as appropriate for detected 10 + power source and battery status. 11 + "off" do not draw any power. 12 + "continuous" activate mode described as "linear" in 13 + TWL data sheets. This uses whatever 14 + current is available and doesn't switch off 15 + when voltage drops. 16 + 17 + This is useful for unstable power sources 18 + such as bicycle dynamo, but care should 19 + be taken that battery is not over-charged. 20 + ============= =========================================== 19 21 20 22 What: /sys/class/power_supply/twl4030_ac/mode 21 23 Description: ··· 25 23 Writing to this can disable charging. 26 24 27 25 Possible values are: 28 - "auto" - draw power as appropriate for detected 29 - power source and battery status. 30 - "off" - do not draw any power. 26 + 27 + ====== =========================================== 28 + "auto" draw power as appropriate for detected 29 + power source and battery status. 30 + "off" do not draw any power. 31 + ====== ===========================================
+12 -6
Documentation/ABI/testing/sysfs-class-power-wilco
··· 4 4 Description: 5 5 What charging algorithm to use: 6 6 7 - Standard: Fully charges battery at a standard rate. 8 - Adaptive: Battery settings adaptively optimized based on 7 + Standard: 8 + Fully charges battery at a standard rate. 9 + Adaptive: 10 + Battery settings adaptively optimized based on 9 11 typical battery usage pattern. 10 - Fast: Battery charges over a shorter period. 11 - Trickle: Extends battery lifespan, intended for users who 12 + Fast: 13 + Battery charges over a shorter period. 14 + Trickle: 15 + Extends battery lifespan, intended for users who 12 16 primarily use their Chromebook while connected to AC. 13 - Custom: A low and high threshold percentage is specified. 17 + Custom: 18 + A low and high threshold percentage is specified. 14 19 Charging begins when level drops below 15 20 charge_control_start_threshold, and ceases when 16 21 level is above charge_control_end_threshold. 17 - Long Life: Customized charge rate for last longer battery life. 22 + Long Life: 23 + Customized charge rate for last longer battery life. 18 24 On Wilco device this mode is pre-configured in the factory 19 25 through EC's private PID. Swiching to a different mode will 20 26 be denied by Wilco EC when Long Life mode is enabled.
+25 -21
Documentation/ABI/testing/sysfs-class-rapidio
··· 6 6 The /sys/class/rapidio_port subdirectory contains individual 7 7 subdirectories named as "rapidioN" where N = mport ID registered 8 8 with RapidIO subsystem. 9 + 9 10 NOTE: An mport ID is not a RapidIO destination ID assigned to a 10 11 given local mport device. 11 12 ··· 17 16 Alexandre Bounine <alexandre.bounine@idt.com> 18 17 Description: 19 18 (RO) reports RapidIO common transport system size: 19 + 20 20 0 = small (8-bit destination ID, max. 256 devices), 21 + 21 22 1 = large (16-bit destination ID, max. 65536 devices). 22 23 23 24 What: /sys/class/rapidio_port/rapidioN/port_destid ··· 28 25 Contact: Matt Porter <mporter@kernel.crashing.org>, 29 26 Alexandre Bounine <alexandre.bounine@idt.com> 30 27 Description: 31 - (RO) reports RapidIO destination ID assigned to the given 32 - RapidIO mport device. If value 0xFFFFFFFF is returned this means 33 - that no valid destination ID have been assigned to the mport 34 - (yet). Normally, before enumeration/discovery have been executed 35 - only fabric enumerating mports have a valid destination ID 36 - assigned to them using "hdid=..." rapidio module parameter. 28 + 29 + (RO) reports RapidIO destination ID assigned to the given 30 + RapidIO mport device. If value 0xFFFFFFFF is returned this means 31 + that no valid destination ID have been assigned to the mport 32 + (yet). Normally, before enumeration/discovery have been executed 33 + only fabric enumerating mports have a valid destination ID 34 + assigned to them using "hdid=..." rapidio module parameter. 37 35 38 36 After enumeration or discovery was performed for a given mport device, 39 37 the corresponding subdirectory will also contain subdirectories for each 40 38 child RapidIO device connected to the mport. 41 39 42 40 The example below shows mport device subdirectory with several child RapidIO 43 - devices attached to it. 41 + devices attached to it:: 44 42 45 - [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l 46 - total 0 47 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 48 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004 49 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007 50 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002 51 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003 52 - drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005 53 - lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0 54 - -r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid 55 - drwxr-xr-x 2 root root 0 Feb 11 15:11 power 56 - lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port 57 - -r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size 58 - -rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent 43 + [rio@rapidio ~]$ ls /sys/class/rapidio_port/rapidio0/ -l 44 + total 0 45 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0001 46 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0004 47 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:e:0007 48 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0002 49 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0003 50 + drwxr-xr-x 3 root root 0 Feb 11 15:10 00:s:0005 51 + lrwxrwxrwx 1 root root 0 Feb 11 15:11 device -> ../../../0000:01:00.0 52 + -r--r--r-- 1 root root 4096 Feb 11 15:11 port_destid 53 + drwxr-xr-x 2 root root 0 Feb 11 15:11 power 54 + lrwxrwxrwx 1 root root 0 Feb 11 15:04 subsystem -> ../../../../../../class/rapidio_port 55 + -r--r--r-- 1 root root 4096 Feb 11 15:11 sys_size 56 + -rw-r--r-- 1 root root 4096 Feb 11 15:04 uevent
+28 -2
Documentation/ABI/testing/sysfs-class-rc
··· 21 21 Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 22 22 Description: 23 23 Reading this file returns a list of available protocols, 24 - something like: 24 + something like:: 25 + 25 26 "rc5 [rc6] nec jvc [sony]" 27 + 26 28 Enabled protocols are shown in [] brackets. 29 + 27 30 Writing "+proto" will add a protocol to the list of enabled 28 31 protocols. 32 + 29 33 Writing "-proto" will remove a protocol from the list of enabled 30 34 protocols. 35 + 31 36 Writing "proto" will enable only "proto". 37 + 32 38 Writing "none" will disable all protocols. 39 + 33 40 Write fails with EINVAL if an invalid protocol combination or 34 41 unknown protocol name is used. 35 42 ··· 46 39 Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 47 40 Description: 48 41 Sets the scancode filter expected value. 42 + 49 43 Use in combination with /sys/class/rc/rcN/filter_mask to set the 50 44 expected value of the bits set in the filter mask. 51 45 If the hardware supports it then scancodes which do not match 52 46 the filter will be ignored. Otherwise the write will fail with 53 47 an error. 48 + 54 49 This value may be reset to 0 if the current protocol is altered. 55 50 56 51 What: /sys/class/rc/rcN/filter_mask ··· 65 56 of the scancode which should be compared against the expected 66 57 value. A value of 0 disables the filter to allow all valid 67 58 scancodes to be processed. 59 + 68 60 If the hardware supports it then scancodes which do not match 69 61 the filter will be ignored. Otherwise the write will fail with 70 62 an error. 63 + 71 64 This value may be reset to 0 if the current protocol is altered. 72 65 73 66 What: /sys/class/rc/rcN/wakeup_protocols ··· 78 67 Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 79 68 Description: 80 69 Reading this file returns a list of available protocols to use 81 - for the wakeup filter, something like: 70 + for the wakeup filter, something like:: 71 + 82 72 "rc-5 nec nec-x rc-6-0 rc-6-6a-24 [rc-6-6a-32] rc-6-mce" 73 + 83 74 Note that protocol variants are listed, so "nec", "sony", 84 75 "rc-5", "rc-6" have their different bit length encodings 85 76 listed if available. 77 + 86 78 The enabled wakeup protocol is shown in [] brackets. 79 + 87 80 Only one protocol can be selected at a time. 81 + 88 82 Writing "proto" will use "proto" for wakeup events. 83 + 89 84 Writing "none" will disable wakeup. 85 + 90 86 Write fails with EINVAL if an invalid protocol combination or 91 87 unknown protocol name is used, or if wakeup is not supported by 92 88 the hardware. ··· 104 86 Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 105 87 Description: 106 88 Sets the scancode wakeup filter expected value. 89 + 107 90 Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to 108 91 set the expected value of the bits set in the wakeup filter mask 109 92 to trigger a system wake event. 93 + 110 94 If the hardware supports it and wakeup_filter_mask is not 0 then 111 95 scancodes which match the filter will wake the system from e.g. 112 96 suspend to RAM or power off. 97 + 113 98 Otherwise the write will fail with an error. 99 + 114 100 This value may be reset to 0 if the wakeup protocol is altered. 115 101 116 102 What: /sys/class/rc/rcN/wakeup_filter_mask ··· 123 101 Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 124 102 Description: 125 103 Sets the scancode wakeup filter mask of bits to compare. 104 + 126 105 Use in combination with /sys/class/rc/rcN/wakeup_filter to set 127 106 the bits of the scancode which should be compared against the 128 107 expected value to trigger a system wake event. 108 + 129 109 If the hardware supports it and wakeup_filter_mask is not 0 then 130 110 scancodes which match the filter will wake the system from e.g. 131 111 suspend to RAM or power off. 112 + 132 113 Otherwise the write will fail with an error. 114 + 133 115 This value may be reset to 0 if the wakeup protocol is altered.
+18 -18
Documentation/ABI/testing/sysfs-class-regulator
··· 35 35 36 36 This will be one of the following strings: 37 37 38 - off 39 - on 40 - error 41 - fast 42 - normal 43 - idle 44 - standby 38 + - off 39 + - on 40 + - error 41 + - fast 42 + - normal 43 + - idle 44 + - standby 45 45 46 46 "off" means the regulator is not supplying power to the 47 47 system. ··· 74 74 75 75 This will be one of the following strings: 76 76 77 - 'voltage' 78 - 'current' 79 - 'unknown' 77 + - 'voltage' 78 + - 'current' 79 + - 'unknown' 80 80 81 81 'voltage' means the regulator output voltage can be controlled 82 82 by software. ··· 129 129 130 130 The opmode value can be one of the following strings: 131 131 132 - 'fast' 133 - 'normal' 134 - 'idle' 135 - 'standby' 136 - 'unknown' 132 + - 'fast' 133 + - 'normal' 134 + - 'idle' 135 + - 'standby' 136 + - 'unknown' 137 137 138 138 The modes are described in include/linux/regulator/consumer.h 139 139 ··· 360 360 361 361 This will be one of the following strings: 362 362 363 - 'enabled' 364 - 'disabled' 365 - 'unknown' 363 + - 'enabled' 364 + - 'disabled' 365 + - 'unknown' 366 366 367 367 'enabled' means the regulator is in bypass mode. 368 368
+7 -7
Documentation/ABI/testing/sysfs-class-remoteproc
··· 16 16 17 17 Reports the state of the remote processor, which will be one of: 18 18 19 - "offline" 20 - "suspended" 21 - "running" 22 - "crashed" 23 - "invalid" 19 + - "offline" 20 + - "suspended" 21 + - "running" 22 + - "crashed" 23 + - "invalid" 24 24 25 25 "offline" means the remote processor is powered off. 26 26 ··· 38 38 Writing this file controls the state of the remote processor. 39 39 The following states can be written: 40 40 41 - "start" 42 - "stop" 41 + - "start" 42 + - "stop" 43 43 44 44 Writing "start" will attempt to start the processor running the 45 45 firmware indicated by, or written to,
+51 -42
Documentation/ABI/testing/sysfs-class-rnbd-client
··· 5 5 Description: Provide information about RNBD-client. 6 6 All sysfs files that are not read-only provide the usage information on read: 7 7 8 - Example: 9 - # cat /sys/class/rnbd-client/ctl/map_device 8 + Example:: 10 9 11 - > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> 12 - > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> 13 - > [access_mode=<ro|rw|migration>] > map_device 14 - > 15 - > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] 10 + # cat /sys/class/rnbd-client/ctl/map_device 11 + 12 + > Usage: echo "sessname=<name of the rtrs session> path=<[srcaddr,]dstaddr> 13 + > [path=<[srcaddr,]dstaddr>] device_path=<full path on remote side> 14 + > [access_mode=<ro|rw|migration>] > map_device 15 + > 16 + > addr ::= [ ip:<ipv4> | ip:<ipv6> | gid:<gid> ] 16 17 17 18 What: /sys/class/rnbd-client/ctl/map_device 18 19 Date: Feb 2020 19 20 KernelVersion: 5.7 20 21 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 21 - Description: Expected format is the following: 22 + Description: Expected format is the following:: 22 23 23 - sessname=<name of the rtrs session> 24 - path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] 25 - device_path=<full path on remote side> 26 - [access_mode=<ro|rw|migration>] 24 + sessname=<name of the rtrs session> 25 + path=<[srcaddr,]dstaddr> [path=<[srcaddr,]dstaddr> ...] 26 + device_path=<full path on remote side> 27 + [access_mode=<ro|rw|migration>] 27 28 28 29 Where: 29 30 30 - sessname: accepts a string not bigger than 256 chars, which identifies 31 - a given session on the client and on the server. 32 - I.e. "clt_hostname-srv_hostname" could be a natural choice. 31 + sessname: 32 + accepts a string not bigger than 256 chars, which identifies 33 + a given session on the client and on the server. 34 + I.e. "clt_hostname-srv_hostname" could be a natural choice. 33 35 34 - path: describes a connection between the client and the server by 35 - specifying destination and, when required, the source address. 36 - The addresses are to be provided in the following format: 36 + path: 37 + describes a connection between the client and the server by 38 + specifying destination and, when required, the source address. 39 + The addresses are to be provided in the following format:: 37 40 38 - ip:<IPv6> 39 - ip:<IPv4> 40 - gid:<GID> 41 + ip:<IPv6> 42 + ip:<IPv4> 43 + gid:<GID> 41 44 42 - for example: 45 + for example:: 43 46 44 - path=ip:10.0.0.66 47 + path=ip:10.0.0.66 48 + 45 49 The single addr is treated as the destination. 46 50 The connection will be established to this server from any client IP address. 47 51 48 - path=ip:10.0.0.66,ip:10.0.1.66 52 + :: 53 + 54 + path=ip:10.0.0.66,ip:10.0.1.66 55 + 49 56 First addr is the source address and the second is the destination. 50 57 51 58 If multiple "path=" options are specified multiple connection 52 59 will be established and data will be sent according to 53 60 the selected multipath policy (see RTRS mp_policy sysfs entry description). 54 61 55 - device_path: Path to the block device on the server side. Path is specified 56 - relative to the directory on server side configured in the 57 - 'dev_search_path' module parameter of the rnbd_server. 58 - The rnbd_server prepends the <device_path> received from client 59 - with <dev_search_path> and tries to open the 60 - <dev_search_path>/<device_path> block device. On success, 61 - a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ 62 - directory and an entry in /sys/class/rnbd-client/ctl/devices 63 - will be created. 62 + device_path: 63 + Path to the block device on the server side. Path is specified 64 + relative to the directory on server side configured in the 65 + 'dev_search_path' module parameter of the rnbd_server. 66 + The rnbd_server prepends the <device_path> received from client 67 + with <dev_search_path> and tries to open the 68 + <dev_search_path>/<device_path> block device. On success, 69 + a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/ 70 + directory and an entry in /sys/class/rnbd-client/ctl/devices 71 + will be created. 64 72 65 73 If 'dev_search_path' contains '%SESSNAME%', then each session can 66 74 have different devices namespace, e.g. server was configured with ··· 76 68 client has this string "sessname=blya device_path=sda", then server 77 69 will try to open: /run/rnbd-devs/blya/sda. 78 70 79 - access_mode: the access_mode parameter specifies if the device is to be 80 - mapped as "ro" read-only or "rw" read-write. The server allows 81 - a device to be exported in rw mode only once. The "migration" 82 - access mode has to be specified if a second mapping in read-write 83 - mode is desired. 71 + access_mode: 72 + the access_mode parameter specifies if the device is to be 73 + mapped as "ro" read-only or "rw" read-write. The server allows 74 + a device to be exported in rw mode only once. The "migration" 75 + access mode has to be specified if a second mapping in read-write 76 + mode is desired. 84 77 85 78 By default "rw" is used. 86 79 ··· 100 91 is the same as the device name. By extracting the last part of the 101 92 path the path to the device /dev/<dev-name> can be build. 102 93 103 - o /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev) 94 + * /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev) 104 95 105 96 How to find the <device_id> of the device is described on the next 106 97 section. ··· 115 106 The <device_id> of each device is created as follows: 116 107 117 108 - If the 'device_path' provided during mapping contains slashes ("/"), 118 - they are replaced by exclamation mark ("!") and used as as the 119 - <device_id>. Otherwise, the <device_id> will be the same as the 120 - "device_path" provided. 109 + they are replaced by exclamation mark ("!") and used as as the 110 + <device_id>. Otherwise, the <device_id> will be the same as the 111 + "device_path" provided.
+1
Documentation/ABI/testing/sysfs-class-rtc-rtc0-device-rtc_calibration
··· 7 7 calibrate the AB8500.s 32KHz Real Time Clock. 8 8 Every 60 seconds the AB8500 will correct the RTC's value 9 9 by adding to it the value of this attribute. 10 + 10 11 The range of the attribute is -127 to +127 in units of 11 12 30.5 micro-seconds (half-parts-per-million of the 32KHz clock) 12 13 Users: The /vendor/st-ericsson/base_utilities/core/rtc_calibration
+13 -10
Documentation/ABI/testing/sysfs-class-rtrs-client
··· 10 10 KernelVersion: 5.7 11 11 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 12 12 Description: RW, adds a new path (connection) to an existing session. Expected format is the 13 - following: 13 + following:: 14 14 15 - <[source addr,]destination addr> 16 - *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] 15 + <[source addr,]destination addr> 16 + *addr ::= [ ip:<ipv4|ipv6> | gid:<gid> ] 17 17 18 18 What: /sys/class/rtrs-client/<session-name>/max_reconnect_attempts 19 19 Date: Feb 2020 ··· 29 29 Description: Multipath policy specifies which path should be selected on each IO: 30 30 31 31 round-robin (0): 32 - select path in per CPU round-robin manner. 32 + select path in per CPU round-robin manner. 33 33 34 34 min-inflight (1): 35 - select path with minimum inflights. 35 + select path with minimum inflights. 36 36 37 37 What: /sys/class/rtrs-client/<session-name>/paths/ 38 38 Date: Feb 2020 ··· 109 109 not the case, the processing of an I/O response could be processed on a 110 110 different CPU than where it was originally submitted. This file shows 111 111 how many interrupts where generated on a non expected CPU. 112 - "from:" is the CPU on which the IRQ was expected, but not generated. 113 - "to:" is the CPU on which the IRQ was generated, but not expected. 112 + 113 + "from:" 114 + is the CPU on which the IRQ was expected, but not generated. 115 + "to:" 116 + is the CPU on which the IRQ was generated, but not expected. 114 117 115 118 What: /sys/class/rtrs-client/<session-name>/paths/<src@dst>/stats/reconnects 116 119 Date: Feb 2020 ··· 128 125 KernelVersion: 5.7 129 126 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 130 127 Description: Contains statistics regarding rdma operations and inflight operations. 131 - The output consists of 6 values: 128 + The output consists of 6 values:: 132 129 133 - <read-count> <read-total-size> <write-count> <write-total-size> \ 134 - <inflights> <failovered> 130 + <read-count> <read-total-size> <write-count> \ 131 + <write-total-size> <inflights> <failovered>
+4 -3
Documentation/ABI/testing/sysfs-class-scsi_host
··· 56 56 management) on top, which makes it match the Windows IRST (Intel 57 57 Rapid Storage Technology) driver settings. This setting is also 58 58 close to min_power, except that: 59 + 59 60 a) It does not use host-initiated slumber mode, but it does 60 - allow device-initiated slumber 61 + allow device-initiated slumber 61 62 b) It does not enable low power device sleep mode (DevSlp). 62 63 63 64 What: /sys/class/scsi_host/hostX/em_message ··· 71 70 protocol, writes and reads correspond to the LED message format 72 71 as defined in the AHCI spec. 73 72 74 - The user must turn sw_activity (under /sys/block/*/device/) OFF 75 - it they wish to control the activity LED via the em_message 73 + The user must turn sw_activity (under `/sys/block/*/device/`) 74 + OFF it they wish to control the activity LED via the em_message 76 75 file. 77 76 78 77 em_message_type: (RO) Displays the current enclosure management
+9 -3
Documentation/ABI/testing/sysfs-class-typec
··· 40 40 attribute will not return until the operation has finished. 41 41 42 42 Valid values: 43 - - source (The port will behave as source only DFP port) 44 - - sink (The port will behave as sink only UFP port) 45 - - dual (The port will behave as dual-role-data and 43 + 44 + ====== ============================================== 45 + source (The port will behave as source only DFP port) 46 + sink (The port will behave as sink only UFP port) 47 + dual (The port will behave as dual-role-data and 46 48 dual-role-power port) 49 + ====== ============================================== 47 50 48 51 What: /sys/class/typec/<port>/vconn_source 49 52 Date: April 2017 ··· 62 59 generates uevent KOBJ_CHANGE. 63 60 64 61 Valid values: 62 + 65 63 - "no" when the port is not the VCONN Source 66 64 - "yes" when the port is the VCONN Source 67 65 ··· 76 72 power operation mode should show "usb_power_delivery". 77 73 78 74 Valid values: 75 + 79 76 - default 80 77 - 1.5A 81 78 - 3.0A ··· 196 191 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 197 192 Description: 198 193 Shows type of the plug on the cable: 194 + 199 195 - type-a - Standard A 200 196 - type-b - Standard B 201 197 - type-c
+8 -5
Documentation/ABI/testing/sysfs-class-uwb_rc
··· 66 66 <channel> <type> [<bpst offset>] 67 67 68 68 to start (or stop) scanning on a channel. <type> is one of: 69 - 0 - scan 70 - 1 - scan outside BP 71 - 2 - scan while inactive 72 - 3 - scanning disabled 73 - 4 - scan (with start time of <bpst offset>) 69 + 70 + == ======================================= 71 + 0 scan 72 + 1 scan outside BP 73 + 2 scan while inactive 74 + 3 scanning disabled 75 + 4 scan (with start time of <bpst offset>) 76 + == ======================================= 74 77 75 78 What: /sys/class/uwb_rc/uwbN/mac_address 76 79 Date: July 2008
+5 -2
Documentation/ABI/testing/sysfs-class-watchdog
··· 91 91 h/w strapping (for WDT2 only). 92 92 93 93 At alternate flash the 'access_cs0' sysfs node provides: 94 - ast2400: a way to get access to the primary SPI flash 94 + 95 + ast2400: 96 + a way to get access to the primary SPI flash 95 97 chip at CS0 after booting from the alternate 96 98 chip at CS1. 97 - ast2500: a way to restore the normal address mapping 99 + ast2500: 100 + a way to restore the normal address mapping 98 101 from (CS0->CS1, CS1->CS0) to (CS0->CS0, 99 102 CS1->CS1). 100 103
+4 -3
Documentation/ABI/testing/sysfs-dev
··· 9 9 the form "<major>:<minor>". These links point to the 10 10 corresponding sysfs path for the given device. 11 11 12 - Example: 13 - $ readlink /sys/dev/block/8:32 14 - ../../block/sdc 12 + Example:: 13 + 14 + $ readlink /sys/dev/block/8:32 15 + ../../block/sdc 15 16 16 17 Entries in /sys/dev/char and /sys/dev/block will be 17 18 dynamically created and destroyed as devices enter and
+21 -20
Documentation/ABI/testing/sysfs-devices-mapping
··· 8 8 block. 9 9 For example, on 4-die Xeon platform with up to 6 IIO stacks per 10 10 die and, therefore, 6 IIO PMON blocks per die, the mapping of 11 - IIO PMON block 0 exposes as the following: 11 + IIO PMON block 0 exposes as the following:: 12 12 13 - $ ls /sys/devices/uncore_iio_0/die* 14 - -r--r--r-- /sys/devices/uncore_iio_0/die0 15 - -r--r--r-- /sys/devices/uncore_iio_0/die1 16 - -r--r--r-- /sys/devices/uncore_iio_0/die2 17 - -r--r--r-- /sys/devices/uncore_iio_0/die3 13 + $ ls /sys/devices/uncore_iio_0/die* 14 + -r--r--r-- /sys/devices/uncore_iio_0/die0 15 + -r--r--r-- /sys/devices/uncore_iio_0/die1 16 + -r--r--r-- /sys/devices/uncore_iio_0/die2 17 + -r--r--r-- /sys/devices/uncore_iio_0/die3 18 18 19 - $ tail /sys/devices/uncore_iio_0/die* 20 - ==> /sys/devices/uncore_iio_0/die0 <== 21 - 0000:00 22 - ==> /sys/devices/uncore_iio_0/die1 <== 23 - 0000:40 24 - ==> /sys/devices/uncore_iio_0/die2 <== 25 - 0000:80 26 - ==> /sys/devices/uncore_iio_0/die3 <== 27 - 0000:c0 19 + $ tail /sys/devices/uncore_iio_0/die* 20 + ==> /sys/devices/uncore_iio_0/die0 <== 21 + 0000:00 22 + ==> /sys/devices/uncore_iio_0/die1 <== 23 + 0000:40 24 + ==> /sys/devices/uncore_iio_0/die2 <== 25 + 0000:80 26 + ==> /sys/devices/uncore_iio_0/die3 <== 27 + 0000:c0 28 28 29 - Which means: 30 - IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 31 - IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 32 - IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 33 - IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000 29 + Which means:: 30 + 31 + IIO PMU 0 on die 0 belongs to PCI RP on bus 0x00, domain 0x0000 32 + IIO PMU 0 on die 1 belongs to PCI RP on bus 0x40, domain 0x0000 33 + IIO PMU 0 on die 2 belongs to PCI RP on bus 0x80, domain 0x0000 34 + IIO PMU 0 on die 3 belongs to PCI RP on bus 0xc0, domain 0x0000
+10 -5
Documentation/ABI/testing/sysfs-devices-memory
··· 47 47 online/offline state of the memory section. When written, 48 48 root can toggle the the online/offline state of a removable 49 49 memory section (see removable file description above) 50 - using the following commands. 51 - # echo online > /sys/devices/system/memory/memoryX/state 52 - # echo offline > /sys/devices/system/memory/memoryX/state 50 + using the following commands:: 51 + 52 + # echo online > /sys/devices/system/memory/memoryX/state 53 + # echo offline > /sys/devices/system/memory/memoryX/state 53 54 54 55 For example, if /sys/devices/system/memory/memory22/removable 55 56 contains a value of 1 and 56 57 /sys/devices/system/memory/memory22/state contains the 57 58 string "online" the following command can be executed by 58 - by root to offline that section. 59 - # echo offline > /sys/devices/system/memory/memory22/state 59 + by root to offline that section:: 60 + 61 + # echo offline > /sys/devices/system/memory/memory22/state 62 + 60 63 Users: hotplug memory remove tools 61 64 http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils 62 65 ··· 81 78 82 79 For example, the following symbolic link is created for 83 80 memory section 9 on node0: 81 + 84 82 /sys/devices/system/memory/memory9/node0 -> ../../node/node0 85 83 86 84 ··· 94 90 points to the corresponding /sys/devices/system/memory/memoryY 95 91 memory section directory. For example, the following symbolic 96 92 link is created for memory section 9 on node0. 93 + 97 94 /sys/devices/system/node/node0/memory9 -> ../../memory/memory9
+4
Documentation/ABI/testing/sysfs-devices-platform-ACPI-TAD
··· 7 7 (RO) Hexadecimal bitmask of the TAD attributes are reported by 8 8 the platform firmware (see ACPI 6.2, section 9.18.2): 9 9 10 + ======= ====================================================== 10 11 BIT(0): AC wakeup implemented if set 11 12 BIT(1): DC wakeup implemented if set 12 13 BIT(2): Get/set real time features implemented if set ··· 17 16 BIT(6): The AC timer wakes up from S5 if set 18 17 BIT(7): The DC timer wakes up from S4 if set 19 18 BIT(8): The DC timer wakes up from S5 if set 19 + ======= ====================================================== 20 20 21 21 The other bits are reserved. 22 22 ··· 64 62 timer status with the following meaning of bits (see ACPI 6.2, 65 63 Section 9.18.5): 66 64 65 + ======= ====================================================== 67 66 Bit(0): The timer has expired if set. 68 67 Bit(1): The timer has woken up the system from a sleep state 69 68 (S3 or S4/S5 if supported) if set. 69 + ======= ====================================================== 70 70 71 71 The other bits are reserved. 72 72
+6 -4
Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget
··· 3 3 Contact: Fabien Chouteau <fabien.chouteau@barco.com> 4 4 Description: 5 5 Show the suspend state of an USB composite gadget. 6 - 1 -> suspended 7 - 0 -> resumed 6 + 7 + - 1 -> suspended 8 + - 0 -> resumed 8 9 9 10 (_UDC_ is the name of the USB Device Controller driver) 10 11 ··· 18 17 Storage mode. 19 18 20 19 Possible values are: 21 - 1 -> ignore the FUA flag 22 - 0 -> obey the FUA flag 20 + 21 + - 1 -> ignore the FUA flag 22 + - 0 -> obey the FUA flag
+8 -2
Documentation/ABI/testing/sysfs-devices-platform-docg3
··· 9 9 The protection has information embedded whether it blocks reads, 10 10 writes or both. 11 11 The result is: 12 - 0 -> the DPS is not keylocked 13 - 1 -> the DPS is keylocked 12 + 13 + - 0 -> the DPS is not keylocked 14 + - 1 -> the DPS is keylocked 15 + 14 16 Users: None identified so far. 15 17 16 18 What: /sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key ··· 29 27 Entering the correct value toggle the lock, and can be observed 30 28 through f[0-3]_dps[01]_is_keylocked. 31 29 Possible values are: 30 + 32 31 - 8 bytes 32 + 33 33 Typical values are: 34 + 34 35 - "00000000" 35 36 - "12345678" 37 + 36 38 Users: None identified so far.
+28 -24
Documentation/ABI/testing/sysfs-devices-platform-ipmi
··· 123 123 Contact: openipmi-developer@lists.sourceforge.net 124 124 Description: 125 125 126 - idles: (RO) Number of times the interface was 126 + ====================== ======================================== 127 + idles (RO) Number of times the interface was 127 128 idle while being polled. 128 129 129 - watchdog_pretimeouts: (RO) Number of watchdog pretimeouts. 130 + watchdog_pretimeouts (RO) Number of watchdog pretimeouts. 130 131 131 - complete_transactions: (RO) Number of completed messages. 132 + complete_transactions (RO) Number of completed messages. 132 133 133 - events: (RO) Number of IPMI events received from 134 + events (RO) Number of IPMI events received from 134 135 the hardware. 135 136 136 - interrupts: (RO) Number of interrupts the driver 137 + interrupts (RO) Number of interrupts the driver 137 138 handled. 138 139 139 - hosed_count: (RO) Number of times the hardware didn't 140 + hosed_count (RO) Number of times the hardware didn't 140 141 follow the state machine. 141 142 142 - long_timeouts: (RO) Number of times the driver 143 + long_timeouts (RO) Number of times the driver 143 144 requested a timer while nothing was in 144 145 progress. 145 146 146 - flag_fetches: (RO) Number of times the driver 147 + flag_fetches (RO) Number of times the driver 147 148 requested flags from the hardware. 148 149 149 - attentions: (RO) Number of time the driver got an 150 + attentions (RO) Number of time the driver got an 150 151 ATTN from the hardware. 151 152 152 - incoming_messages: (RO) Number of asynchronous messages 153 + incoming_messages (RO) Number of asynchronous messages 153 154 received. 154 155 155 - short_timeouts: (RO) Number of times the driver 156 + short_timeouts (RO) Number of times the driver 156 157 requested a timer while an operation was 157 158 in progress. 159 + ====================== ======================================== 158 160 159 161 160 162 What: /sys/devices/platform/ipmi_si.*/interrupts_enabled ··· 203 201 KernelVersion: v4.15 204 202 Contact: openipmi-developer@lists.sourceforge.net 205 203 Description: 206 - hosed: (RO) Number of times the hardware didn't 204 + ====================== ======================================== 205 + hosed (RO) Number of times the hardware didn't 207 206 follow the state machine. 208 207 209 - alerts: (RO) Number of alerts received. 208 + alerts (RO) Number of alerts received. 210 209 211 - sent_messages: (RO) Number of total messages sent. 210 + sent_messages (RO) Number of total messages sent. 212 211 213 - sent_message_parts: (RO) Number of message parts sent. 212 + sent_message_parts (RO) Number of message parts sent. 214 213 Messages may be broken into parts if 215 214 they are long. 216 215 217 - received_messages: (RO) Number of message responses 216 + received_messages (RO) Number of message responses 218 217 received. 219 218 220 - received_message_parts: (RO) Number of message fragments 219 + received_message_parts (RO) Number of message fragments 221 220 received. 222 221 223 - events: (RO) Number of received events. 222 + events (RO) Number of received events. 224 223 225 - watchdog_pretimeouts: (RO) Number of watchdog pretimeouts. 224 + watchdog_pretimeouts (RO) Number of watchdog pretimeouts. 226 225 227 - flag_fetches: (RO) Number of times a flag fetch was 226 + flag_fetches (RO) Number of times a flag fetch was 228 227 requested. 229 228 230 - send_retries: (RO) Number of time a message was 229 + send_retries (RO) Number of time a message was 231 230 retried. 232 231 233 - receive_retries: (RO) Number of times the receive of a 232 + receive_retries (RO) Number of times the receive of a 234 233 message was retried. 235 234 236 - send_errors: (RO) Number of times the send of a 235 + send_errors (RO) Number of times the send of a 237 236 message failed. 238 237 239 - receive_errors: (RO) Number of errors in receiving 238 + receive_errors (RO) Number of errors in receiving 240 239 messages. 240 + ====================== ========================================
+4 -4
Documentation/ABI/testing/sysfs-devices-platform-sh_mobile_lcdc_fb
··· 17 17 to overlay planes. 18 18 19 19 Selects the composition mode for the overlay. Possible values 20 - are 20 + are: 21 21 22 - 0 - Alpha Blending 23 - 1 - ROP3 22 + - 0 - Alpha Blending 23 + - 1 - ROP3 24 24 25 25 What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_position 26 26 Date: May 2012 ··· 30 30 to overlay planes. 31 31 32 32 Stores the x,y overlay position on the display in pixels. The 33 - position format is `[0-9]+,[0-9]+'. 33 + position format is `[0-9]+,[0-9]+`. 34 34 35 35 What: /sys/devices/platform/sh_mobile_lcdc_fb.[0-3]/graphics/fb[0-9]/ovl_rop3 36 36 Date: May 2012
+10
Documentation/ABI/testing/sysfs-devices-platform-stratix10-rsu
··· 102 102 b[15:0] 103 103 inform firmware the current software execution 104 104 stage. 105 + 106 + == =========================================== 105 107 0 the first stage bootloader didn't run or 106 108 didn't reach the point of launching second 107 109 stage bootloader. ··· 113 111 2 both first and second stage bootloader ran 114 112 and the operating system launch was 115 113 attempted. 114 + == =========================================== 116 115 117 116 b[16] 117 + == =========================================== 118 118 1 firmware to reset current image retry 119 119 counter. 120 120 0 no action. 121 + == =========================================== 121 122 122 123 b[17] 124 + == =========================================== 123 125 1 firmware to clear RSU log 124 126 0 no action. 127 + == =========================================== 125 128 126 129 b[18] 127 130 this is negative logic 131 + 132 + == =========================================== 128 133 1 no action 129 134 0 firmware record the notify code defined 130 135 in b[15:0]. 136 + == =========================================== 131 137 132 138 What: /sys/devices/platform/stratix10-rsu.0/dcmf0 133 139 Date: June 2020
+63 -38
Documentation/ABI/testing/sysfs-devices-system-cpu
··· 151 151 The processor idle states which are available for use have the 152 152 following attributes: 153 153 154 - name: (RO) Name of the idle state (string). 154 + ======== ==== ================================================= 155 + name: (RO) Name of the idle state (string). 155 156 156 157 latency: (RO) The latency to exit out of this idle state (in 157 - microseconds). 158 + microseconds). 158 159 159 - power: (RO) The power consumed while in this idle state (in 160 - milliwatts). 160 + power: (RO) The power consumed while in this idle state (in 161 + milliwatts). 161 162 162 - time: (RO) The total time spent in this idle state (in microseconds). 163 + time: (RO) The total time spent in this idle state 164 + (in microseconds). 163 165 164 - usage: (RO) Number of times this state was entered (a count). 166 + usage: (RO) Number of times this state was entered (a count). 165 167 166 - above: (RO) Number of times this state was entered, but the 167 - observed CPU idle duration was too short for it (a count). 168 + above: (RO) Number of times this state was entered, but the 169 + observed CPU idle duration was too short for it 170 + (a count). 168 171 169 - below: (RO) Number of times this state was entered, but the 170 - observed CPU idle duration was too long for it (a count). 172 + below: (RO) Number of times this state was entered, but the 173 + observed CPU idle duration was too long for it 174 + (a count). 175 + ======== ==== ================================================= 171 176 172 177 What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc 173 178 Date: February 2008 ··· 295 290 This switch controls the boost setting for the whole system. 296 291 Boosting allows the CPU and the firmware to run at a frequency 297 292 beyound it's nominal limit. 293 + 298 294 More details can be found in 299 295 Documentation/admin-guide/pm/cpufreq.rst 300 296 ··· 343 337 Description: Parameters for the CPU cache attributes 344 338 345 339 allocation_policy: 346 - - WriteAllocate: allocate a memory location to a cache line 347 - on a cache miss because of a write 348 - - ReadAllocate: allocate a memory location to a cache line 340 + - WriteAllocate: 341 + allocate a memory location to a cache line 342 + on a cache miss because of a write 343 + - ReadAllocate: 344 + allocate a memory location to a cache line 349 345 on a cache miss because of a read 350 - - ReadWriteAllocate: both writeallocate and readallocate 346 + - ReadWriteAllocate: 347 + both writeallocate and readallocate 351 348 352 - attributes: LEGACY used only on IA64 and is same as write_policy 349 + attributes: 350 + LEGACY used only on IA64 and is same as write_policy 353 351 354 - coherency_line_size: the minimum amount of data in bytes that gets 352 + coherency_line_size: 353 + the minimum amount of data in bytes that gets 355 354 transferred from memory to cache 356 355 357 - level: the cache hierarchy in the multi-level cache configuration 356 + level: 357 + the cache hierarchy in the multi-level cache configuration 358 358 359 - number_of_sets: total number of sets in the cache, a set is a 359 + number_of_sets: 360 + total number of sets in the cache, a set is a 360 361 collection of cache lines with the same cache index 361 362 362 - physical_line_partition: number of physical cache line per cache tag 363 + physical_line_partition: 364 + number of physical cache line per cache tag 363 365 364 - shared_cpu_list: the list of logical cpus sharing the cache 366 + shared_cpu_list: 367 + the list of logical cpus sharing the cache 365 368 366 - shared_cpu_map: logical cpu mask containing the list of cpus sharing 369 + shared_cpu_map: 370 + logical cpu mask containing the list of cpus sharing 367 371 the cache 368 372 369 - size: the total cache size in kB 373 + size: 374 + the total cache size in kB 370 375 371 376 type: 372 377 - Instruction: cache that only holds instructions 373 378 - Data: cache that only caches data 374 379 - Unified: cache that holds both data and instructions 375 380 376 - ways_of_associativity: degree of freedom in placing a particular block 377 - of memory in the cache 381 + ways_of_associativity: 382 + degree of freedom in placing a particular block 383 + of memory in the cache 378 384 379 385 write_policy: 380 - - WriteThrough: data is written to both the cache line 386 + - WriteThrough: 387 + data is written to both the cache line 381 388 and to the block in the lower-level memory 382 - - WriteBack: data is written only to the cache line and 389 + - WriteBack: 390 + data is written only to the cache line and 383 391 the modified cache line is written to main 384 392 memory only when it is replaced 385 393 ··· 434 414 throttle attributes exported in the 'throttle_stats' directory: 435 415 436 416 - turbo_stat : This file gives the total number of times the max 437 - frequency is throttled to lower frequency in turbo (at and above 438 - nominal frequency) range of frequencies. 417 + frequency is throttled to lower frequency in turbo (at and above 418 + nominal frequency) range of frequencies. 439 419 440 420 - sub_turbo_stat : This file gives the total number of times the 441 - max frequency is throttled to lower frequency in sub-turbo(below 442 - nominal frequency) range of frequencies. 421 + max frequency is throttled to lower frequency in sub-turbo(below 422 + nominal frequency) range of frequencies. 443 423 444 424 - unthrottle : This file gives the total number of times the max 445 - frequency is unthrottled after being throttled. 425 + frequency is unthrottled after being throttled. 446 426 447 427 - powercap : This file gives the total number of times the max 448 - frequency is throttled due to 'Power Capping'. 428 + frequency is throttled due to 'Power Capping'. 449 429 450 430 - overtemp : This file gives the total number of times the max 451 - frequency is throttled due to 'CPU Over Temperature'. 431 + frequency is throttled due to 'CPU Over Temperature'. 452 432 453 433 - supply_fault : This file gives the total number of times the 454 - max frequency is throttled due to 'Power Supply Failure'. 434 + max frequency is throttled due to 'Power Supply Failure'. 455 435 456 436 - overcurrent : This file gives the total number of times the 457 - max frequency is throttled due to 'Overcurrent'. 437 + max frequency is throttled due to 'Overcurrent'. 458 438 459 439 - occ_reset : This file gives the total number of times the max 460 - frequency is throttled due to 'OCC Reset'. 440 + frequency is throttled due to 'OCC Reset'. 461 441 462 442 The sysfs attributes representing different throttle reasons like 463 443 powercap, overtemp, supply_fault, overcurrent and occ_reset map to ··· 489 469 Date: June 2016 490 470 Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org> 491 471 Description: AArch64 CPU registers 472 + 492 473 'identification' directory exposes the CPU ID registers for 493 - identifying model and revision of the CPU. 474 + identifying model and revision of the CPU. 494 475 495 476 What: /sys/devices/system/cpu/cpu#/cpu_capacity 496 477 Date: December 2016 ··· 518 497 vulnerabilities. The output of those files reflects the 519 498 state of the CPUs in the system. Possible output values: 520 499 500 + ================ ============================================== 521 501 "Not affected" CPU is not affected by the vulnerability 522 502 "Vulnerable" CPU is affected and no mitigation in effect 523 503 "Mitigation: $M" CPU is affected and mitigation $M is in effect 504 + ================ ============================================== 524 505 525 506 See also: Documentation/admin-guide/hw-vuln/index.rst 526 507 ··· 538 515 control: Read/write interface to control SMT. Possible 539 516 values: 540 517 518 + ================ ========================================= 541 519 "on" SMT is enabled 542 520 "off" SMT is disabled 543 521 "forceoff" SMT is force disabled. Cannot be changed. 544 522 "notsupported" SMT is not supported by the CPU 545 523 "notimplemented" SMT runtime toggling is not 546 524 implemented for the architecture 525 + ================ ========================================= 547 526 548 527 If control status is "forceoff" or "notsupported" writes 549 528 are rejected. ··· 601 576 Facility in POWER9 and newer processors. i.e., it is a Secure 602 577 Virtual Machine. 603 578 604 - What: /sys/devices/system/cpu/cpuX/purr 579 + What: /sys/devices/system/cpu/cpuX/purr 605 580 Date: Apr 2005 606 581 Contact: Linux for PowerPC mailing list <linuxppc-dev@ozlabs.org> 607 582 Description: PURR ticks for this CPU since the system boot.
+4 -2
Documentation/ABI/testing/sysfs-devices-system-ibm-rtl
··· 5 5 Description: The state file allows a means by which to change in and 6 6 out of Premium Real-Time Mode (PRTM), as well as the 7 7 ability to query the current state. 8 - 0 => PRTM off 9 - 1 => PRTM enabled 8 + 9 + - 0 => PRTM off 10 + - 1 => PRTM enabled 11 + 10 12 Users: The ibm-prtm userspace daemon uses this interface. 11 13 12 14
+4
Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator
··· 6 6 if DDR power rails will be kept powered during system suspend. 7 7 ("on"/"1" = enabled, "off"/"0" = disabled). 8 8 Two types of power switches (or control signals) can be used: 9 + 9 10 A. With a momentary power switch (or pulse signal), DDR 10 11 Backup Mode is enabled by default when available, as the 11 12 PMIC will be configured only during system suspend. 12 13 B. With a toggle power switch (or level signal), the 13 14 following steps must be followed exactly: 15 + 14 16 1. Configure PMIC for backup mode, to change the role of 15 17 the accessory power switch from a power switch to a 16 18 wake-up switch, ··· 22 20 3. Suspend system, 23 21 4. Switch accessory power switch on, to resume the 24 22 system. 23 + 25 24 DDR Backup Mode must be explicitly enabled by the user, 26 25 to invoke step 1. 26 + 27 27 See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. 28 28 Users: User space applications for embedded boards equipped with a 29 29 BD9571MWV PMIC.
+9 -2
Documentation/ABI/testing/sysfs-driver-genwqe
··· 29 29 Date: May 2014 30 30 Contact: klebers@linux.vnet.ibm.com 31 31 Description: Interface to trigger a PCIe card reset to reload the bitstream. 32 + 33 + :: 34 + 32 35 sudo sh -c 'echo 1 > \ 33 36 /sys/class/genwqe/genwqe0_card/reload_bitstream' 37 + 34 38 If successfully, the card will come back with the bitstream set 35 39 on 'next_bitstream'. 36 40 ··· 68 64 What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs 69 65 Date: Oct 2013 70 66 Contact: haver@linux.vnet.ibm.com 71 - Description: Enable VFs (1..15): 67 + Description: Enable VFs (1..15):: 68 + 72 69 sudo sh -c 'echo 15 > \ 73 70 /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs' 74 - Disable VFs: 71 + 72 + Disable VFs:: 73 + 75 74 Write a 0 into the same sysfs entry.
+10
Documentation/ABI/testing/sysfs-driver-hid-lenovo
··· 3 3 Contact: linux-input@vger.kernel.org 4 4 Description: This controls if mouse clicks should be generated if the trackpoint is quickly pressed. How fast this press has to be 5 5 is being controlled by press_speed. 6 + 6 7 Values are 0 or 1. 8 + 7 9 Applies to Thinkpad USB Keyboard with TrackPoint. 8 10 9 11 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/dragging 10 12 Date: July 2011 11 13 Contact: linux-input@vger.kernel.org 12 14 Description: If this setting is enabled, it is possible to do dragging by pressing the trackpoint. This requires press_to_select to be enabled. 15 + 13 16 Values are 0 or 1. 17 + 14 18 Applies to Thinkpad USB Keyboard with TrackPoint. 15 19 16 20 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/release_to_select ··· 29 25 Contact: linux-input@vger.kernel.org 30 26 Description: This setting controls if the mouse click events generated by pressing the trackpoint (if press_to_select is enabled) generate 31 27 a left or right mouse button click. 28 + 32 29 Values are 0 or 1. 30 + 33 31 Applies to Thinkpad USB Keyboard with TrackPoint. 34 32 35 33 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/sensitivity ··· 45 39 Date: July 2011 46 40 Contact: linux-input@vger.kernel.org 47 41 Description: This setting controls how fast the trackpoint needs to be pressed to generate a mouse click if press_to_select is enabled. 42 + 48 43 Values are decimal integers from 1 (slowest) to 255 (fastest). 44 + 49 45 Applies to Thinkpad USB Keyboard with TrackPoint. 50 46 51 47 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/fn_lock 52 48 Date: July 2014 53 49 Contact: linux-input@vger.kernel.org 54 50 Description: This setting controls whether Fn Lock is enabled on the keyboard (i.e. if F1 is Mute or F1) 51 + 55 52 Values are 0 or 1 53 + 56 54 Applies to ThinkPad Compact (USB|Bluetooth) Keyboard with TrackPoint.
+13 -5
Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff
··· 12 12 Contact: Michal Malý <madcatxster@devoid-pointer.net> 13 13 Description: Displays a set of alternate modes supported by a wheel. Each 14 14 mode is listed as follows: 15 + 15 16 Tag: Mode Name 17 + 16 18 Currently active mode is marked with an asterisk. List also 17 19 contains an abstract item "native" which always denotes the 18 20 native mode of the wheel. Echoing the mode tag switches the ··· 26 24 This entry is not created for devices that have only one mode. 27 25 28 26 Currently supported mode switches: 29 - Driving Force Pro: 27 + 28 + Driving Force Pro:: 29 + 30 30 DF-EX --> DFP 31 31 32 - G25: 32 + G25:: 33 + 33 34 DF-EX --> DFP --> G25 34 35 35 - G27: 36 + G27:: 37 + 36 38 DF-EX <*> DFP <-> G25 <-> G27 37 39 DF-EX <*--------> G25 <-> G27 38 40 DF-EX <*----------------> G27 39 41 40 - G29: 42 + G29:: 43 + 41 44 DF-EX <*> DFP <-> G25 <-> G27 <-> G29 42 45 DF-EX <*--------> G25 <-> G27 <-> G29 43 46 DF-EX <*----------------> G27 <-> G29 44 47 DF-EX <*------------------------> G29 45 48 46 - DFGT: 49 + DFGT:: 50 + 47 51 DF-EX <*> DFP <-> DFGT 48 52 DF-EX <*--------> DFGT 49 53
+8 -5
Documentation/ABI/testing/sysfs-driver-hid-ntrig
··· 29 29 Description: 30 30 Threholds to override activation slack. 31 31 32 - activation_width: (RW) Width threshold to immediately 32 + ================= ===================================== 33 + activation_width (RW) Width threshold to immediately 33 34 start processing touch events. 34 35 35 - activation_height: (RW) Height threshold to immediately 36 + activation_height (RW) Height threshold to immediately 36 37 start processing touch events. 37 - 38 + ================= ===================================== 38 39 39 40 What: /sys/bus/hid/drivers/ntrig/<dev>/min_width 40 41 What: /sys/bus/hid/drivers/ntrig/<dev>/min_height ··· 45 44 Description: 46 45 Minimum size contact accepted. 47 46 48 - min_width: (RW) Minimum touch contact width to decide 47 + ========== =========================================== 48 + min_width (RW) Minimum touch contact width to decide 49 49 activation and activity. 50 50 51 - min_height: (RW) Minimum touch contact height to decide 51 + min_height (RW) Minimum touch contact height to decide 52 52 activation and activity. 53 + ========== =========================================== 53 54 54 55 55 56 What: /sys/bus/hid/drivers/ntrig/<dev>/sensor_physical_width
+19
Documentation/ABI/testing/sysfs-driver-hid-roccat-kone
··· 3 3 Contact: Stefan Achatz <erazor_de@users.sourceforge.net> 4 4 Description: It is possible to switch the dpi setting of the mouse with the 5 5 press of a button. 6 + 6 7 When read, this file returns the raw number of the actual dpi 7 8 setting reported by the mouse. This number has to be further 8 9 processed to receive the real dpi value: 9 10 11 + ===== ===== 10 12 VALUE DPI 13 + ===== ===== 11 14 1 800 12 15 2 1200 13 16 3 1600 14 17 4 2000 15 18 5 2400 16 19 6 3200 20 + ===== ===== 17 21 18 22 This file is readonly. 19 23 Users: http://roccat.sourceforge.net ··· 26 22 Date: March 2010 27 23 Contact: Stefan Achatz <erazor_de@users.sourceforge.net> 28 24 Description: When read, this file returns the number of the actual profile. 25 + 29 26 This file is readonly. 30 27 Users: http://roccat.sourceforge.net 31 28 ··· 38 33 further usage in other programs. To receive the real version 39 34 number the decimal point has to be shifted 2 positions to the 40 35 left. E.g. a returned value of 138 means 1.38 36 + 41 37 This file is readonly. 42 38 Users: http://roccat.sourceforge.net 43 39 ··· 49 43 press of a button. A profile holds information like button 50 44 mappings, sensitivity, the colors of the 5 leds and light 51 45 effects. 46 + 52 47 When read, these files return the respective profile. The 53 48 returned data is 975 bytes in size. 49 + 54 50 When written, this file lets one write the respective profile 55 51 data back to the mouse. The data has to be 975 bytes long. 52 + 56 53 The mouse will reject invalid data, whereas the profile number 57 54 stored in the profile doesn't need to fit the number of the 58 55 store. ··· 67 58 Description: When read, this file returns the settings stored in the mouse. 68 59 The size of the data is 36 bytes and holds information like the 69 60 startup_profile, tcu state and calibration_data. 61 + 70 62 When written, this file lets write settings back to the mouse. 71 63 The data has to be 36 bytes long. The mouse will reject invalid 72 64 data. ··· 77 67 Date: March 2010 78 68 Contact: Stefan Achatz <erazor_de@users.sourceforge.net> 79 69 Description: The integer value of this attribute ranges from 1 to 5. 70 + 80 71 When read, this attribute returns the number of the profile 81 72 that's active when the mouse is powered on. 73 + 82 74 When written, this file sets the number of the startup profile 83 75 and the mouse activates this profile immediately. 84 76 Users: http://roccat.sourceforge.net ··· 92 80 calibrate the laser power to fit the mousepad surface. 93 81 When read, this file returns the current state of the TCU, 94 82 where 0 means off and 1 means on. 83 + 95 84 Writing 0 in this file will switch the TCU off. 85 + 96 86 Writing 1 in this file will start the calibration which takes 97 87 around 6 seconds to complete and activates the TCU. 88 + 98 89 Users: http://roccat.sourceforge.net 99 90 100 91 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kone/roccatkone<minor>/weight ··· 108 93 and its value can be read out. When read, this file returns the 109 94 raw value returned by the mouse which eases further processing 110 95 in other software. 96 + 111 97 The values map to the weights as follows: 112 98 99 + ===== ====== 113 100 VALUE WEIGHT 101 + ===== ====== 114 102 0 none 115 103 1 5g 116 104 2 10g 117 105 3 15g 118 106 4 20g 107 + ===== ====== 119 108 120 109 This file is readonly. 121 110 Users: http://roccat.sourceforge.net
+10 -2
Documentation/ABI/testing/sysfs-driver-hid-wiimote
··· 20 20 the official Nintendo Nunchuck extension and classic is the 21 21 Nintendo Classic Controller extension. The motionp extension can 22 22 be combined with the other two. 23 + 23 24 Starting with kernel-version 3.11 Motion Plus hotplugging is 24 25 supported and if detected, it's no longer reported as static 25 26 extension. You will get uevent notifications for the motion-plus ··· 40 39 Other strings for each device-type are available and may be 41 40 added if new device-specific detections are added. 42 41 Currently supported are: 43 - gen10: First Wii Remote generation 44 - gen20: Second Wii Remote Plus generation (builtin MP) 42 + 43 + ============= ======================================= 44 + gen10: First Wii Remote generation 45 + gen20: Second Wii Remote Plus generation 46 + (builtin MP) 45 47 balanceboard: Wii Balance Board 48 + ============= ======================================= 46 49 47 50 What: /sys/bus/hid/drivers/wiimote/<dev>/bboard_calib 48 51 Date: May 2013 ··· 59 54 First, 0kg values for all 4 sensors are written, followed by the 60 55 17kg values for all 4 sensors and last the 34kg values for all 4 61 56 sensors. 57 + 62 58 Calibration data is already applied by the kernel to all input 63 59 values but may be used by user-space to perform other 64 60 transformations. ··· 74 68 is prefixed with a +/-. Each value is a signed 16bit number. 75 69 Data is encoded as decimal numbers and specifies the offsets of 76 70 the analog sticks of the pro-controller. 71 + 77 72 Calibration data is already applied by the kernel to all input 78 73 values but may be used by user-space to perform other 79 74 transformations. 75 + 80 76 Calibration data is detected by the kernel during device setup. 81 77 You can write "scan\n" into this file to re-trigger calibration. 82 78 You can also write data directly in the form "x1:y1 x2:y2" to
+2
Documentation/ABI/testing/sysfs-driver-input-exc3000
··· 4 4 Description: Reports the firmware version provided by the touchscreen, for example "00_T6" on a EXC80H60 5 5 6 6 Access: Read 7 + 7 8 Valid values: Represented as string 8 9 9 10 What: /sys/bus/i2c/devices/xxx/model ··· 13 12 Description: Reports the model identification provided by the touchscreen, for example "Orion_1320" on a EXC80H60 14 13 15 14 Access: Read 15 + 16 16 Valid values: Represented as string
+5 -1
Documentation/ABI/testing/sysfs-driver-jz4780-efuse
··· 4 4 Description: read-only access to the efuse on the Ingenic JZ4780 SoC 5 5 The SoC has a one time programmable 8K efuse that is 6 6 split into segments. The driver supports read only. 7 - The segments are 7 + The segments are: 8 + 9 + ===== ======== ================= 8 10 0x000 64 bit Random Number 9 11 0x008 128 bit Ingenic Chip ID 10 12 0x018 128 bit Customer ID ··· 14 12 0x1E0 8 bit Protect Segment 15 13 0x1E1 2296 bit HDMI Key 16 14 0x300 2048 bit Security boot key 15 + ===== ======== ================= 16 + 17 17 Users: any user space application which wants to read the Chip 18 18 and Customer ID
+4 -2
Documentation/ABI/testing/sysfs-driver-pciback
··· 7 7 the format of DDDD:BB:DD.F-REG:SIZE:MASK will allow the guest 8 8 to write and read from the PCI device. That is Domain:Bus: 9 9 Device.Function-Register:Size:Mask (Domain is optional). 10 - For example: 11 - #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks 10 + For example:: 11 + 12 + #echo 00:19.0-E0:2:FF > /sys/bus/pci/drivers/pciback/quirks 13 + 12 14 will allow the guest to read and write to the configuration 13 15 register 0x0E. 14 16
+8 -5
Documentation/ABI/testing/sysfs-driver-samsung-laptop
··· 9 9 their fans quiet at all costs. Reading from this file 10 10 will show the current performance level. Writing to the 11 11 file can change this value. 12 + 12 13 Valid options: 13 - "silent" 14 - "normal" 15 - "overclock" 14 + - "silent" 15 + - "normal" 16 + - "overclock" 17 + 16 18 Note that not all laptops support all of these options. 17 19 Specifically, not all support the "overclock" option, 18 20 and it's still unknown if this value even changes ··· 27 25 Description: Max battery charge level can be modified, battery cycle 28 26 life can be extended by reducing the max battery charge 29 27 level. 30 - 0 means normal battery mode (100% charge) 31 - 1 means battery life extender mode (80% charge) 28 + 29 + - 0 means normal battery mode (100% charge) 30 + - 1 means battery life extender mode (80% charge) 32 31 33 32 What: /sys/devices/platform/samsung/usb_charge 34 33 Date: December 1, 2011
+26
Documentation/ABI/testing/sysfs-driver-toshiba_acpi
··· 4 4 Contact: Azael Avalos <coproscefalo@gmail.com> 5 5 Description: This file controls the keyboard backlight operation mode, valid 6 6 values are: 7 + 7 8 * 0x1 -> FN-Z 8 9 * 0x2 -> AUTO (also called TIMER) 9 10 * 0x8 -> ON 10 11 * 0x10 -> OFF 12 + 11 13 Note that from kernel 3.16 onwards this file accepts all listed 12 14 parameters, kernel 3.15 only accepts the first two (FN-Z and 13 15 AUTO). ··· 43 41 Contact: Azael Avalos <coproscefalo@gmail.com> 44 42 Description: This files controls the status of the touchpad and pointing 45 43 stick (if available), valid values are: 44 + 46 45 * 0 -> OFF 47 46 * 1 -> ON 47 + 48 48 Users: KToshiba 49 49 50 50 What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes ··· 55 51 Contact: Azael Avalos <coproscefalo@gmail.com> 56 52 Description: This file shows the supported keyboard backlight modes 57 53 the system supports, which can be: 54 + 58 55 * 0x1 -> FN-Z 59 56 * 0x2 -> AUTO (also called TIMER) 60 57 * 0x8 -> ON 61 58 * 0x10 -> OFF 59 + 62 60 Note that not all keyboard types support the listed modes. 63 61 See the entry named "available_kbd_modes" 64 62 Users: KToshiba ··· 71 65 Contact: Azael Avalos <coproscefalo@gmail.com> 72 66 Description: This file shows the current keyboard backlight type, 73 67 which can be: 68 + 74 69 * 1 -> Type 1, supporting modes FN-Z and AUTO 75 70 * 2 -> Type 2, supporting modes TIMER, ON and OFF 76 71 Users: KToshiba ··· 82 75 Contact: Azael Avalos <coproscefalo@gmail.com> 83 76 Description: This file controls the USB Sleep & Charge charging mode, which 84 77 can be: 78 + 85 79 * 0 -> Disabled (0x00) 86 80 * 1 -> Alternate (0x09) 87 81 * 2 -> Auto (0x21) 88 82 * 3 -> Typical (0x11) 83 + 89 84 Note that from kernel 4.1 onwards this file accepts all listed 90 85 values, kernel 4.0 only supports the first three. 91 86 Note that this feature only works when connected to power, if ··· 102 93 Description: This file controls the USB Sleep Functions under battery, and 103 94 set the level at which point they will be disabled, accepted 104 95 values can be: 96 + 105 97 * 0 -> Disabled 106 98 * 1-100 -> Battery level to disable sleep functions 99 + 107 100 Currently it prints two values, the first one indicates if the 108 101 feature is enabled or disabled, while the second one shows the 109 102 current battery level set. ··· 118 107 KernelVersion: 4.0 119 108 Contact: Azael Avalos <coproscefalo@gmail.com> 120 109 Description: This file controls the USB Rapid Charge state, which can be: 110 + 121 111 * 0 -> Disabled 122 112 * 1 -> Enabled 113 + 123 114 Note that toggling this value requires a reboot for changes to 124 115 take effect. 125 116 Users: KToshiba ··· 131 118 KernelVersion: 4.0 132 119 Contact: Azael Avalos <coproscefalo@gmail.com> 133 120 Description: This file controls the Sleep & Music state, which values can be: 121 + 134 122 * 0 -> Disabled 135 123 * 1 -> Enabled 124 + 136 125 Note that this feature only works when connected to power, if 137 126 you want to use it under battery, see the entry named 138 127 "sleep_functions_on_battery" ··· 153 138 Contact: Azael Avalos <coproscefalo@gmail.com> 154 139 Description: This file controls the state of the internal fan, valid 155 140 values are: 141 + 156 142 * 0 -> OFF 157 143 * 1 -> ON 158 144 ··· 163 147 Contact: Azael Avalos <coproscefalo@gmail.com> 164 148 Description: This file controls the Special Functions (hotkeys) operation 165 149 mode, valid values are: 150 + 166 151 * 0 -> Normal Operation 167 152 * 1 -> Special Functions 153 + 168 154 In the "Normal Operation" mode, the F{1-12} keys are as usual 169 155 and the hotkeys are accessed via FN-F{1-12}. 170 156 In the "Special Functions" mode, the F{1-12} keys trigger the ··· 181 163 Contact: Azael Avalos <coproscefalo@gmail.com> 182 164 Description: This file controls whether the laptop should turn ON whenever 183 165 the LID is opened, valid values are: 166 + 184 167 * 0 -> Disabled 185 168 * 1 -> Enabled 169 + 186 170 Note that toggling this value requires a reboot for changes to 187 171 take effect. 188 172 Users: KToshiba ··· 194 174 KernelVersion: 4.0 195 175 Contact: Azael Avalos <coproscefalo@gmail.com> 196 176 Description: This file controls the USB 3 functionality, valid values are: 177 + 197 178 * 0 -> Disabled (Acts as a regular USB 2) 198 179 * 1 -> Enabled (Full USB 3 functionality) 180 + 199 181 Note that toggling this value requires a reboot for changes to 200 182 take effect. 201 183 Users: KToshiba ··· 210 188 Reading this file prints two values, the first is the actual cooling method 211 189 and the second is the maximum cooling method supported. 212 190 When the maximum cooling method is ONE, valid values are: 191 + 213 192 * 0 -> Maximum Performance 214 193 * 1 -> Battery Optimized 194 + 215 195 When the maximum cooling method is TWO, valid values are: 196 + 216 197 * 0 -> Maximum Performance 217 198 * 1 -> Performance 218 199 * 2 -> Battery Optimized 200 + 219 201 Users: KToshiba
+2
Documentation/ABI/testing/sysfs-driver-toshiba_haps
··· 4 4 Contact: Azael Avalos <coproscefalo@gmail.com> 5 5 Description: This file controls the built-in accelerometer protection level, 6 6 valid values are: 7 + 7 8 * 0 -> Disabled 8 9 * 1 -> Low 9 10 * 2 -> Medium 10 11 * 3 -> High 12 + 11 13 The default potection value is set to 2 (Medium). 12 14 Users: KToshiba 13 15
+181 -47
Documentation/ABI/testing/sysfs-driver-ufs
··· 18 18 Description: This file shows the device type. This is one of the UFS 19 19 device descriptor parameters. The full information about 20 20 the descriptor could be found at UFS specifications 2.1. 21 + 21 22 The file is read only. 22 23 23 24 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class ··· 27 26 Description: This file shows the device class. This is one of the UFS 28 27 device descriptor parameters. The full information about 29 28 the descriptor could be found at UFS specifications 2.1. 29 + 30 30 The file is read only. 31 31 32 32 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class ··· 36 34 Description: This file shows the UFS storage subclass. This is one of 37 35 the UFS device descriptor parameters. The full information 38 36 about the descriptor could be found at UFS specifications 2.1. 37 + 39 38 The file is read only. 40 39 41 40 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol ··· 46 43 This is one of the UFS device descriptor parameters. 47 44 The full information about the descriptor could be found 48 45 at UFS specifications 2.1. 46 + 49 47 The file is read only. 50 48 51 49 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns ··· 55 51 Description: This file shows number of logical units. This is one of 56 52 the UFS device descriptor parameters. The full information 57 53 about the descriptor could be found at UFS specifications 2.1. 54 + 58 55 The file is read only. 59 56 60 57 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns ··· 65 60 This is one of the UFS device descriptor parameters. 66 61 The full information about the descriptor could be found 67 62 at UFS specifications 2.1. 63 + 68 64 The file is read only. 69 65 70 66 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable ··· 75 69 enabled for boot. This is one of the UFS device descriptor 76 70 parameters. The full information about the descriptor could 77 71 be found at UFS specifications 2.1. 72 + 78 73 The file is read only. 79 74 80 75 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable ··· 86 79 of the boot sequence. This is one of the UFS device descriptor 87 80 parameters. The full information about the descriptor could 88 81 be found at UFS specifications 2.1. 82 + 89 83 The file is read only. 90 84 91 85 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode ··· 96 88 device initialization or hardware reset. This is one of 97 89 the UFS device descriptor parameters. The full information 98 90 about the descriptor could be found at UFS specifications 2.1. 91 + 99 92 The file is read only. 100 93 101 94 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun ··· 105 96 Description: This file shows the high priority lun. This is one of 106 97 the UFS device descriptor parameters. The full information 107 98 about the descriptor could be found at UFS specifications 2.1. 99 + 108 100 The file is read only. 109 101 110 102 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type ··· 114 104 Description: This file shows the secure removal type. This is one of 115 105 the UFS device descriptor parameters. The full information 116 106 about the descriptor could be found at UFS specifications 2.1. 107 + 117 108 The file is read only. 118 109 119 110 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun ··· 124 113 This is one of the UFS device descriptor parameters. 125 114 The full information about the descriptor could be found 126 115 at UFS specifications 2.1. 116 + 127 117 The file is read only. 128 118 129 119 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency ··· 134 122 latency. This is one of the UFS device descriptor parameters. 135 123 The full information about the descriptor could be found 136 124 at UFS specifications 2.1. 125 + 137 126 The file is read only. 138 127 139 128 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level ··· 143 130 Description: This file shows the initial active ICC level. This is one 144 131 of the UFS device descriptor parameters. The full information 145 132 about the descriptor could be found at UFS specifications 2.1. 133 + 146 134 The file is read only. 147 135 148 136 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version ··· 152 138 Description: This file shows the specification version. This is one 153 139 of the UFS device descriptor parameters. The full information 154 140 about the descriptor could be found at UFS specifications 2.1. 141 + 155 142 The file is read only. 156 143 157 144 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date ··· 162 147 This is one of the UFS device descriptor parameters. 163 148 The full information about the descriptor could be found 164 149 at UFS specifications 2.1. 150 + 165 151 The file is read only. 166 152 167 153 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id ··· 171 155 Description: This file shows the manufacturee ID. This is one of the 172 156 UFS device descriptor parameters. The full information about 173 157 the descriptor could be found at UFS specifications 2.1. 158 + 174 159 The file is read only. 175 160 176 161 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability ··· 181 164 supported by the device. This is one of the UFS device 182 165 descriptor parameters. The full information about 183 166 the descriptor could be found at UFS specifications 2.1. 167 + 184 168 The file is read only. 185 169 186 170 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update ··· 191 173 clock update. This is one of the UFS device descriptor 192 174 parameters. The full information about the descriptor 193 175 could be found at UFS specifications 2.1. 176 + 194 177 The file is read only. 195 178 196 179 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features ··· 201 182 This is one of the UFS device descriptor parameters. 202 183 The full information about the descriptor could be 203 184 found at UFS specifications 2.1. 185 + 204 186 The file is read only. 205 187 206 188 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout ··· 210 190 Description: This file shows the FFU timeout. This is one of the 211 191 UFS device descriptor parameters. The full information 212 192 about the descriptor could be found at UFS specifications 2.1. 193 + 213 194 The file is read only. 214 195 215 196 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth ··· 219 198 Description: This file shows the device queue depth. This is one of the 220 199 UFS device descriptor parameters. The full information 221 200 about the descriptor could be found at UFS specifications 2.1. 201 + 222 202 The file is read only. 223 203 224 204 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version ··· 228 206 Description: This file shows the device version. This is one of the 229 207 UFS device descriptor parameters. The full information 230 208 about the descriptor could be found at UFS specifications 2.1. 209 + 231 210 The file is read only. 232 211 233 212 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa ··· 238 215 supported by the device. This is one of the UFS device 239 216 descriptor parameters. The full information about 240 217 the descriptor could be found at UFS specifications 2.1. 218 + 241 219 The file is read only. 242 220 243 221 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size ··· 249 225 This is one of the UFS device descriptor parameters. 250 226 The full information about the descriptor could be found 251 227 at UFS specifications 2.1. 228 + 252 229 The file is read only. 253 230 254 231 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout ··· 259 234 in PSA state. This is one of the UFS device descriptor 260 235 parameters. The full information about the descriptor could 261 236 be found at UFS specifications 2.1. 237 + 262 238 The file is read only. 263 239 264 240 ··· 270 244 This is one of the UFS interconnect descriptor parameters. 271 245 The full information about the descriptor could be found at 272 246 UFS specifications 2.1. 247 + 273 248 The file is read only. 274 249 275 250 What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version ··· 280 253 This is one of the UFS interconnect descriptor parameters. 281 254 The full information about the descriptor could be found at 282 255 UFS specifications 2.1. 256 + 283 257 The file is read only. 284 258 285 259 ··· 292 264 of the UFS geometry descriptor parameters. The full 293 265 information about the descriptor could be found at 294 266 UFS specifications 2.1. 267 + 295 268 The file is read only. 296 269 297 270 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns ··· 302 273 supported by the UFS device. This is one of the UFS 303 274 geometry descriptor parameters. The full information about 304 275 the descriptor could be found at UFS specifications 2.1. 276 + 305 277 The file is read only. 306 278 307 279 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size ··· 311 281 Description: This file shows the segment size. This is one of the UFS 312 282 geometry descriptor parameters. The full information about 313 283 the descriptor could be found at UFS specifications 2.1. 284 + 314 285 The file is read only. 315 286 316 287 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size ··· 320 289 Description: This file shows the allocation unit size. This is one of 321 290 the UFS geometry descriptor parameters. The full information 322 291 about the descriptor could be found at UFS specifications 2.1. 292 + 323 293 The file is read only. 324 294 325 295 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size ··· 330 298 is one of the UFS geometry descriptor parameters. The full 331 299 information about the descriptor could be found at UFS 332 300 specifications 2.1. 301 + 333 302 The file is read only. 334 303 335 304 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size ··· 340 307 of the UFS geometry descriptor parameters. The full 341 308 information about the descriptor could be found at UFS 342 309 specifications 2.1. 310 + 343 311 The file is read only. 344 312 345 313 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size ··· 350 316 of the UFS geometry descriptor parameters. The full 351 317 information about the descriptor could be found at UFS 352 318 specifications 2.1. 319 + 353 320 The file is read only. 354 321 355 322 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size ··· 360 325 is one of the UFS geometry descriptor parameters. The full 361 326 information about the descriptor could be found at UFS 362 327 specifications 2.1. 328 + 363 329 The file is read only. 364 330 365 331 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size ··· 370 334 is one of the UFS geometry descriptor parameters. The full 371 335 information about the descriptor could be found at UFS 372 336 specifications 2.1. 337 + 373 338 The file is read only. 374 339 375 340 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size ··· 380 343 in Security Protocol In/Out. This is one of the UFS geometry 381 344 descriptor parameters. The full information about the 382 345 descriptor could be found at UFS specifications 2.1. 346 + 383 347 The file is read only. 384 348 385 349 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy ··· 390 352 is one of the UFS geometry descriptor parameters. The full 391 353 information about the descriptor could be found at 392 354 UFS specifications 2.1. 355 + 393 356 The file is read only. 394 357 395 358 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering ··· 400 361 This is one of the UFS geometry descriptor parameters. 401 362 The full information about the descriptor could be found at 402 363 UFS specifications 2.1. 364 + 403 365 The file is read only. 404 366 405 367 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts ··· 410 370 are supported by the device. This is one of the UFS geometry 411 371 descriptor parameters. The full information about the 412 372 descriptor could be found at UFS specifications 2.1. 373 + 413 374 The file is read only. 414 375 415 376 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size ··· 419 378 Description: This file shows system data tag unit size. This is one of 420 379 the UFS geometry descriptor parameters. The full information 421 380 about the descriptor could be found at UFS specifications 2.1. 381 + 422 382 The file is read only. 423 383 424 384 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size ··· 430 388 This is one of the UFS geometry descriptor parameters. 431 389 The full information about the descriptor could be found at 432 390 UFS specifications 2.1. 391 + 433 392 The file is read only. 434 393 435 394 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types ··· 440 397 one of the UFS geometry descriptor parameters. The full 441 398 information about the descriptor could be found at 442 399 UFS specifications 2.1. 400 + 443 401 The file is read only. 444 402 445 403 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types ··· 450 406 the UFS geometry descriptor parameters. The full 451 407 information about the descriptor could be found at 452 408 UFS specifications 2.1. 409 + 453 410 The file is read only. 454 411 455 412 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units ··· 461 416 enhanced type 1-4). This is one of the UFS geometry 462 417 descriptor parameters. The full information about the 463 418 descriptor could be found at UFS specifications 2.1. 419 + 464 420 The file is read only. 465 421 466 422 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor ··· 472 426 enhanced type 1-4). This is one of the UFS geometry 473 427 descriptor parameters. The full information about the 474 428 descriptor could be found at UFS specifications 2.1. 429 + 475 430 The file is read only. 476 431 477 432 ··· 483 436 of the UFS health descriptor parameters. The full 484 437 information about the descriptor could be found at 485 438 UFS specifications 2.1. 439 + 486 440 The file is read only. 487 441 488 442 What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a ··· 493 445 (method a). This is one of the UFS health descriptor 494 446 parameters. The full information about the descriptor 495 447 could be found at UFS specifications 2.1. 448 + 496 449 The file is read only. 497 450 498 451 What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b ··· 503 454 (method b). This is one of the UFS health descriptor 504 455 parameters. The full information about the descriptor 505 456 could be found at UFS specifications 2.1. 457 + 506 458 The file is read only. 507 459 508 460 ··· 514 464 active ICC levels from 0 to 15. This is one of the UFS 515 465 power descriptor parameters. The full information about 516 466 the descriptor could be found at UFS specifications 2.1. 467 + 517 468 The file is read only. 518 469 519 470 ··· 524 473 Description: This file contains a device manufactureer name string. 525 474 The full information about the descriptor could be found at 526 475 UFS specifications 2.1. 476 + 527 477 The file is read only. 528 478 529 479 What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name ··· 532 480 Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> 533 481 Description: This file contains a product name string. The full information 534 482 about the descriptor could be found at UFS specifications 2.1. 483 + 535 484 The file is read only. 536 485 537 486 What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id ··· 540 487 Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> 541 488 Description: This file contains a OEM ID string. The full information 542 489 about the descriptor could be found at UFS specifications 2.1. 490 + 543 491 The file is read only. 544 492 545 493 What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number ··· 549 495 Description: This file contains a device serial number string. The full 550 496 information about the descriptor could be found at 551 497 UFS specifications 2.1. 498 + 552 499 The file is read only. 553 500 554 501 What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision ··· 558 503 Description: This file contains a product revision string. The full 559 504 information about the descriptor could be found at 560 505 UFS specifications 2.1. 506 + 561 507 The file is read only. 562 508 563 509 ··· 568 512 Description: This file shows boot LUN information. This is one of 569 513 the UFS unit descriptor parameters. The full information 570 514 about the descriptor could be found at UFS specifications 2.1. 515 + 571 516 The file is read only. 572 517 573 518 What: /sys/class/scsi_device/*/device/unit_descriptor/lun_write_protect ··· 577 520 Description: This file shows LUN write protection status. This is one of 578 521 the UFS unit descriptor parameters. The full information 579 522 about the descriptor could be found at UFS specifications 2.1. 523 + 580 524 The file is read only. 581 525 582 526 What: /sys/class/scsi_device/*/device/unit_descriptor/lun_queue_depth ··· 586 528 Description: This file shows LUN queue depth. This is one of the UFS 587 529 unit descriptor parameters. The full information about 588 530 the descriptor could be found at UFS specifications 2.1. 531 + 589 532 The file is read only. 590 533 591 534 What: /sys/class/scsi_device/*/device/unit_descriptor/psa_sensitive ··· 595 536 Description: This file shows PSA sensitivity. This is one of the UFS 596 537 unit descriptor parameters. The full information about 597 538 the descriptor could be found at UFS specifications 2.1. 539 + 598 540 The file is read only. 599 541 600 542 What: /sys/class/scsi_device/*/device/unit_descriptor/lun_memory_type ··· 604 544 Description: This file shows LUN memory type. This is one of the UFS 605 545 unit descriptor parameters. The full information about 606 546 the descriptor could be found at UFS specifications 2.1. 547 + 607 548 The file is read only. 608 549 609 550 What: /sys/class/scsi_device/*/device/unit_descriptor/data_reliability ··· 614 553 occurs during a write operation. This is one of the UFS 615 554 unit descriptor parameters. The full information about 616 555 the descriptor could be found at UFS specifications 2.1. 556 + 617 557 The file is read only. 618 558 619 559 What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_size ··· 624 562 (calculated as an exponent with base 2). This is one of 625 563 the UFS unit descriptor parameters. The full information about 626 564 the descriptor could be found at UFS specifications 2.1. 565 + 627 566 The file is read only. 628 567 629 568 What: /sys/class/scsi_device/*/device/unit_descriptor/logical_block_count ··· 634 571 This is one of the UFS unit descriptor parameters. The full 635 572 information about the descriptor could be found at 636 573 UFS specifications 2.1. 574 + 637 575 The file is read only. 638 576 639 577 What: /sys/class/scsi_device/*/device/unit_descriptor/erase_block_size ··· 643 579 Description: This file shows the erase block size. This is one of 644 580 the UFS unit descriptor parameters. The full information 645 581 about the descriptor could be found at UFS specifications 2.1. 582 + 646 583 The file is read only. 647 584 648 585 What: /sys/class/scsi_device/*/device/unit_descriptor/provisioning_type ··· 652 587 Description: This file shows the thin provisioning type. This is one of 653 588 the UFS unit descriptor parameters. The full information 654 589 about the descriptor could be found at UFS specifications 2.1. 590 + 655 591 The file is read only. 656 592 657 593 What: /sys/class/scsi_device/*/device/unit_descriptor/physical_memory_resourse_count ··· 661 595 Description: This file shows the total physical memory resources. This is 662 596 one of the UFS unit descriptor parameters. The full information 663 597 about the descriptor could be found at UFS specifications 2.1. 598 + 664 599 The file is read only. 665 600 666 601 What: /sys/class/scsi_device/*/device/unit_descriptor/context_capabilities ··· 670 603 Description: This file shows the context capabilities. This is one of 671 604 the UFS unit descriptor parameters. The full information 672 605 about the descriptor could be found at UFS specifications 2.1. 606 + 673 607 The file is read only. 674 608 675 609 What: /sys/class/scsi_device/*/device/unit_descriptor/large_unit_granularity ··· 679 611 Description: This file shows the granularity of the LUN. This is one of 680 612 the UFS unit descriptor parameters. The full information 681 613 about the descriptor could be found at UFS specifications 2.1. 614 + 682 615 The file is read only. 683 616 684 617 ··· 688 619 Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> 689 620 Description: This file shows the device init status. The full information 690 621 about the flag could be found at UFS specifications 2.1. 622 + 691 623 The file is read only. 692 624 693 625 What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe ··· 697 627 Description: This file shows whether permanent write protection is enabled. 698 628 The full information about the flag could be found at 699 629 UFS specifications 2.1. 630 + 700 631 The file is read only. 701 632 702 633 What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe ··· 707 636 logical units configured as power on write protected. The 708 637 full information about the flag could be found at 709 638 UFS specifications 2.1. 639 + 710 640 The file is read only. 711 641 712 642 What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable ··· 716 644 Description: This file shows whether the device background operations are 717 645 enabled. The full information about the flag could be 718 646 found at UFS specifications 2.1. 647 + 719 648 The file is read only. 720 649 721 650 What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable ··· 725 652 Description: This file shows whether the device life span mode is enabled. 726 653 The full information about the flag could be found at 727 654 UFS specifications 2.1. 655 + 728 656 The file is read only. 729 657 730 658 What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal ··· 734 660 Description: This file shows whether physical resource removal is enable. 735 661 The full information about the flag could be found at 736 662 UFS specifications 2.1. 663 + 737 664 The file is read only. 738 665 739 666 What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc ··· 743 668 Description: This file shows whether the device is executing internal 744 669 operation related to real time clock. The full information 745 670 about the flag could be found at UFS specifications 2.1. 671 + 746 672 The file is read only. 747 673 748 674 What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update ··· 752 676 Description: This file shows whether the device FW update is permanently 753 677 disabled. The full information about the flag could be found 754 678 at UFS specifications 2.1. 679 + 755 680 The file is read only. 756 681 757 682 ··· 762 685 Description: This file provides the boot lun enabled UFS device attribute. 763 686 The full information about the attribute could be found at 764 687 UFS specifications 2.1. 688 + 765 689 The file is read only. 766 690 767 691 What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode ··· 771 693 Description: This file provides the current power mode UFS device attribute. 772 694 The full information about the attribute could be found at 773 695 UFS specifications 2.1. 696 + 774 697 The file is read only. 775 698 776 699 What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level ··· 780 701 Description: This file provides the active icc level UFS device attribute. 781 702 The full information about the attribute could be found at 782 703 UFS specifications 2.1. 704 + 783 705 The file is read only. 784 706 785 707 What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled ··· 789 709 Description: This file provides the out of order data transfer enabled UFS 790 710 device attribute. The full information about the attribute 791 711 could be found at UFS specifications 2.1. 712 + 792 713 The file is read only. 793 714 794 715 What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status ··· 798 717 Description: This file provides the background operations status UFS device 799 718 attribute. The full information about the attribute could 800 719 be found at UFS specifications 2.1. 720 + 801 721 The file is read only. 802 722 803 723 What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status ··· 807 725 Description: This file provides the purge operation status UFS device 808 726 attribute. The full information about the attribute could 809 727 be found at UFS specifications 2.1. 728 + 810 729 The file is read only. 811 730 812 731 What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size ··· 816 733 Description: This file shows the maximum data size in a DATA IN 817 734 UPIU. The full information about the attribute could 818 735 be found at UFS specifications 2.1. 736 + 819 737 The file is read only. 820 738 821 739 What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size ··· 825 741 Description: This file shows the maximum number of bytes that can be 826 742 requested with a READY TO TRANSFER UPIU. The full information 827 743 about the attribute could be found at UFS specifications 2.1. 744 + 828 745 The file is read only. 829 746 830 747 What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency ··· 834 749 Description: This file provides the reference clock frequency UFS device 835 750 attribute. The full information about the attribute could 836 751 be found at UFS specifications 2.1. 752 + 837 753 The file is read only. 838 754 839 755 What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock ··· 851 765 outstanding RTTs in device that is allowed. The full 852 766 information about the attribute could be found at 853 767 UFS specifications 2.1. 768 + 854 769 The file is read only. 855 770 856 771 What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control ··· 860 773 Description: This file provides the exception event control UFS device 861 774 attribute. The full information about the attribute could 862 775 be found at UFS specifications 2.1. 776 + 863 777 The file is read only. 864 778 865 779 What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status ··· 869 781 Description: This file provides the exception event status UFS device 870 782 attribute. The full information about the attribute could 871 783 be found at UFS specifications 2.1. 784 + 872 785 The file is read only. 873 786 874 787 What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status ··· 878 789 Description: This file provides the ffu status UFS device attribute. 879 790 The full information about the attribute could be found at 880 791 UFS specifications 2.1. 792 + 881 793 The file is read only. 882 794 883 795 What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state ··· 886 796 Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> 887 797 Description: This file show the PSA feature status. The full information 888 798 about the attribute could be found at UFS specifications 2.1. 799 + 889 800 The file is read only. 890 801 891 802 What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size ··· 896 805 load to all logical units in pre-soldering state. 897 806 The full information about the attribute could be found at 898 807 UFS specifications 2.1. 808 + 899 809 The file is read only. 900 810 901 811 ··· 907 815 to be removed from the physical memory resources pool of 908 816 the particular logical unit. The full information about 909 817 the attribute could be found at UFS specifications 2.1. 818 + 910 819 The file is read only. 911 820 912 821 ··· 917 824 Description: This entry could be used to set or show the UFS device 918 825 runtime power management level. The current driver 919 826 implementation supports 6 levels with next target states: 920 - 0 - an UFS device will stay active, an UIC link will 921 - stay active 922 - 1 - an UFS device will stay active, an UIC link will 923 - hibernate 924 - 2 - an UFS device will moved to sleep, an UIC link will 925 - stay active 926 - 3 - an UFS device will moved to sleep, an UIC link will 927 - hibernate 928 - 4 - an UFS device will be powered off, an UIC link will 929 - hibernate 930 - 5 - an UFS device will be powered off, an UIC link will 931 - be powered off 827 + 828 + == ==================================================== 829 + 0 an UFS device will stay active, an UIC link will 830 + stay active 831 + 1 an UFS device will stay active, an UIC link will 832 + hibernate 833 + 2 an UFS device will moved to sleep, an UIC link will 834 + stay active 835 + 3 an UFS device will moved to sleep, an UIC link will 836 + hibernate 837 + 4 an UFS device will be powered off, an UIC link will 838 + hibernate 839 + 5 an UFS device will be powered off, an UIC link will 840 + be powered off 841 + == ==================================================== 932 842 933 843 What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state 934 844 Date: February 2018 935 845 Contact: Subhash Jadavani <subhashj@codeaurora.org> 936 846 Description: This entry shows the target power mode of an UFS device 937 847 for the chosen runtime power management level. 848 + 938 849 The file is read only. 939 850 940 851 What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state ··· 946 849 Contact: Subhash Jadavani <subhashj@codeaurora.org> 947 850 Description: This entry shows the target state of an UFS UIC link 948 851 for the chosen runtime power management level. 852 + 949 853 The file is read only. 950 854 951 855 What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl ··· 955 857 Description: This entry could be used to set or show the UFS device 956 858 system power management level. The current driver 957 859 implementation supports 6 levels with next target states: 958 - 0 - an UFS device will stay active, an UIC link will 959 - stay active 960 - 1 - an UFS device will stay active, an UIC link will 961 - hibernate 962 - 2 - an UFS device will moved to sleep, an UIC link will 963 - stay active 964 - 3 - an UFS device will moved to sleep, an UIC link will 965 - hibernate 966 - 4 - an UFS device will be powered off, an UIC link will 967 - hibernate 968 - 5 - an UFS device will be powered off, an UIC link will 969 - be powered off 860 + 861 + == ==================================================== 862 + 0 an UFS device will stay active, an UIC link will 863 + stay active 864 + 1 an UFS device will stay active, an UIC link will 865 + hibernate 866 + 2 an UFS device will moved to sleep, an UIC link will 867 + stay active 868 + 3 an UFS device will moved to sleep, an UIC link will 869 + hibernate 870 + 4 an UFS device will be powered off, an UIC link will 871 + hibernate 872 + 5 an UFS device will be powered off, an UIC link will 873 + be powered off 874 + == ==================================================== 970 875 971 876 What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state 972 877 Date: February 2018 973 878 Contact: Subhash Jadavani <subhashj@codeaurora.org> 974 879 Description: This entry shows the target power mode of an UFS device 975 880 for the chosen system power management level. 881 + 976 882 The file is read only. 977 883 978 884 What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state ··· 984 882 Contact: Subhash Jadavani <subhashj@codeaurora.org> 985 883 Description: This entry shows the target state of an UFS UIC link 986 884 for the chosen system power management level. 885 + 987 886 The file is read only. 988 887 989 888 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en 990 889 Date: June 2020 991 890 Contact: Asutosh Das <asutoshd@codeaurora.org> 992 891 Description: This entry shows if preserve user-space was configured 892 + 993 893 The file is read only. 994 894 995 895 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units 996 896 Date: June 2020 997 897 Contact: Asutosh Das <asutoshd@codeaurora.org> 998 898 Description: This entry shows the shared allocated units of WB buffer 899 + 999 900 The file is read only. 1000 901 1001 902 What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type ··· 1006 901 Contact: Asutosh Das <asutoshd@codeaurora.org> 1007 902 Description: This entry shows the configured WB type. 1008 903 0x1 for shared buffer mode. 0x0 for dedicated buffer mode. 904 + 1009 905 The file is read only. 1010 906 1011 907 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj ··· 1016 910 buffer mode. 1017 911 The value of this parameter is 3 for TLC NAND when SLC mode 1018 912 is used as WriteBooster Buffer. 2 for MLC NAND. 913 + 1019 914 The file is read only. 1020 915 1021 916 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units ··· 1024 917 Contact: Asutosh Das <asutoshd@codeaurora.org> 1025 918 Description: This entry shows the Maximum total WriteBooster Buffer size 1026 919 which is supported by the entire device. 920 + 1027 921 The file is read only. 1028 922 1029 923 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns ··· 1032 924 Contact: Asutosh Das <asutoshd@codeaurora.org> 1033 925 Description: This entry shows the maximum number of luns that can support 1034 926 WriteBooster. 927 + 1035 928 The file is read only. 1036 929 1037 930 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type ··· 1046 937 preserve user space type. 1047 938 02h: Device can be configured in either user space 1048 939 reduction type or preserve user space type. 940 + 1049 941 The file is read only. 1050 942 1051 943 What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type 1052 944 Date: June 2020 1053 945 Contact: Asutosh Das <asutoshd@codeaurora.org> 1054 946 Description: The supportability of WriteBooster Buffer type. 1055 - 00h: LU based WriteBooster Buffer configuration 1056 - 01h: Single shared WriteBooster Buffer 1057 - configuration 1058 - 02h: Supporting both LU based WriteBooster 1059 - Buffer and Single shared WriteBooster Buffer 1060 - configuration 947 + 948 + === ========================================================== 949 + 00h LU based WriteBooster Buffer configuration 950 + 01h Single shared WriteBooster Buffer configuration 951 + 02h Supporting both LU based WriteBooster. 952 + Buffer and Single shared WriteBooster Buffer configuration 953 + === ========================================================== 954 + 1061 955 The file is read only. 1062 956 1063 957 What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable 1064 958 Date: June 2020 1065 959 Contact: Asutosh Das <asutoshd@codeaurora.org> 1066 960 Description: This entry shows the status of WriteBooster. 1067 - 0: WriteBooster is not enabled. 1068 - 1: WriteBooster is enabled 961 + 962 + == ============================ 963 + 0 WriteBooster is not enabled. 964 + 1 WriteBooster is enabled 965 + == ============================ 966 + 1069 967 The file is read only. 1070 968 1071 969 What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en 1072 970 Date: June 2020 1073 971 Contact: Asutosh Das <asutoshd@codeaurora.org> 1074 972 Description: This entry shows if flush is enabled. 1075 - 0: Flush operation is not performed. 1076 - 1: Flush operation is performed. 973 + 974 + == ================================= 975 + 0 Flush operation is not performed. 976 + 1 Flush operation is performed. 977 + == ================================= 978 + 1077 979 The file is read only. 1078 980 1079 981 What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 1080 982 Date: June 2020 1081 983 Contact: Asutosh Das <asutoshd@codeaurora.org> 1082 984 Description: Flush WriteBooster Buffer during hibernate state. 1083 - 0: Device is not allowed to flush the 1084 - WriteBooster Buffer during link hibernate 1085 - state. 1086 - 1: Device is allowed to flush the 1087 - WriteBooster Buffer during link hibernate 1088 - state 985 + 986 + == ================================================= 987 + 0 Device is not allowed to flush the 988 + WriteBooster Buffer during link hibernate state. 989 + 1 Device is allowed to flush the 990 + WriteBooster Buffer during link hibernate state. 991 + == ================================================= 992 + 1089 993 The file is read only. 1090 994 1091 995 What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf ··· 1106 984 Contact: Asutosh Das <asutoshd@codeaurora.org> 1107 985 Description: This entry shows the amount of unused WriteBooster buffer 1108 986 available. 987 + 1109 988 The file is read only. 1110 989 1111 990 What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf 1112 991 Date: June 2020 1113 992 Contact: Asutosh Das <asutoshd@codeaurora.org> 1114 993 Description: This entry shows the amount of unused current buffer. 994 + 1115 995 The file is read only. 1116 996 1117 997 What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status 1118 998 Date: June 2020 1119 999 Contact: Asutosh Das <asutoshd@codeaurora.org> 1120 1000 Description: This entry shows the flush operation status. 1121 - 00h: idle 1122 - 01h: Flush operation in progress 1123 - 02h: Flush operation stopped prematurely. 1124 - 03h: Flush operation completed successfully 1125 - 04h: Flush operation general failure 1001 + 1002 + 1003 + === ====================================== 1004 + 00h idle 1005 + 01h Flush operation in progress 1006 + 02h Flush operation stopped prematurely. 1007 + 03h Flush operation completed successfully 1008 + 04h Flush operation general failure 1009 + === ====================================== 1010 + 1126 1011 The file is read only. 1127 1012 1128 1013 What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est ··· 1137 1008 Contact: Asutosh Das <asutoshd@codeaurora.org> 1138 1009 Description: This entry shows an indication of the WriteBooster Buffer 1139 1010 lifetime based on the amount of performed program/erase cycles 1140 - 01h: 0% - 10% WriteBooster Buffer life time used 1011 + 1012 + === ============================================= 1013 + 01h 0% - 10% WriteBooster Buffer life time used 1141 1014 ... 1142 - 0Ah: 90% - 100% WriteBooster Buffer life time used 1015 + 0Ah 90% - 100% WriteBooster Buffer life time used 1016 + === ============================================= 1017 + 1143 1018 The file is read only. 1144 1019 1145 1020 What: /sys/class/scsi_device/*/device/unit_descriptor/wb_buf_alloc_units ··· 1151 1018 Contact: Asutosh Das <asutoshd@codeaurora.org> 1152 1019 Description: This entry shows the configured size of WriteBooster buffer. 1153 1020 0400h corresponds to 4GB. 1021 + 1154 1022 The file is read only.
+3
Documentation/ABI/testing/sysfs-driver-w1_ds28e17
··· 5 5 Description: When written, this file sets the I2C speed on the connected 6 6 DS28E17 chip. When read, it reads the current setting from 7 7 the DS28E17 chip. 8 + 8 9 Valid values: 100, 400, 900 [kBaud]. 10 + 9 11 Default 100, can be set by w1_ds28e17.speed= module parameter. 10 12 Users: w1_ds28e17 driver 11 13 ··· 19 17 the busy timeout for I2C operations on the connected DS28E17 20 18 chip. When read, returns the current setting. 21 19 Valid values: 1 to 9. 20 + 22 21 Default 1, can be set by w1_ds28e17.stretch= module parameter. 23 22 Users: w1_ds28e17 driver
+51 -24
Documentation/ABI/testing/sysfs-driver-w1_therm
··· 22 22 device data to its embedded EEPROM, either restore data 23 23 embedded in device EEPROM. Be aware that devices support 24 24 limited EEPROM writing cycles (typical 50k) 25 + 25 26 * 'save': save device RAM to EEPROM 26 27 * 'restore': restore EEPROM data in device RAM 28 + 27 29 Users: any user space application which wants to communicate with 28 30 w1_term device 29 31 ··· 35 33 Contact: Akira Shimahara <akira215corp@gmail.com> 36 34 Description: 37 35 (RO) return the power status by asking the device 36 + 38 37 * '0': device parasite powered 39 38 * '1': device externally powered 40 39 * '-xx': xx is kernel error when reading power status 40 + 41 41 Users: any user space application which wants to communicate with 42 42 w1_term device 43 43 ··· 53 49 will be changed only in device RAM, so it will be cleared when 54 50 power is lost. Trigger a 'save' to EEPROM command to keep 55 51 values after power-on. Read or write are : 52 + 56 53 * '9..14': device resolution in bit 57 - or resolution to set in bit 54 + or resolution to set in bit 58 55 * '-xx': xx is kernel error when reading the resolution 59 56 * Anything else: do nothing 57 + 60 58 Some DS18B20 clones are fixed in 12-bit resolution, so the 61 59 actual resolution is read back from the chip and verified. Error 62 60 is reported if the results differ. ··· 71 65 Contact: Akira Shimahara <akira215corp@gmail.com> 72 66 Description: 73 67 (RO) return the temperature in 1/1000 degC. 68 + 74 69 * If a bulk read has been triggered, it will directly 75 - return the temperature computed when the bulk read 76 - occurred, if available. If not yet available, nothing 77 - is returned (a debug kernel message is sent), you 78 - should retry later on. 70 + return the temperature computed when the bulk read 71 + occurred, if available. If not yet available, nothing 72 + is returned (a debug kernel message is sent), you 73 + should retry later on. 79 74 * If no bulk read has been triggered, it will trigger 80 - a conversion and send the result. Note that the 81 - conversion duration depend on the resolution (if 82 - device support this feature). It takes 94ms in 9bits 83 - resolution, 750ms for 12bits. 75 + a conversion and send the result. Note that the 76 + conversion duration depend on the resolution (if 77 + device support this feature). It takes 94ms in 9bits 78 + resolution, 750ms for 12bits. 79 + 84 80 Users: any user space application which wants to communicate with 85 81 w1_term device 86 82 ··· 94 86 (RW) return the temperature in 1/1000 degC. 95 87 *read*: return 2 lines with the hexa output data sent on the 96 88 bus, return the CRC check and temperature in 1/1000 degC 97 - *write* : 89 + *write*: 90 + 98 91 * '0' : save the 2 or 3 bytes to the device EEPROM 99 - (i.e. TH, TL and config register) 92 + (i.e. TH, TL and config register) 100 93 * '9..14' : set the device resolution in RAM 101 - (if supported) 94 + (if supported) 102 95 * Anything else: do nothing 96 + 103 97 refer to Documentation/w1/slaves/w1_therm.rst for detailed 104 98 information. 105 99 Users: any user space application which wants to communicate with ··· 113 103 Contact: Akira Shimahara <akira215corp@gmail.com> 114 104 Description: 115 105 (RW) trigger a bulk read conversion. read the status 106 + 116 107 *read*: 117 - * '-1': conversion in progress on at least 1 sensor 118 - * '1' : conversion complete but at least one sensor 108 + * '-1': 109 + conversion in progress on at least 1 sensor 110 + * '1' : 111 + conversion complete but at least one sensor 119 112 value has not been read yet 120 - * '0' : no bulk operation. Reading temperature will 113 + * '0' : 114 + no bulk operation. Reading temperature will 121 115 trigger a conversion on each device 122 - *write*: 'trigger': trigger a bulk read on all supporting 116 + 117 + *write*: 118 + 'trigger': trigger a bulk read on all supporting 123 119 devices on the bus 120 + 124 121 Note that if a bulk read is sent but one sensor is not read 125 122 immediately, the next access to temperature on this device 126 123 will return the temperature measured at the time of issue ··· 145 128 reset to default (datasheet) conversion time for a new 146 129 resolution. 147 130 148 - *read*: Actual conversion time in milliseconds. *write*: 149 - '0': Set the default conversion time from the datasheet. 150 - '1': Measure and set the conversion time. Make a single 131 + *read*: 132 + Actual conversion time in milliseconds. 133 + 134 + *write*: 135 + * '0': 136 + Set the default conversion time from the datasheet. 137 + * '1': 138 + Measure and set the conversion time. Make a single 151 139 temperature conversion, measure an actual value. 152 140 Increase it by 20% for temperature range. A new 153 141 conversion time can be obtained by reading this 154 142 same attribute. 155 - other positive value: 143 + * other positive value: 156 144 Set the conversion time in milliseconds. 157 145 158 146 Users: An application using the w1_term device ··· 170 148 (RW) Control optional driver settings. 171 149 Bit masks to read/write (bitwise OR): 172 150 173 - 1: Enable check for conversion success. If byte 6 of 151 + == ============================================================ 152 + 1 Enable check for conversion success. If byte 6 of 174 153 scratchpad memory is 0xC after conversion, and 175 154 temperature reads 85.00 (powerup value) or 127.94 176 155 (insufficient power) - return a conversion error. 177 156 178 - 2: Enable poll for conversion completion. Generate read cycles 157 + 2 Enable poll for conversion completion. Generate read cycles 179 158 after the conversion start and wait for 1's. In parasite 180 159 power mode this feature is not available. 160 + == ============================================================ 181 161 182 - *read*: Currently selected features. 183 - *write*: Select features. 162 + *read*: 163 + Currently selected features. 164 + 165 + *write*: 166 + Select features. 184 167 185 168 Users: An application using the w1_term device
+3 -1
Documentation/ABI/testing/sysfs-driver-wacom
··· 79 79 When the Wacom Intuos 4 is connected over Bluetooth, the 80 80 image has to contain 256 bytes (64x32 px 1 bit colour). 81 81 The format is also scrambled, like in the USB mode, and it can 82 - be summarized by converting 76543210 into GECA6420. 82 + be summarized by converting:: 83 + 84 + 76543210 into GECA6420. 83 85 HGFEDCBA HFDB7531 84 86 85 87 What: /sys/bus/hid/devices/<bus>:<vid>:<pid>.<n>/wacom_remote/unpair_remote
+108 -97
Documentation/ABI/testing/sysfs-firmware-acpi
··· 12 12 image: The image bitmap. Currently a 32-bit BMP. 13 13 status: 1 if the image is valid, 0 if firmware invalidated it. 14 14 type: 0 indicates image is in BMP format. 15 + 16 + ======== =================================================== 15 17 version: The version of the BGRT. Currently 1. 16 18 xoffset: The number of pixels between the left of the screen 17 19 and the left edge of the image. 18 20 yoffset: The number of pixels between the top of the screen 19 21 and the top edge of the image. 22 + ======== =================================================== 20 23 21 24 What: /sys/firmware/acpi/hotplug/ 22 25 Date: February 2013 ··· 36 33 The following setting is available to user space for each 37 34 hotplug profile: 38 35 36 + ======== ======================================================= 39 37 enabled: If set, the ACPI core will handle notifications of 40 - hotplug events associated with the given class of 41 - devices and will allow those devices to be ejected with 42 - the help of the _EJ0 control method. Unsetting it 43 - effectively disables hotplug for the correspoinding 44 - class of devices. 38 + hotplug events associated with the given class of 39 + devices and will allow those devices to be ejected with 40 + the help of the _EJ0 control method. Unsetting it 41 + effectively disables hotplug for the correspoinding 42 + class of devices. 43 + ======== ======================================================= 45 44 46 45 The value of the above attribute is an integer number: 1 (set) 47 46 or 0 (unset). Attempts to write any other values to it will ··· 76 71 To figure out where all the SCI's are coming from, 77 72 /sys/firmware/acpi/interrupts contains a file listing 78 73 every possible source, and the count of how many 79 - times it has triggered. 74 + times it has triggered:: 80 75 81 - $ cd /sys/firmware/acpi/interrupts 82 - $ grep . * 83 - error: 0 84 - ff_gbl_lock: 0 enable 85 - ff_pmtimer: 0 invalid 86 - ff_pwr_btn: 0 enable 87 - ff_rt_clk: 2 disable 88 - ff_slp_btn: 0 invalid 89 - gpe00: 0 invalid 90 - gpe01: 0 enable 91 - gpe02: 108 enable 92 - gpe03: 0 invalid 93 - gpe04: 0 invalid 94 - gpe05: 0 invalid 95 - gpe06: 0 enable 96 - gpe07: 0 enable 97 - gpe08: 0 invalid 98 - gpe09: 0 invalid 99 - gpe0A: 0 invalid 100 - gpe0B: 0 invalid 101 - gpe0C: 0 invalid 102 - gpe0D: 0 invalid 103 - gpe0E: 0 invalid 104 - gpe0F: 0 invalid 105 - gpe10: 0 invalid 106 - gpe11: 0 invalid 107 - gpe12: 0 invalid 108 - gpe13: 0 invalid 109 - gpe14: 0 invalid 110 - gpe15: 0 invalid 111 - gpe16: 0 invalid 112 - gpe17: 1084 enable 113 - gpe18: 0 enable 114 - gpe19: 0 invalid 115 - gpe1A: 0 invalid 116 - gpe1B: 0 invalid 117 - gpe1C: 0 invalid 118 - gpe1D: 0 invalid 119 - gpe1E: 0 invalid 120 - gpe1F: 0 invalid 121 - gpe_all: 1192 122 - sci: 1194 123 - sci_not: 0 76 + $ cd /sys/firmware/acpi/interrupts 77 + $ grep . * 78 + error: 0 79 + ff_gbl_lock: 0 enable 80 + ff_pmtimer: 0 invalid 81 + ff_pwr_btn: 0 enable 82 + ff_rt_clk: 2 disable 83 + ff_slp_btn: 0 invalid 84 + gpe00: 0 invalid 85 + gpe01: 0 enable 86 + gpe02: 108 enable 87 + gpe03: 0 invalid 88 + gpe04: 0 invalid 89 + gpe05: 0 invalid 90 + gpe06: 0 enable 91 + gpe07: 0 enable 92 + gpe08: 0 invalid 93 + gpe09: 0 invalid 94 + gpe0A: 0 invalid 95 + gpe0B: 0 invalid 96 + gpe0C: 0 invalid 97 + gpe0D: 0 invalid 98 + gpe0E: 0 invalid 99 + gpe0F: 0 invalid 100 + gpe10: 0 invalid 101 + gpe11: 0 invalid 102 + gpe12: 0 invalid 103 + gpe13: 0 invalid 104 + gpe14: 0 invalid 105 + gpe15: 0 invalid 106 + gpe16: 0 invalid 107 + gpe17: 1084 enable 108 + gpe18: 0 enable 109 + gpe19: 0 invalid 110 + gpe1A: 0 invalid 111 + gpe1B: 0 invalid 112 + gpe1C: 0 invalid 113 + gpe1D: 0 invalid 114 + gpe1E: 0 invalid 115 + gpe1F: 0 invalid 116 + gpe_all: 1192 117 + sci: 1194 118 + sci_not: 0 124 119 125 - sci - The number of times the ACPI SCI 126 - has been called and claimed an interrupt. 120 + =========== ================================================== 121 + sci The number of times the ACPI SCI 122 + has been called and claimed an interrupt. 127 123 128 - sci_not - The number of times the ACPI SCI 129 - has been called and NOT claimed an interrupt. 124 + sci_not The number of times the ACPI SCI 125 + has been called and NOT claimed an interrupt. 130 126 131 - gpe_all - count of SCI caused by GPEs. 127 + gpe_all count of SCI caused by GPEs. 132 128 133 - gpeXX - count for individual GPE source 129 + gpeXX count for individual GPE source 134 130 135 - ff_gbl_lock - Global Lock 131 + ff_gbl_lock Global Lock 136 132 137 - ff_pmtimer - PM Timer 133 + ff_pmtimer PM Timer 138 134 139 - ff_pwr_btn - Power Button 135 + ff_pwr_btn Power Button 140 136 141 - ff_rt_clk - Real Time Clock 137 + ff_rt_clk Real Time Clock 142 138 143 - ff_slp_btn - Sleep Button 139 + ff_slp_btn Sleep Button 144 140 145 - error - an interrupt that can't be accounted for above. 141 + error an interrupt that can't be accounted for above. 146 142 147 - invalid: it's either a GPE or a Fixed Event that 148 - doesn't have an event handler. 143 + invalid it's either a GPE or a Fixed Event that 144 + doesn't have an event handler. 149 145 150 - disable: the GPE/Fixed Event is valid but disabled. 146 + disable the GPE/Fixed Event is valid but disabled. 151 147 152 - enable: the GPE/Fixed Event is valid and enabled. 148 + enable the GPE/Fixed Event is valid and enabled. 149 + =========== ================================================== 153 150 154 - Root has permission to clear any of these counters. Eg. 155 - # echo 0 > gpe11 151 + Root has permission to clear any of these counters. Eg.:: 156 152 157 - All counters can be cleared by clearing the total "sci": 158 - # echo 0 > sci 153 + # echo 0 > gpe11 154 + 155 + All counters can be cleared by clearing the total "sci":: 156 + 157 + # echo 0 > sci 159 158 160 159 None of these counters has an effect on the function 161 160 of the system, they are simply statistics. ··· 174 165 175 166 Let's take power button fixed event for example, please kill acpid 176 167 and other user space applications so that the machine won't shutdown 177 - when pressing the power button. 178 - # cat ff_pwr_btn 179 - 0 enabled 180 - # press the power button for 3 times; 181 - # cat ff_pwr_btn 182 - 3 enabled 183 - # echo disable > ff_pwr_btn 184 - # cat ff_pwr_btn 185 - 3 disabled 186 - # press the power button for 3 times; 187 - # cat ff_pwr_btn 188 - 3 disabled 189 - # echo enable > ff_pwr_btn 190 - # cat ff_pwr_btn 191 - 4 enabled 192 - /* 193 - * this is because the status bit is set even if the enable bit is cleared, 194 - * and it triggers an ACPI fixed event when the enable bit is set again 195 - */ 196 - # press the power button for 3 times; 197 - # cat ff_pwr_btn 198 - 7 enabled 199 - # echo disable > ff_pwr_btn 200 - # press the power button for 3 times; 201 - # echo clear > ff_pwr_btn /* clear the status bit */ 202 - # echo disable > ff_pwr_btn 203 - # cat ff_pwr_btn 204 - 7 enabled 168 + when pressing the power button:: 169 + 170 + # cat ff_pwr_btn 171 + 0 enabled 172 + # press the power button for 3 times; 173 + # cat ff_pwr_btn 174 + 3 enabled 175 + # echo disable > ff_pwr_btn 176 + # cat ff_pwr_btn 177 + 3 disabled 178 + # press the power button for 3 times; 179 + # cat ff_pwr_btn 180 + 3 disabled 181 + # echo enable > ff_pwr_btn 182 + # cat ff_pwr_btn 183 + 4 enabled 184 + /* 185 + * this is because the status bit is set even if the enable 186 + * bit is cleared, and it triggers an ACPI fixed event when 187 + * the enable bit is set again 188 + */ 189 + # press the power button for 3 times; 190 + # cat ff_pwr_btn 191 + 7 enabled 192 + # echo disable > ff_pwr_btn 193 + # press the power button for 3 times; 194 + # echo clear > ff_pwr_btn /* clear the status bit */ 195 + # echo disable > ff_pwr_btn 196 + # cat ff_pwr_btn 197 + 7 enabled 205 198
+27 -23
Documentation/ABI/testing/sysfs-firmware-dmi-entries
··· 33 33 doesn't matter), they will be represented in sysfs as 34 34 entries "T-0" through "T-(N-1)": 35 35 36 - Example entry directories: 36 + Example entry directories:: 37 37 38 38 /sys/firmware/dmi/entries/17-0 39 39 /sys/firmware/dmi/entries/17-1 ··· 50 50 Each DMI entry in sysfs has the common header values 51 51 exported as attributes: 52 52 53 - handle : The 16bit 'handle' that is assigned to this 53 + ======== ================================================= 54 + handle The 16bit 'handle' that is assigned to this 54 55 entry by the firmware. This handle may be 55 56 referred to by other entries. 56 - length : The length of the entry, as presented in the 57 + length The length of the entry, as presented in the 57 58 entry itself. Note that this is _not the 58 59 total count of bytes associated with the 59 - entry_. This value represents the length of 60 + entry. This value represents the length of 60 61 the "formatted" portion of the entry. This 61 62 "formatted" region is sometimes followed by 62 63 the "unformatted" region composed of nul 63 64 terminated strings, with termination signalled 64 65 by a two nul characters in series. 65 - raw : The raw bytes of the entry. This includes the 66 + raw The raw bytes of the entry. This includes the 66 67 "formatted" portion of the entry, the 67 68 "unformatted" strings portion of the entry, 68 69 and the two terminating nul characters. 69 - type : The type of the entry. This value is the same 70 + type The type of the entry. This value is the same 70 71 as found in the directory name. It indicates 71 72 how the rest of the entry should be interpreted. 72 - instance: The instance ordinal of the entry for the 73 + instance The instance ordinal of the entry for the 73 74 given type. This value is the same as found 74 75 in the parent directory name. 75 - position: The ordinal position (zero-based) of the entry 76 + position The ordinal position (zero-based) of the entry 76 77 within the entirety of the DMI entry table. 78 + ======== ================================================= 77 79 78 - === Entry Specialization === 80 + **Entry Specialization** 79 81 80 82 Some entry types may have other information available in 81 83 sysfs. Not all types are specialized. 82 84 83 - --- Type 15 - System Event Log --- 85 + **Type 15 - System Event Log** 84 86 85 87 This entry allows the firmware to export a log of 86 88 events the system has taken. This information is 87 89 typically backed by nvram, but the implementation 88 90 details are abstracted by this table. This entry's data 89 - is exported in the directory: 91 + is exported in the directory:: 90 92 91 - /sys/firmware/dmi/entries/15-0/system_event_log 93 + /sys/firmware/dmi/entries/15-0/system_event_log 92 94 93 95 and has the following attributes (documented in the 94 96 SMBIOS / DMI specification under "System Event Log (Type 15)": 95 97 96 - area_length 97 - header_start_offset 98 - data_start_offset 99 - access_method 100 - status 101 - change_token 102 - access_method_address 103 - header_format 104 - per_log_type_descriptor_length 105 - type_descriptors_supported_count 98 + - area_length 99 + - header_start_offset 100 + - data_start_offset 101 + - access_method 102 + - status 103 + - change_token 104 + - access_method_address 105 + - header_format 106 + - per_log_type_descriptor_length 107 + - type_descriptors_supported_count 106 108 107 109 As well, the kernel exports the binary attribute: 108 110 109 - raw_event_log : The raw binary bits of the event log 111 + ============= ==================================== 112 + raw_event_log The raw binary bits of the event log 110 113 as described by the DMI entry. 114 + ============= ====================================
+17 -11
Documentation/ABI/testing/sysfs-firmware-efi-esrt
··· 35 35 Date: February 2015 36 36 Contact: Peter Jones <pjones@redhat.com> 37 37 Description: What kind of firmware entry this is: 38 - 0 - Unknown 39 - 1 - System Firmware 40 - 2 - Device Firmware 41 - 3 - UEFI Driver 38 + 39 + == =============== 40 + 0 Unknown 41 + 1 System Firmware 42 + 2 Device Firmware 43 + 3 UEFI Driver 44 + == =============== 42 45 43 46 What: /sys/firmware/efi/esrt/entries/entry$N/fw_class 44 47 Date: February 2015 ··· 74 71 Contact: Peter Jones <pjones@redhat.com> 75 72 Description: The result of the last firmware update attempt for the 76 73 firmware resource entry. 77 - 0 - Success 78 - 1 - Insufficient resources 79 - 2 - Incorrect version 80 - 3 - Invalid format 81 - 4 - Authentication error 82 - 5 - AC power event 83 - 6 - Battery power event 74 + 75 + == ====================== 76 + 0 Success 77 + 1 Insufficient resources 78 + 2 Incorrect version 79 + 3 Invalid format 80 + 4 Authentication error 81 + 5 AC power event 82 + 6 Battery power event 83 + == ====================== 84 84
+8 -6
Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
··· 14 14 /sys/firmware/efi/runtime-map/ is the directory the kernel 15 15 exports that information in. 16 16 17 - subdirectories are named with the number of the memory range: 17 + subdirectories are named with the number of the memory range:: 18 18 19 19 /sys/firmware/efi/runtime-map/0 20 20 /sys/firmware/efi/runtime-map/1 ··· 24 24 25 25 Each subdirectory contains five files: 26 26 27 - attribute : The attributes of the memory range. 28 - num_pages : The size of the memory range in pages. 29 - phys_addr : The physical address of the memory range. 30 - type : The type of the memory range. 31 - virt_addr : The virtual address of the memory range. 27 + ========= ========================================= 28 + attribute The attributes of the memory range. 29 + num_pages The size of the memory range in pages. 30 + phys_addr The physical address of the memory range. 31 + type The type of the memory range. 32 + virt_addr The virtual address of the memory range. 33 + ========= ========================================= 32 34 33 35 Above values are all hexadecimal numbers with the '0x' prefix. 34 36 Users: Kexec
+1 -1
Documentation/ABI/testing/sysfs-firmware-gsmi
··· 20 20 21 21 This directory has the same layout (and 22 22 underlying implementation as /sys/firmware/efi/vars. 23 - See Documentation/ABI/*/sysfs-firmware-efi-vars 23 + See `Documentation/ABI/*/sysfs-firmware-efi-vars` 24 24 for more information on how to interact with 25 25 this structure. 26 26
+8 -8
Documentation/ABI/testing/sysfs-firmware-memmap
··· 20 20 the raw memory map to userspace. 21 21 22 22 The structure is as follows: Under /sys/firmware/memmap there 23 - are subdirectories with the number of the entry as their name: 23 + are subdirectories with the number of the entry as their name:: 24 24 25 25 /sys/firmware/memmap/0 26 26 /sys/firmware/memmap/1 ··· 34 34 35 35 Each directory contains three files: 36 36 37 - start : The start address (as hexadecimal number with the 37 + ======== ===================================================== 38 + start The start address (as hexadecimal number with the 38 39 '0x' prefix). 39 - end : The end address, inclusive (regardless whether the 40 + end The end address, inclusive (regardless whether the 40 41 firmware provides inclusive or exclusive ranges). 41 - type : Type of the entry as string. See below for a list of 42 + type Type of the entry as string. See below for a list of 42 43 valid types. 44 + ======== ===================================================== 43 45 44 - So, for example: 46 + So, for example:: 45 47 46 48 /sys/firmware/memmap/0/start 47 49 /sys/firmware/memmap/0/end ··· 59 57 - reserved 60 58 61 59 Following shell snippet can be used to display that memory 62 - map in a human-readable format: 60 + map in a human-readable format:: 63 61 64 - -------------------- 8< ---------------------------------------- 65 62 #!/bin/bash 66 63 cd /sys/firmware/memmap 67 64 for dir in * ; do ··· 69 68 type=$(cat $dir/type) 70 69 printf "%016x-%016x (%s)\n" $start $[ $end +1] "$type" 71 70 done 72 - -------------------- >8 ----------------------------------------
+11 -9
Documentation/ABI/testing/sysfs-firmware-qemu_fw_cfg
··· 15 15 to the fw_cfg device can be found in "docs/specs/fw_cfg.txt" 16 16 in the QEMU source tree. 17 17 18 - === SysFS fw_cfg Interface === 18 + **SysFS fw_cfg Interface** 19 19 20 20 The fw_cfg sysfs interface described in this document is only 21 21 intended to display discoverable blobs (i.e., those registered ··· 31 31 32 32 /sys/firmware/qemu_fw_cfg/rev 33 33 34 - --- Discoverable fw_cfg blobs by selector key --- 34 + **Discoverable fw_cfg blobs by selector key** 35 35 36 36 All discoverable blobs listed in the fw_cfg file directory are 37 37 displayed as entries named after their unique selector key ··· 45 45 Each such fw_cfg sysfs entry has the following values exported 46 46 as attributes: 47 47 48 - name : The 56-byte nul-terminated ASCII string used as the 48 + ==== ==================================================== 49 + name The 56-byte nul-terminated ASCII string used as the 49 50 blob's 'file name' in the fw_cfg directory. 50 - size : The length of the blob, as given in the fw_cfg 51 + size The length of the blob, as given in the fw_cfg 51 52 directory. 52 - key : The value of the blob's selector key as given in the 53 + key The value of the blob's selector key as given in the 53 54 fw_cfg directory. This value is the same as used in 54 55 the parent directory name. 55 - raw : The raw bytes of the blob, obtained by selecting the 56 + raw The raw bytes of the blob, obtained by selecting the 56 57 entry via the control register, and reading a number 57 58 of bytes equal to the blob size from the data 58 59 register. 60 + ==== ==================================================== 59 61 60 - --- Listing fw_cfg blobs by file name --- 62 + **Listing fw_cfg blobs by file name** 61 63 62 64 While the fw_cfg device does not impose any specific naming 63 65 convention on the blobs registered in the file directory, 64 66 QEMU developers have traditionally used path name semantics 65 - to give each blob a descriptive name. For example: 67 + to give each blob a descriptive name. For example:: 66 68 67 69 "bootorder" 68 70 "genroms/kvmvapic.bin" ··· 83 81 of directories matching the path name components of fw_cfg 84 82 blob names, ending in symlinks to the by_key entry for each 85 83 "basename", as illustrated below (assume current directory is 86 - /sys/firmware): 84 + /sys/firmware):: 87 85 88 86 qemu_fw_cfg/by_name/bootorder -> ../by_key/38 89 87 qemu_fw_cfg/by_name/etc/e820 -> ../../by_key/35
+3 -3
Documentation/ABI/testing/sysfs-firmware-sfi
··· 9 9 http://simplefirmware.org/documentation 10 10 11 11 While the tables are used by the kernel, user-space 12 - can observe them this way: 12 + can observe them this way:: 13 13 14 - # cd /sys/firmware/sfi/tables 15 - # cat $TABLENAME > $TABLENAME.bin 14 + # cd /sys/firmware/sfi/tables 15 + # cat $TABLENAME > $TABLENAME.bin
+3 -3
Documentation/ABI/testing/sysfs-firmware-sgi_uv
··· 5 5 The /sys/firmware/sgi_uv directory contains information 6 6 about the SGI UV platform. 7 7 8 - Under that directory are a number of files: 8 + Under that directory are a number of files:: 9 9 10 10 partition_id 11 11 coherence_id ··· 14 14 SGI UV systems can be partitioned into multiple physical 15 15 machines, which each partition running a unique copy 16 16 of the operating system. Each partition will have a unique 17 - partition id. To display the partition id, use the command: 17 + partition id. To display the partition id, use the command:: 18 18 19 19 cat /sys/firmware/sgi_uv/partition_id 20 20 ··· 22 22 A partitioned SGI UV system can have one or more coherence 23 23 domain. The coherence id indicates which coherence domain 24 24 this partition is in. To display the coherence id, use the 25 - command: 25 + command:: 26 26 27 27 cat /sys/firmware/sgi_uv/coherence_id
+5 -5
Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm
··· 2 2 Date: August 2019 3 3 KernelVersion: 5.4 4 4 Contact: Marek Behún <marek.behun@nic.cz> 5 - Description: (R) Board version burned into eFuses of this Turris Mox board. 5 + Description: (Read) Board version burned into eFuses of this Turris Mox board. 6 6 Format: %i 7 7 8 8 What: /sys/firmware/turris-mox-rwtm/mac_address* 9 9 Date: August 2019 10 10 KernelVersion: 5.4 11 11 Contact: Marek Behún <marek.behun@nic.cz> 12 - Description: (R) MAC addresses burned into eFuses of this Turris Mox board. 12 + Description: (Read) MAC addresses burned into eFuses of this Turris Mox board. 13 13 Format: %pM 14 14 15 15 What: /sys/firmware/turris-mox-rwtm/pubkey 16 16 Date: August 2019 17 17 KernelVersion: 5.4 18 18 Contact: Marek Behún <marek.behun@nic.cz> 19 - Description: (R) ECDSA public key (in pubkey hex compressed form) computed 19 + Description: (Read) ECDSA public key (in pubkey hex compressed form) computed 20 20 as pair to the ECDSA private key burned into eFuses of this 21 21 Turris Mox Board. 22 22 Format: string ··· 25 25 Date: August 2019 26 26 KernelVersion: 5.4 27 27 Contact: Marek Behún <marek.behun@nic.cz> 28 - Description: (R) RAM size in MiB of this Turris Mox board as was detected 28 + Description: (Read) RAM size in MiB of this Turris Mox board as was detected 29 29 during manufacturing and burned into eFuses. Can be 512 or 1024. 30 30 Format: %i 31 31 ··· 33 33 Date: August 2019 34 34 KernelVersion: 5.4 35 35 Contact: Marek Behún <marek.behun@nic.cz> 36 - Description: (R) Serial number burned into eFuses of this Turris Mox device. 36 + Description: (Read) Serial number burned into eFuses of this Turris Mox device. 37 37 Format: %016X
+2 -2
Documentation/ABI/testing/sysfs-fs-ext4
··· 45 45 parameter will have their blocks allocated out of a 46 46 block group specific preallocation pool, so that small 47 47 files are packed closely together. Each large file 48 - will have its blocks allocated out of its own unique 49 - preallocation pool. 48 + will have its blocks allocated out of its own unique 49 + preallocation pool. 50 50 51 51 What: /sys/fs/ext4/<disk>/inode_readahead_blks 52 52 Date: March 2008
+34 -14
Documentation/ABI/testing/sysfs-fs-f2fs
··· 20 20 Date: July 2013 21 21 Contact: "Namjae Jeon" <namjae.jeon@samsung.com> 22 22 Description: Controls the victim selection policy for garbage collection. 23 - Setting gc_idle = 0(default) will disable this option. Setting 24 - gc_idle = 1 will select the Cost Benefit approach & setting 25 - gc_idle = 2 will select the greedy approach & setting 26 - gc_idle = 3 will select the age-threshold based approach. 23 + Setting gc_idle = 0(default) will disable this option. Setting: 24 + 25 + =========== =============================================== 26 + gc_idle = 1 will select the Cost Benefit approach & setting 27 + gc_idle = 2 will select the greedy approach & setting 28 + gc_idle = 3 will select the age-threshold based approach. 29 + =========== =============================================== 27 30 28 31 What: /sys/fs/f2fs/<disk>/reclaim_segments 29 32 Date: October 2013 ··· 49 46 Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com> 50 47 Description: Controls the in-place-update policy. 51 48 updates in f2fs. User can set: 52 - 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR, 53 - 0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL, 54 - 0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC, 55 - 0x40: F2FS_IPU_NOCACHE. 49 + 50 + ==== ================= 51 + 0x01 F2FS_IPU_FORCE 52 + 0x02 F2FS_IPU_SSR 53 + 0x04 F2FS_IPU_UTIL 54 + 0x08 F2FS_IPU_SSR_UTIL 55 + 0x10 F2FS_IPU_FSYNC 56 + 0x20 F2FS_IPU_ASYNC, 57 + 0x40 F2FS_IPU_NOCACHE 58 + ==== ================= 59 + 56 60 Refer segment.h for details. 57 61 58 62 What: /sys/fs/f2fs/<disk>/min_ipu_util ··· 342 332 Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> 343 333 Description: Give a way to attach REQ_META|FUA to data writes 344 334 given temperature-based bits. Now the bits indicate: 345 - * REQ_META | REQ_FUA | 346 - * 5 | 4 | 3 | 2 | 1 | 0 | 347 - * Cold | Warm | Hot | Cold | Warm | Hot | 335 + 336 + +-------------------+-------------------+ 337 + | REQ_META | REQ_FUA | 338 + +------+------+-----+------+------+-----+ 339 + | 5 | 4 | 3 | 2 | 1 | 0 | 340 + +------+------+-----+------+------+-----+ 341 + | Cold | Warm | Hot | Cold | Warm | Hot | 342 + +------+------+-----+------+------+-----+ 348 343 349 344 What: /sys/fs/f2fs/<disk>/node_io_flag 350 345 Date: June 2020 351 346 Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> 352 347 Description: Give a way to attach REQ_META|FUA to node writes 353 348 given temperature-based bits. Now the bits indicate: 354 - * REQ_META | REQ_FUA | 355 - * 5 | 4 | 3 | 2 | 1 | 0 | 356 - * Cold | Warm | Hot | Cold | Warm | Hot | 349 + 350 + +-------------------+-------------------+ 351 + | REQ_META | REQ_FUA | 352 + +------+------+-----+------+------+-----+ 353 + | 5 | 4 | 3 | 2 | 1 | 0 | 354 + +------+------+-----+------+------+-----+ 355 + | Cold | Warm | Hot | Cold | Warm | Hot | 356 + +------+------+-----+------+------+-----+ 357 357 358 358 What: /sys/fs/f2fs/<disk>/iostat_period_ms 359 359 Date: April 2020
+8 -5
Documentation/ABI/testing/sysfs-hypervisor-xen
··· 15 15 Contact: Boris Ostrovsky <boris.ostrovsky@oracle.com> 16 16 Description: If running under Xen: 17 17 Describes mode that Xen's performance-monitoring unit (PMU) 18 - uses. Accepted values are 19 - "off" -- PMU is disabled 20 - "self" -- The guest can profile itself 21 - "hv" -- The guest can profile itself and, if it is 18 + uses. Accepted values are: 19 + 20 + ====== ============================================ 21 + "off" PMU is disabled 22 + "self" The guest can profile itself 23 + "hv" The guest can profile itself and, if it is 22 24 privileged (e.g. dom0), the hypervisor 23 - "all" -- The guest can profile itself, the hypervisor 25 + "all" The guest can profile itself, the hypervisor 24 26 and all other guests. Only available to 25 27 privileged guests. 28 + ====== ============================================ 26 29 27 30 What: /sys/hypervisor/pmu/pmu_features 28 31 Date: August 2015
+12 -11
Documentation/ABI/testing/sysfs-kernel-boot_params
··· 23 23 representation of setup_data type. "data" file is the binary 24 24 representation of setup_data payload. 25 25 26 - The whole boot_params directory structure is like below: 27 - /sys/kernel/boot_params 28 - |__ data 29 - |__ setup_data 30 - | |__ 0 31 - | | |__ data 32 - | | |__ type 33 - | |__ 1 34 - | |__ data 35 - | |__ type 36 - |__ version 26 + The whole boot_params directory structure is like below:: 27 + 28 + /sys/kernel/boot_params 29 + |__ data 30 + |__ setup_data 31 + | |__ 0 32 + | | |__ data 33 + | | |__ type 34 + | |__ 1 35 + | |__ data 36 + | |__ type 37 + |__ version 37 38 38 39 Users: Kexec
+7 -5
Documentation/ABI/testing/sysfs-kernel-mm-hugepages
··· 7 7 of the hugepages supported by the kernel/CPU combination. 8 8 9 9 Under these directories are a number of files: 10 - nr_hugepages 11 - nr_overcommit_hugepages 12 - free_hugepages 13 - surplus_hugepages 14 - resv_hugepages 10 + 11 + - nr_hugepages 12 + - nr_overcommit_hugepages 13 + - free_hugepages 14 + - surplus_hugepages 15 + - resv_hugepages 16 + 15 17 See Documentation/admin-guide/mm/hugetlbpage.rst for details.
+3 -2
Documentation/ABI/testing/sysfs-kernel-mm-ksm
··· 34 34 in a tree. 35 35 36 36 run: write 0 to disable ksm, read 0 while ksm is disabled. 37 - write 1 to run ksm, read 1 while ksm is running. 38 - write 2 to disable ksm and unmerge all its pages. 37 + 38 + - write 1 to run ksm, read 1 while ksm is running. 39 + - write 2 to disable ksm and unmerge all its pages. 39 40 40 41 sleep_millisecs: how many milliseconds ksm should sleep between 41 42 scans.
+3
Documentation/ABI/testing/sysfs-kernel-slab
··· 346 346 number of objects per slab. If a slab cannot be allocated 347 347 because of fragmentation, SLUB will retry with the minimum order 348 348 possible depending on its characteristics. 349 + 349 350 When debug_guardpage_minorder=N (N > 0) parameter is specified 350 351 (see Documentation/admin-guide/kernel-parameters.rst), the minimum possible 351 352 order is used and this sysfs entry can not be used to change ··· 362 361 new slab has not been possible at the cache's order and instead 363 362 fallen back to its minimum possible order. It can be written to 364 363 clear the current count. 364 + 365 365 Available when CONFIG_SLUB_STATS is enabled. 366 366 367 367 What: /sys/kernel/slab/cache/partial ··· 412 410 slab from a remote node as opposed to allocating a new slab on 413 411 the local node. This reduces the amount of wasted memory over 414 412 the entire system but can be expensive. 413 + 415 414 Available when CONFIG_NUMA is enabled. 416 415 417 416 What: /sys/kernel/slab/cache/sanity_checks
+10 -7
Documentation/ABI/testing/sysfs-module
··· 17 17 Contact: Kirill Smelkov <kirr@mns.spb.ru> 18 18 Description: Maximum time allowed for periodic transfers per microframe (μs) 19 19 20 - [ USB 2.0 sets maximum allowed time for periodic transfers per 20 + Note: 21 + USB 2.0 sets maximum allowed time for periodic transfers per 21 22 microframe to be 80%, that is 100 microseconds out of 125 22 23 microseconds (full microframe). 23 24 24 25 However there are cases, when 80% max isochronous bandwidth is 25 26 too limiting. For example two video streams could require 110 26 27 microseconds of isochronous bandwidth per microframe to work 27 - together. ] 28 + together. 28 29 29 30 Through this setting it is possible to raise the limit so that 30 31 the host controller would allow allocating more than 100 ··· 46 45 KernelVersion:»·3.3 47 46 Contact: Kay Sievers <kay.sievers@vrfy.org> 48 47 Description: Module taint flags: 49 - P - proprietary module 50 - O - out-of-tree module 51 - F - force-loaded module 52 - C - staging driver module 53 - E - unsigned module 48 + == ===================== 49 + P proprietary module 50 + O out-of-tree module 51 + F force-loaded module 52 + C staging driver module 53 + E unsigned module 54 + == =====================
+13 -8
Documentation/ABI/testing/sysfs-platform-asus-laptop
··· 4 4 Contact: "Corentin Chary" <corentincj@iksaif.net> 5 5 Description: 6 6 This file allows display switching. The value 7 - is composed by 4 bits and defined as follow: 8 - 4321 9 - |||`- LCD 10 - ||`-- CRT 11 - |`--- TV 12 - `---- DVI 13 - Ex: - 0 (0000b) means no display 7 + is composed by 4 bits and defined as follow:: 8 + 9 + 4321 10 + |||`- LCD 11 + ||`-- CRT 12 + |`--- TV 13 + `---- DVI 14 + 15 + Ex: 16 + - 0 (0000b) means no display 14 17 - 3 (0011b) CRT+LCD. 15 18 16 19 What: /sys/devices/platform/asus_laptop/gps ··· 31 28 Description: 32 29 Some models like the W1N have a LED display that can be 33 30 used to display several items of information. 34 - To control the LED display, use the following : 31 + To control the LED display, use the following:: 32 + 35 33 echo 0x0T000DDD > /sys/devices/platform/asus_laptop/ 34 + 36 35 where T control the 3 letters display, and DDD the 3 digits display. 37 36 The DDD table can be found in Documentation/admin-guide/laptops/asus-laptop.rst 38 37
+1
Documentation/ABI/testing/sysfs-platform-asus-wmi
··· 5 5 Description: 6 6 Change CPU clock configuration (write-only). 7 7 There are three available clock configuration: 8 + 8 9 * 0 -> Super Performance Mode 9 10 * 1 -> High Performance Mode 10 11 * 2 -> Power Saving Mode
+6 -4
Documentation/ABI/testing/sysfs-platform-at91
··· 18 18 In order to use an extended can_id add the 19 19 CAN_EFF_FLAG (0x80000000U) to the can_id. Example: 20 20 21 - - standard id 0x7ff: 22 - echo 0x7ff > /sys/class/net/can0/mb0_id 21 + - standard id 0x7ff:: 23 22 24 - - extended id 0x1fffffff: 25 - echo 0x9fffffff > /sys/class/net/can0/mb0_id 23 + echo 0x7ff > /sys/class/net/can0/mb0_id 24 + 25 + - extended id 0x1fffffff:: 26 + 27 + echo 0x9fffffff > /sys/class/net/can0/mb0_id
+7 -3
Documentation/ABI/testing/sysfs-platform-dell-laptop
··· 34 34 this file. To disable a trigger, write its name preceded 35 35 by '-' instead. 36 36 37 - For example, to enable the keyboard as trigger run: 37 + For example, to enable the keyboard as trigger run:: 38 + 38 39 echo +keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers 39 - To disable it: 40 + 41 + To disable it:: 42 + 40 43 echo -keyboard > /sys/class/leds/dell::kbd_backlight/start_triggers 41 44 42 45 Note that not all the available triggers can be configured. ··· 60 57 with any the above units. If no unit is specified, the value 61 58 is assumed to be expressed in seconds. 62 59 63 - For example, to set the timeout to 10 minutes run: 60 + For example, to set the timeout to 10 minutes run:: 61 + 64 62 echo 10m > /sys/class/leds/dell::kbd_backlight/stop_timeout 65 63 66 64 Note that when this file is read, the returned value might be
+2 -2
Documentation/ABI/testing/sysfs-platform-dell-smbios
··· 13 13 For example the token ID "5" would be available 14 14 as the following attributes: 15 15 16 - 0005_location 17 - 0005_value 16 + - 0005_location 17 + - 0005_value 18 18 19 19 Tokens will vary from machine to machine, and 20 20 only tokens available on that machine will be
+10 -4
Documentation/ABI/testing/sysfs-platform-dfl-fme
··· 113 113 Contact: Wu Hao <hao.wu@intel.com> 114 114 Description: Read-Only. Read this file to get the name of hwmon device, it 115 115 supports values: 116 - 'dfl_fme_thermal' - thermal hwmon device name 117 - 'dfl_fme_power' - power hwmon device name 116 + 117 + ================= ========================= 118 + 'dfl_fme_thermal' thermal hwmon device name 119 + 'dfl_fme_power' power hwmon device name 120 + ================= ========================= 118 121 119 122 What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input 120 123 Date: October 2019 ··· 172 169 Contact: Wu Hao <hao.wu@intel.com> 173 170 Description: Read-Only. Read this file to get the policy of hardware threshold1 174 171 (see 'temp1_max'). It only supports two values (policies): 175 - 0 - AP2 state (90% throttling) 176 - 1 - AP1 state (50% throttling) 172 + 173 + == ========================== 174 + 0 AP2 state (90% throttling) 175 + 1 AP1 state (50% throttling) 176 + == ========================== 177 177 178 178 What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input 179 179 Date: October 2019
+7 -4
Documentation/ABI/testing/sysfs-platform-dptf
··· 27 27 Contact: linux-acpi@vger.kernel.org 28 28 Description: 29 29 (RO) Display the platform power source 30 + 31 + ========= ============================ 30 32 bits[3:0] Current power source 31 - 0x00 = DC 32 - 0x01 = AC 33 - 0x02 = USB 34 - 0x03 = Wireless Charger 33 + - 0x00 = DC 34 + - 0x01 = AC 35 + - 0x02 = USB 36 + - 0x03 = Wireless Charger 35 37 bits[7:4] Power source sequence number 38 + ========= ============================ 36 39 37 40 What: /sys/bus/platform/devices/INT3407:00/dptf_power/battery_steady_power 38 41 Date: Jul, 2016
+10 -4
Documentation/ABI/testing/sysfs-platform-eeepc-laptop
··· 4 4 Contact: "Corentin Chary" <corentincj@iksaif.net> 5 5 Description: 6 6 This file allows display switching. 7 + 7 8 - 1 = LCD 8 9 - 2 = CRT 9 10 - 3 = LCD+CRT 11 + 10 12 If you run X11, you should use xrandr instead. 11 13 12 14 What: /sys/devices/platform/eeepc/camera ··· 32 30 Description: 33 31 Change CPU clock configuration. 34 32 On the Eee PC 1000H there are three available clock configuration: 33 + 35 34 * 0 -> Super Performance Mode 36 35 * 1 -> High Performance Mode 37 36 * 2 -> Power Saving Mode 37 + 38 38 On Eee PC 701 there is only 2 available clock configurations. 39 39 Available configuration are listed in available_cpufv file. 40 40 Reading this file will show the raw hexadecimal value which 41 - is defined as follow: 42 - | 8 bit | 8 bit | 43 - | `---- Current mode 44 - `------------ Availables modes 41 + is defined as follow:: 42 + 43 + | 8 bit | 8 bit | 44 + | `---- Current mode 45 + `------------ Availables modes 46 + 45 47 For example, 0x301 means: mode 1 selected, 3 available modes. 46 48 47 49 What: /sys/devices/platform/eeepc/available_cpufv
+2 -2
Documentation/ABI/testing/sysfs-platform-i2c-demux-pinctrl
··· 5 5 Description: 6 6 Reading the file will give you a list of masters which can be 7 7 selected for a demultiplexed bus. The format is 8 - "<index>:<name>". Example from a Renesas Lager board: 8 + "<index>:<name>". Example from a Renesas Lager board:: 9 9 10 - 0:/i2c@e6500000 1:/i2c@e6508000 10 + 0:/i2c@e6500000 1:/i2c@e6508000 11 11 12 12 What: /sys/devices/platform/<i2c-demux-name>/current_master 13 13 Date: January 2016
+6 -3
Documentation/ABI/testing/sysfs-platform-ideapad-laptop
··· 12 12 Description: 13 13 Change fan mode 14 14 There are four available modes: 15 + 15 16 * 0 -> Super Silent Mode 16 17 * 1 -> Standard Mode 17 18 * 2 -> Dust Cleaning ··· 33 32 Contact: "Oleg Keri <ezhi99@gmail.com>" 34 33 Description: 35 34 Control fn-lock mode. 35 + 36 36 * 1 -> Switched On 37 37 * 0 -> Switched Off 38 38 39 - For example: 40 - # echo "0" > \ 41 - /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock 39 + For example:: 40 + 41 + # echo "0" > \ 42 + /sys/bus/pci/devices/0000:00:1f.0/PNP0C09:00/VPC2004:00/fn_lock
+1
Documentation/ABI/testing/sysfs-platform-intel-wmi-sbl-fw-update
··· 8 8 of 0 and userspace can signal SBL to update firmware, 9 9 on next reboot, by writing a value of 1. 10 10 There are two available states: 11 + 11 12 * 0 -> Skip firmware update while rebooting 12 13 * 1 -> Attempt firmware update on next reboot
+1
Documentation/ABI/testing/sysfs-platform-intel-wmi-thunderbolt
··· 7 7 Thunderbolt controllers to turn on or off when no 8 8 devices are connected (write-only) 9 9 There are two available states: 10 + 10 11 * 0 -> Force power disabled 11 12 * 1 -> Force power enabled
+1
Documentation/ABI/testing/sysfs-platform-kim
··· 5 5 Description: 6 6 Name of the UART device at which the WL128x chip 7 7 is connected. example: "/dev/ttyS0". 8 + 8 9 The device name flows down to architecture specific board 9 10 initialization file from the SFI/ATAGS bootloader 10 11 firmware. The name exposed is read from the user-space
+31 -19
Documentation/ABI/testing/sysfs-platform-mellanox-bootctl
··· 5 5 Description: 6 6 The Life-cycle state of the SoC, which could be one of the 7 7 following values. 8 - Production - Production state and can be updated to secure 9 - GA Secured - Secure chip and not able to change state 10 - GA Non-Secured - Non-Secure chip and not able to change state 11 - RMA - Return Merchandise Authorization 8 + 9 + ============== ============================================= 10 + Production Production state and can be updated to secure 11 + GA Secured Secure chip and not able to change state 12 + GA Non-Secured Non-Secure chip and not able to change state 13 + RMA Return Merchandise Authorization 14 + ============== ============================================= 12 15 13 16 What: /sys/bus/platform/devices/MLNXBF04:00/post_reset_wdog 14 17 Date: Oct 2019 ··· 28 25 Contact: "Liming Sun <lsun@mellanox.com>" 29 26 Description: 30 27 The source of the boot stream for the next reset. It could be 31 - one of the following values. 32 - external - boot from external source (USB or PCIe) 33 - emmc - boot from the onchip eMMC 34 - emmc_legacy - boot from the onchip eMMC in legacy (slow) mode 28 + one of the following values: 29 + 30 + =========== =============================================== 31 + external boot from external source (USB or PCIe) 32 + emmc boot from the onchip eMMC 33 + emmc_legacy boot from the onchip eMMC in legacy (slow) mode 34 + =========== =============================================== 35 35 36 36 What: /sys/bus/platform/devices/MLNXBF04:00/second_reset_action 37 37 Date: Oct 2019 ··· 44 38 Update the source of the boot stream after next reset. It could 45 39 be one of the following values and will be applied after next 46 40 reset. 47 - external - boot from external source (USB or PCIe) 48 - emmc - boot from the onchip eMMC 49 - emmc_legacy - boot from the onchip eMMC in legacy (slow) mode 50 - swap_emmc - swap the primary / secondary boot partition 51 - none - cancel the action 41 + 42 + =========== =============================================== 43 + external boot from external source (USB or PCIe) 44 + emmc boot from the onchip eMMC 45 + emmc_legacy boot from the onchip eMMC in legacy (slow) mode 46 + swap_emmc swap the primary / secondary boot partition 47 + none cancel the action 48 + =========== =============================================== 52 49 53 50 What: /sys/bus/platform/devices/MLNXBF04:00/secure_boot_fuse_state 54 51 Date: Oct 2019 ··· 59 50 Contact: "Liming Sun <lsun@mellanox.com>" 60 51 Description: 61 52 The state of eFuse versions with the following values. 62 - InUse - burnt, valid and currently in use 63 - Used - burnt and valid 64 - Free - not burnt and free to use 65 - Skipped - not burnt but not free (skipped) 66 - Wasted - burnt and invalid 67 - Invalid - not burnt but marked as valid (error state). 53 + 54 + ======= =============================================== 55 + InUse burnt, valid and currently in use 56 + Used burnt and valid 57 + Free not burnt and free to use 58 + Skipped not burnt but not free (skipped) 59 + Wasted burnt and invalid 60 + Invalid not burnt but marked as valid (error state). 61 + ======= ===============================================
+6 -4
Documentation/ABI/testing/sysfs-platform-phy-rcar-gen3-usb2
··· 7 7 The file can show/change the phy mode for role swap of usb. 8 8 9 9 Write the following strings to change the mode: 10 - "host" - switching mode from peripheral to host. 11 - "peripheral" - switching mode from host to peripheral. 10 + 11 + - "host" - switching mode from peripheral to host. 12 + - "peripheral" - switching mode from host to peripheral. 12 13 13 14 Read the file, then it shows the following strings: 14 - "host" - The mode is host now. 15 - "peripheral" - The mode is peripheral now. 15 + 16 + - "host" - The mode is host now. 17 + - "peripheral" - The mode is peripheral now.
+6 -4
Documentation/ABI/testing/sysfs-platform-renesas_usb3
··· 7 7 The file can show/change the drd mode of usb. 8 8 9 9 Write the following string to change the mode: 10 - "host" - switching mode from peripheral to host. 11 - "peripheral" - switching mode from host to peripheral. 10 + 11 + - "host" - switching mode from peripheral to host. 12 + - "peripheral" - switching mode from host to peripheral. 12 13 13 14 Read the file, then it shows the following strings: 14 - "host" - The mode is host now. 15 - "peripheral" - The mode is peripheral now. 15 + 16 + - "host" - The mode is host now. 17 + - "peripheral" - The mode is peripheral now.
+11 -2
Documentation/ABI/testing/sysfs-platform-sst-atom
··· 5 5 Description: 6 6 LPE Firmware version for SST driver on all atom 7 7 plaforms (BYT/CHT/Merrifield/BSW). 8 - If the FW has never been loaded it will display: 8 + If the FW has never been loaded it will display:: 9 + 9 10 "FW not yet loaded" 10 - If FW has been loaded it will display: 11 + 12 + If FW has been loaded it will display:: 13 + 11 14 "v01.aa.bb.cc" 15 + 12 16 aa: Major version is reflecting SoC version: 17 + 18 + === ============= 13 19 0d: BYT FW 14 20 0b: BSW FW 15 21 07: Merrifield FW 22 + === ============= 23 + 16 24 bb: Minor version 25 + 17 26 cc: Build version
+7 -4
Documentation/ABI/testing/sysfs-platform-usbip-vudc
··· 16 16 Description: 17 17 Current status of the device. 18 18 Allowed values: 19 - 1 - Device is available and can be exported 20 - 2 - Device is currently exported 21 - 3 - Fatal error occurred during communication 22 - with peer 19 + 20 + == ========================================== 21 + 1 Device is available and can be exported 22 + 2 Device is currently exported 23 + 3 Fatal error occurred during communication 24 + with peer 25 + == ========================================== 23 26 24 27 What: /sys/devices/platform/usbip-vudc.%d/usbip_sockfd 25 28 Date: April 2016
+1
Documentation/ABI/testing/sysfs-platform-wilco-ec
··· 39 39 which affects charging via the special USB PowerShare port 40 40 (marked with a small lightning bolt or battery icon) when in 41 41 low power states: 42 + 42 43 - In S0, the port will always provide power. 43 44 - In S0ix, if usb_charge is enabled, then power will be 44 45 supplied to the port when on AC or if battery is > 50%.
+13 -8
Documentation/ABI/testing/sysfs-power
··· 47 47 suspend-to-disk mechanism. Reading from this file returns 48 48 the name of the method by which the system will be put to 49 49 sleep on the next suspend. There are four methods supported: 50 + 50 51 'firmware' - means that the memory image will be saved to disk 51 52 by some firmware, in which case we also assume that the 52 53 firmware will handle the system suspend. 54 + 53 55 'platform' - the memory image will be saved by the kernel and 54 56 the system will be put to sleep by the platform driver (e.g. 55 57 ACPI or other PM registers). 58 + 56 59 'shutdown' - the memory image will be saved by the kernel and 57 60 the system will be powered off. 61 + 58 62 'reboot' - the memory image will be saved by the kernel and 59 63 the system will be rebooted. 60 64 ··· 78 74 The suspend-to-disk method may be chosen by writing to this 79 75 file one of the accepted strings: 80 76 81 - 'firmware' 82 - 'platform' 83 - 'shutdown' 84 - 'reboot' 85 - 'testproc' 86 - 'test' 77 + - 'firmware' 78 + - 'platform' 79 + - 'shutdown' 80 + - 'reboot' 81 + - 'testproc' 82 + - 'test' 87 83 88 84 It will only change to 'firmware' or 'platform' if the system 89 85 supports that. ··· 118 114 string representing a nonzero integer into it. 119 115 120 116 To use this debugging feature you should attempt to suspend 121 - the machine, then reboot it and run 117 + the machine, then reboot it and run:: 122 118 123 - dmesg -s 1000000 | grep 'hash matches' 119 + dmesg -s 1000000 | grep 'hash matches' 124 120 125 121 If you do not get any matches (or they appear to be false 126 122 positives), it is possible that the last PM event point ··· 248 244 wakeup sources created with the help of /sys/power/wake_lock. 249 245 When a string is written to /sys/power/wake_unlock, it will be 250 246 assumed to represent the name of a wakeup source to deactivate. 247 + 251 248 If a wakeup source object of that name exists and is active at 252 249 the moment, it will be deactivated. 253 250
+1 -1
Documentation/ABI/testing/sysfs-profiling
··· 5 5 /sys/kernel/profiling is the runtime equivalent 6 6 of the boot-time profile= option. 7 7 8 - You can get the same effect running: 8 + You can get the same effect running:: 9 9 10 10 echo 2 > /sys/kernel/profiling 11 11
+1 -1
Documentation/ABI/testing/sysfs-ptp
··· 69 69 pin offered by the PTP hardware clock. The file name 70 70 is the hardware dependent pin name. Reading from this 71 71 file produces two numbers, the assigned function (see 72 - the PTP_PF_ enumeration values in linux/ptp_clock.h) 72 + the `PTP_PF_` enumeration values in linux/ptp_clock.h) 73 73 and the channel number. The function and channel 74 74 assignment may be changed by two writing numbers into 75 75 the file.
+16 -12
Documentation/ABI/testing/sysfs-uevent
··· 6 6 Enable passing additional variables for synthetic uevents that 7 7 are generated by writing /sys/.../uevent file. 8 8 9 - Recognized extended format is ACTION [UUID [KEY=VALUE ...]. 9 + Recognized extended format is:: 10 10 11 - The ACTION is compulsory - it is the name of the uevent action 12 - ("add", "change", "remove"). There is no change compared to 13 - previous functionality here. The rest of the extended format 14 - is optional. 11 + ACTION [UUID [KEY=VALUE ...] 12 + 13 + The ACTION is compulsory - it is the name of the uevent 14 + action (``add``, ``change``, ``remove``). There is no change 15 + compared to previous functionality here. The rest of the 16 + extended format is optional. 15 17 16 18 You need to pass UUID first before any KEY=VALUE pairs. 17 - The UUID must be in "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 19 + The UUID must be in ``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`` 18 20 format where 'x' is a hex digit. The UUID is considered to be 19 21 a transaction identifier so it's possible to use the same UUID 20 22 value for one or more synthetic uevents in which case we 21 23 logically group these uevents together for any userspace 22 24 listeners. The UUID value appears in uevent as 23 - "SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" environment 25 + ``SYNTH_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`` environment 24 26 variable. 25 27 26 28 If UUID is not passed in, the generated synthetic uevent gains 27 - "SYNTH_UUID=0" environment variable automatically. 29 + ``SYNTH_UUID=0`` environment variable automatically. 28 30 29 31 The KEY=VALUE pairs can contain alphanumeric characters only. 32 + 30 33 It's possible to define zero or more pairs - each pair is then 31 34 delimited by a space character ' '. Each pair appears in 32 - synthetic uevent as "SYNTH_ARG_KEY=VALUE". That means the KEY 33 - name gains "SYNTH_ARG_" prefix to avoid possible collisions 35 + synthetic uevent as ``SYNTH_ARG_KEY=VALUE``. That means the KEY 36 + name gains ``SYNTH_ARG_`` prefix to avoid possible collisions 34 37 with existing variables. 35 38 36 - Example of valid sequence written to the uevent file: 39 + Example of valid sequence written to the uevent file:: 37 40 38 41 add fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed A=1 B=abc 39 42 40 - This generates synthetic uevent including these variables: 43 + This generates synthetic uevent including these variables:: 41 44 42 45 ACTION=add 43 46 SYNTH_ARG_A=1 44 47 SYNTH_ARG_B=abc 45 48 SYNTH_UUID=fe4d7c9d-b8c6-4a70-9ef1-3d8a58d18eed 49 + 46 50 Users: 47 51 udev, userspace tools generating synthetic uevents
+2 -1
Documentation/ABI/testing/sysfs-wusb_cbaf
··· 45 45 7. Device is unplugged. 46 46 47 47 References: 48 - [WUSB-AM] Association Models Supplement to the 48 + [WUSB-AM] 49 + Association Models Supplement to the 49 50 Certified Wireless Universal Serial Bus 50 51 Specification, version 1.0. 51 52
+45 -37
Documentation/ABI/testing/usb-charger-uevent
··· 3 3 KernelVersion: 5.6 4 4 Contact: linux-usb@vger.kernel.org 5 5 Description: There are two USB charger states: 6 - USB_CHARGER_ABSENT 7 - USB_CHARGER_PRESENT 6 + 7 + - USB_CHARGER_ABSENT 8 + - USB_CHARGER_PRESENT 9 + 8 10 There are five USB charger types: 9 - USB_CHARGER_UNKNOWN_TYPE: Charger type is unknown 10 - USB_CHARGER_SDP_TYPE: Standard Downstream Port 11 - USB_CHARGER_CDP_TYPE: Charging Downstream Port 12 - USB_CHARGER_DCP_TYPE: Dedicated Charging Port 13 - USB_CHARGER_ACA_TYPE: Accessory Charging Adapter 11 + 12 + ======================== ========================== 13 + USB_CHARGER_UNKNOWN_TYPE Charger type is unknown 14 + USB_CHARGER_SDP_TYPE Standard Downstream Port 15 + USB_CHARGER_CDP_TYPE Charging Downstream Port 16 + USB_CHARGER_DCP_TYPE Dedicated Charging Port 17 + USB_CHARGER_ACA_TYPE Accessory Charging Adapter 18 + ======================== ========================== 19 + 14 20 https://www.usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement 15 21 16 - Here are two examples taken using udevadm monitor -p when 17 - USB charger is online: 18 - UDEV change /devices/soc0/usbphynop1 (platform) 19 - ACTION=change 20 - DEVPATH=/devices/soc0/usbphynop1 21 - DRIVER=usb_phy_generic 22 - MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv 23 - OF_COMPATIBLE_0=usb-nop-xceiv 24 - OF_COMPATIBLE_N=1 25 - OF_FULLNAME=/usbphynop1 26 - OF_NAME=usbphynop1 27 - SEQNUM=2493 28 - SUBSYSTEM=platform 29 - USB_CHARGER_STATE=USB_CHARGER_PRESENT 30 - USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE 31 - USEC_INITIALIZED=227422826 22 + Here are two examples taken using ``udevadm monitor -p`` when 23 + USB charger is online:: 32 24 33 - USB charger is offline: 34 - KERNEL change /devices/soc0/usbphynop1 (platform) 35 - ACTION=change 36 - DEVPATH=/devices/soc0/usbphynop1 37 - DRIVER=usb_phy_generic 38 - MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv 39 - OF_COMPATIBLE_0=usb-nop-xceiv 40 - OF_COMPATIBLE_N=1 41 - OF_FULLNAME=/usbphynop1 42 - OF_NAME=usbphynop1 43 - SEQNUM=2494 44 - SUBSYSTEM=platform 45 - USB_CHARGER_STATE=USB_CHARGER_ABSENT 46 - USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE 25 + UDEV change /devices/soc0/usbphynop1 (platform) 26 + ACTION=change 27 + DEVPATH=/devices/soc0/usbphynop1 28 + DRIVER=usb_phy_generic 29 + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv 30 + OF_COMPATIBLE_0=usb-nop-xceiv 31 + OF_COMPATIBLE_N=1 32 + OF_FULLNAME=/usbphynop1 33 + OF_NAME=usbphynop1 34 + SEQNUM=2493 35 + SUBSYSTEM=platform 36 + USB_CHARGER_STATE=USB_CHARGER_PRESENT 37 + USB_CHARGER_TYPE=USB_CHARGER_SDP_TYPE 38 + USEC_INITIALIZED=227422826 39 + 40 + USB charger is offline:: 41 + 42 + KERNEL change /devices/soc0/usbphynop1 (platform) 43 + ACTION=change 44 + DEVPATH=/devices/soc0/usbphynop1 45 + DRIVER=usb_phy_generic 46 + MODALIAS=of:Nusbphynop1T(null)Cusb-nop-xceiv 47 + OF_COMPATIBLE_0=usb-nop-xceiv 48 + OF_COMPATIBLE_N=1 49 + OF_FULLNAME=/usbphynop1 50 + OF_NAME=usbphynop1 51 + SEQNUM=2494 52 + SUBSYSTEM=platform 53 + USB_CHARGER_STATE=USB_CHARGER_ABSENT 54 + USB_CHARGER_TYPE=USB_CHARGER_UNKNOWN_TYPE
+16 -16
Documentation/ABI/testing/usb-uevent
··· 6 6 longer functional a uevent will be raised. The uevent will 7 7 contain ACTION=offline and ERROR=DEAD. 8 8 9 - Here is an example taken using udevadm monitor -p: 9 + Here is an example taken using udevadm monitor -p:: 10 10 11 - KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) 12 - ACTION=offline 13 - BUSNUM=002 14 - DEVNAME=/dev/bus/usb/002/001 15 - DEVNUM=001 16 - DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 17 - DEVTYPE=usb_device 18 - DRIVER=usb 19 - ERROR=DEAD 20 - MAJOR=189 21 - MINOR=128 22 - PRODUCT=1d6b/2/414 23 - SEQNUM=2168 24 - SUBSYSTEM=usb 25 - TYPE=9/0/1 11 + KERNEL[130.428945] offline /devices/pci0000:00/0000:00:10.0/usb2 (usb) 12 + ACTION=offline 13 + BUSNUM=002 14 + DEVNAME=/dev/bus/usb/002/001 15 + DEVNUM=001 16 + DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2 17 + DEVTYPE=usb_device 18 + DRIVER=usb 19 + ERROR=DEAD 20 + MAJOR=189 21 + MINOR=128 22 + PRODUCT=1d6b/2/414 23 + SEQNUM=2168 24 + SUBSYSTEM=usb 25 + TYPE=9/0/1 26 26 27 27 Users: chromium-os-dev@chromium.org
+10
Documentation/Kconfig
··· 10 10 11 11 If unsure, select 'N'. 12 12 13 + config WARN_ABI_ERRORS 14 + bool "Warn if there are errors at ABI files" 15 + depends on COMPILE_TEST 16 + help 17 + The files under Documentation/ABI should follow what's 18 + described at Documentation/ABI/README. Yet, as they're manually 19 + written, it would be possible that some of those files would 20 + have errors that would break them for being parsed by 21 + scripts/get_abi.pl. Add a check to verify them. 13 22 23 + If unsure, select 'N'.
+5
Documentation/Makefile
··· 10 10 $(shell $(srctree)/scripts/documentation-file-ref-check --warn) 11 11 endif 12 12 13 + # Check for broken ABI files 14 + ifeq ($(CONFIG_WARN_ABI_ERRORS),y) 15 + $(shell $(srctree)/scripts/get_abi.pl validate --dir $(srctree)/Documentation/ABI) 16 + endif 17 + 13 18 # You can set these variables from the command line. 14 19 SPHINXBUILD = sphinx-build 15 20 SPHINXOPTS =
+11
Documentation/admin-guide/abi-obsolete.rst
··· 1 + ABI obsolete symbols 2 + ==================== 3 + 4 + Documents interfaces that are still remaining in the kernel, but are 5 + marked to be removed at some later point in time. 6 + 7 + The description of the interface will document the reason why it is 8 + obsolete and when it can be expected to be removed. 9 + 10 + .. kernel-abi:: $srctree/Documentation/ABI/obsolete 11 + :rst:
+5
Documentation/admin-guide/abi-removed.rst
··· 1 + ABI removed symbols 2 + =================== 3 + 4 + .. kernel-abi:: $srctree/Documentation/ABI/removed 5 + :rst:
+14
Documentation/admin-guide/abi-stable.rst
··· 1 + ABI stable symbols 2 + ================== 3 + 4 + Documents the interfaces that the developer has defined to be stable. 5 + 6 + Userspace programs are free to use these interfaces with no 7 + restrictions, and backward compatibility for them will be guaranteed 8 + for at least 2 years. 9 + 10 + Most interfaces (like syscalls) are expected to never change and always 11 + be available. 12 + 13 + .. kernel-abi:: $srctree/Documentation/ABI/stable 14 + :rst:
+20
Documentation/admin-guide/abi-testing.rst
··· 1 + ABI testing symbols 2 + =================== 3 + 4 + Documents interfaces that are felt to be stable, 5 + as the main development of this interface has been completed. 6 + 7 + The interface can be changed to add new features, but the 8 + current interface will not break by doing this, unless grave 9 + errors or security problems are found in them. 10 + 11 + Userspace programs can start to rely on these interfaces, but they must 12 + be aware of changes that can occur before these interfaces move to 13 + be marked stable. 14 + 15 + Programs that use these interfaces are strongly encouraged to add their 16 + name to the description of these interfaces, so that the kernel 17 + developers can easily notify them if any changes occur. 18 + 19 + .. kernel-abi:: $srctree/Documentation/ABI/testing 20 + :rst:
+11
Documentation/admin-guide/abi.rst
··· 1 + ===================== 2 + Linux ABI description 3 + ===================== 4 + 5 + .. toctree:: 6 + :maxdepth: 2 7 + 8 + abi-stable 9 + abi-testing 10 + abi-obsolete 11 + abi-removed
+2
Documentation/admin-guide/index.rst
··· 18 18 devices 19 19 sysctl/index 20 20 21 + abi 22 + 21 23 This section describes CPU vulnerabilities and their mitigations. 22 24 23 25 .. toctree::
+2 -1
Documentation/conf.py
··· 38 38 # ones. 39 39 extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 40 40 'kfigure', 'sphinx.ext.ifconfig', 'automarkup', 41 - 'maintainers_include', 'sphinx.ext.autosectionlabel' ] 41 + 'maintainers_include', 'sphinx.ext.autosectionlabel', 42 + 'kernel_abi'] 42 43 43 44 # 44 45 # cdomain is badly broken in Sphinx 3+. Leaving it out generates *most*
+1 -1
Documentation/filesystems/debugfs.rst
··· 199 199 200 200 There is a helper function to create device related seq_file:: 201 201 202 - struct dentry *debugfs_create_devm_seqfile(struct device *dev, 202 + void debugfs_create_devm_seqfile(struct device *dev, 203 203 const char *name, 204 204 struct dentry *parent, 205 205 int (*read_fn)(struct seq_file *s,
+1
Documentation/leds/index.rst
··· 17 17 uleds 18 18 19 19 leds-blinkm 20 + leds-el15203000 20 21 leds-lm3556 21 22 leds-lp3944 22 23 leds-lp5521
+140
Documentation/leds/leds-el15203000.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + ================================== 4 + Kernel driver for Crane EL15203000 5 + ================================== 6 + 7 + /sys/class/leds/<led>/hw_pattern 8 + -------------------------------- 9 + 10 + Specify a hardware pattern for the EL15203000 LED. 11 + 12 + The LEDs board supports only predefined patterns by firmware 13 + for specific LEDs. 14 + 15 + Breathing mode for Screen frame light tube:: 16 + 17 + "0 4000 1 4000" 18 + 19 + ^ 20 + | 21 + Max-| --- 22 + | / \ 23 + | / \ 24 + | / \ / 25 + | / \ / 26 + Min-|- --- 27 + | 28 + 0------4------8--> time (sec) 29 + 30 + Cascade mode for Pipe LED:: 31 + 32 + "1 800 2 800 4 800 8 800 16 800" 33 + 34 + ^ 35 + | 36 + 0 On -|----+ +----+ +--- 37 + | | | | | 38 + Off-| +-------------------+ +-------------------+ 39 + | 40 + 1 On -| +----+ +----+ 41 + | | | | | 42 + Off |----+ +-------------------+ +------------------ 43 + | 44 + 2 On -| +----+ +----+ 45 + | | | | | 46 + Off-|---------+ +-------------------+ +------------- 47 + | 48 + 3 On -| +----+ +----+ 49 + | | | | | 50 + Off-|--------------+ +-------------------+ +-------- 51 + | 52 + 4 On -| +----+ +----+ 53 + | | | | | 54 + Off-|-------------------+ +-------------------+ +--- 55 + | 56 + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 57 + 58 + Inverted cascade mode for Pipe LED:: 59 + 60 + "30 800 29 800 27 800 23 800 15 800" 61 + 62 + ^ 63 + | 64 + 0 On -| +-------------------+ +-------------------+ 65 + | | | | | 66 + Off-|----+ +----+ +--- 67 + | 68 + 1 On -|----+ +-------------------+ +------------------ 69 + | | | | | 70 + Off | +----+ +----+ 71 + | 72 + 2 On -|---------+ +-------------------+ +------------- 73 + | | | | | 74 + Off-| +----+ +----+ 75 + | 76 + 3 On -|--------------+ +-------------------+ +-------- 77 + | | | | | 78 + Off-| +----+ +----+ 79 + | 80 + 4 On -|-------------------+ +-------------------+ +--- 81 + | | | | | 82 + Off-| +----+ +----+ 83 + | 84 + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 85 + 86 + Bounce mode for Pipe LED:: 87 + 88 + "1 800 2 800 4 800 8 800 16 800 16 800 8 800 4 800 2 800 1 800" 89 + 90 + ^ 91 + | 92 + 0 On -|----+ +-------- 93 + | | | 94 + Off-| +---------------------------------------+ 95 + | 96 + 1 On -| +----+ +----+ 97 + | | | | | 98 + Off |----+ +-----------------------------+ +-------- 99 + | 100 + 2 On -| +----+ +----+ 101 + | | | | | 102 + Off-|---------+ +-------------------+ +------------- 103 + | 104 + 3 On -| +----+ +----+ 105 + | | | | | 106 + Off-|--------------+ +---------+ +------------------ 107 + | 108 + 4 On -| +---------+ 109 + | | | 110 + Off-|-------------------+ +----------------------- 111 + | 112 + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec) 113 + 114 + Inverted bounce mode for Pipe LED:: 115 + 116 + "30 800 29 800 27 800 23 800 15 800 15 800 23 800 27 800 29 800 30 800" 117 + 118 + ^ 119 + | 120 + 0 On -| +---------------------------------------+ 121 + | | | 122 + Off-|----+ +-------- 123 + | 124 + 1 On -|----+ +-----------------------------+ +-------- 125 + | | | | | 126 + Off | +----+ +----+ 127 + | 128 + 2 On -|---------+ +-------------------+ +------------- 129 + | | | | | 130 + Off-| +----+ +----+ 131 + | 132 + 3 On -|--------------+ +---------+ +------------------ 133 + | | | | | 134 + Off-| +----+ +----+ 135 + | 136 + 4 On -|-------------------+ +----------------------- 137 + | | | 138 + Off-| +---------+ 139 + | 140 + 0---0.8--1.6--2.4--3.2---4---4.8--5.6--6.4--7.2---8--> time (sec)
+27
Documentation/leds/leds-sc27xx.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + =================================== 4 + Kernel driver for Spreadtrum SC27XX 5 + =================================== 6 + 7 + /sys/class/leds/<led>/hw_pattern 8 + -------------------------------- 9 + 10 + Specify a hardware pattern for the SC27XX LED. For the SC27XX 11 + LED controller, it only supports 4 stages to make a single 12 + hardware pattern, which is used to configure the rise time, 13 + high time, fall time and low time for the breathing mode. 14 + 15 + For the breathing mode, the SC27XX LED only expects one brightness 16 + for the high stage. To be compatible with the hardware pattern 17 + format, we should set brightness as 0 for rise stage, fall 18 + stage and low stage. 19 + 20 + - Min stage duration: 125 ms 21 + - Max stage duration: 31875 ms 22 + 23 + Since the stage duration step is 125 ms, the duration should be 24 + a multiplier of 125, like 125ms, 250ms, 375ms, 500ms ... 31875ms. 25 + 26 + Thus the format of the hardware pattern values should be: 27 + "0 rise_duration brightness high_duration 0 fall_duration 0 low_duration".
+194
Documentation/sphinx/kernel_abi.py
··· 1 + # -*- coding: utf-8; mode: python -*- 2 + # coding=utf-8 3 + # SPDX-License-Identifier: GPL-2.0 4 + # 5 + u""" 6 + kernel-abi 7 + ~~~~~~~~~~ 8 + 9 + Implementation of the ``kernel-abi`` reST-directive. 10 + 11 + :copyright: Copyright (C) 2016 Markus Heiser 12 + :copyright: Copyright (C) 2016-2020 Mauro Carvalho Chehab 13 + :maintained-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> 14 + :license: GPL Version 2, June 1991 see Linux/COPYING for details. 15 + 16 + The ``kernel-abi`` (:py:class:`KernelCmd`) directive calls the 17 + scripts/get_abi.pl script to parse the Kernel ABI files. 18 + 19 + Overview of directive's argument and options. 20 + 21 + .. code-block:: rst 22 + 23 + .. kernel-abi:: <ABI directory location> 24 + :debug: 25 + 26 + The argument ``<ABI directory location>`` is required. It contains the 27 + location of the ABI files to be parsed. 28 + 29 + ``debug`` 30 + Inserts a code-block with the *raw* reST. Sometimes it is helpful to see 31 + what reST is generated. 32 + 33 + """ 34 + 35 + import codecs 36 + import os 37 + import subprocess 38 + import sys 39 + import re 40 + import kernellog 41 + 42 + from os import path 43 + 44 + from docutils import nodes, statemachine 45 + from docutils.statemachine import ViewList 46 + from docutils.parsers.rst import directives, Directive 47 + from docutils.utils.error_reporting import ErrorString 48 + 49 + # 50 + # AutodocReporter is only good up to Sphinx 1.7 51 + # 52 + import sphinx 53 + 54 + Use_SSI = sphinx.__version__[:3] >= '1.7' 55 + if Use_SSI: 56 + from sphinx.util.docutils import switch_source_input 57 + else: 58 + from sphinx.ext.autodoc import AutodocReporter 59 + 60 + __version__ = '1.0' 61 + 62 + def setup(app): 63 + 64 + app.add_directive("kernel-abi", KernelCmd) 65 + return dict( 66 + version = __version__ 67 + , parallel_read_safe = True 68 + , parallel_write_safe = True 69 + ) 70 + 71 + class KernelCmd(Directive): 72 + 73 + u"""KernelABI (``kernel-abi``) directive""" 74 + 75 + required_arguments = 1 76 + optional_arguments = 2 77 + has_content = False 78 + final_argument_whitespace = True 79 + 80 + option_spec = { 81 + "debug" : directives.flag, 82 + "rst" : directives.unchanged 83 + } 84 + 85 + def run(self): 86 + 87 + doc = self.state.document 88 + if not doc.settings.file_insertion_enabled: 89 + raise self.warning("docutils: file insertion disabled") 90 + 91 + env = doc.settings.env 92 + cwd = path.dirname(doc.current_source) 93 + cmd = "get_abi.pl rest --enable-lineno --dir " 94 + cmd += self.arguments[0] 95 + 96 + if 'rst' in self.options: 97 + cmd += " --rst-source" 98 + 99 + srctree = path.abspath(os.environ["srctree"]) 100 + 101 + fname = cmd 102 + 103 + # extend PATH with $(srctree)/scripts 104 + path_env = os.pathsep.join([ 105 + srctree + os.sep + "scripts", 106 + os.environ["PATH"] 107 + ]) 108 + shell_env = os.environ.copy() 109 + shell_env["PATH"] = path_env 110 + shell_env["srctree"] = srctree 111 + 112 + lines = self.runCmd(cmd, shell=True, cwd=cwd, env=shell_env) 113 + nodeList = self.nestedParse(lines, self.arguments[0]) 114 + return nodeList 115 + 116 + def runCmd(self, cmd, **kwargs): 117 + u"""Run command ``cmd`` and return it's stdout as unicode.""" 118 + 119 + try: 120 + proc = subprocess.Popen( 121 + cmd 122 + , stdout = subprocess.PIPE 123 + , stderr = subprocess.PIPE 124 + , **kwargs 125 + ) 126 + out, err = proc.communicate() 127 + 128 + out, err = codecs.decode(out, 'utf-8'), codecs.decode(err, 'utf-8') 129 + 130 + if proc.returncode != 0: 131 + raise self.severe( 132 + u"command '%s' failed with return code %d" 133 + % (cmd, proc.returncode) 134 + ) 135 + except OSError as exc: 136 + raise self.severe(u"problems with '%s' directive: %s." 137 + % (self.name, ErrorString(exc))) 138 + return out 139 + 140 + def nestedParse(self, lines, fname): 141 + content = ViewList() 142 + node = nodes.section() 143 + 144 + if "debug" in self.options: 145 + code_block = "\n\n.. code-block:: rst\n :linenos:\n" 146 + for l in lines.split("\n"): 147 + code_block += "\n " + l 148 + lines = code_block + "\n\n" 149 + 150 + line_regex = re.compile("^#define LINENO (\S+)\#([0-9]+)$") 151 + ln = 0 152 + n = 0 153 + f = fname 154 + 155 + for line in lines.split("\n"): 156 + n = n + 1 157 + match = line_regex.search(line) 158 + if match: 159 + new_f = match.group(1) 160 + 161 + # Sphinx parser is lazy: it stops parsing contents in the 162 + # middle, if it is too big. So, handle it per input file 163 + if new_f != f and content: 164 + self.do_parse(content, node) 165 + content = ViewList() 166 + 167 + f = new_f 168 + 169 + # sphinx counts lines from 0 170 + ln = int(match.group(2)) - 1 171 + else: 172 + content.append(line, f, ln) 173 + 174 + kernellog.info(self.state.document.settings.env.app, "%s: parsed %i lines" % (fname, n)) 175 + 176 + if content: 177 + self.do_parse(content, node) 178 + 179 + return node.children 180 + 181 + def do_parse(self, content, node): 182 + if Use_SSI: 183 + with switch_source_input(self.state, content): 184 + self.state.nested_parse(content, 0, node, match_titles=1) 185 + else: 186 + buf = self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter 187 + 188 + self.state.memo.title_styles = [] 189 + self.state.memo.section_level = 0 190 + self.state.memo.reporter = AutodocReporter(content, self.state.memo.reporter) 191 + try: 192 + self.state.nested_parse(content, 0, node, match_titles=1) 193 + finally: 194 + self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter = buf
+5 -1
Documentation/sphinx/kernellog.py
··· 25 25 else: 26 26 app.verbose(message) 27 27 28 - 28 + def info(app, message): 29 + if UseLogging: 30 + logger.info(message) 31 + else: 32 + app.info(message)
+7 -8
fs/debugfs/file.c
··· 1127 1127 * file will be created in the root of the debugfs filesystem. 1128 1128 * @read_fn: function pointer called to print the seq_file content. 1129 1129 */ 1130 - struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name, 1131 - struct dentry *parent, 1132 - int (*read_fn)(struct seq_file *s, 1133 - void *data)) 1130 + void debugfs_create_devm_seqfile(struct device *dev, const char *name, 1131 + struct dentry *parent, 1132 + int (*read_fn)(struct seq_file *s, void *data)) 1134 1133 { 1135 1134 struct debugfs_devm_entry *entry; 1136 1135 1137 1136 if (IS_ERR(parent)) 1138 - return ERR_PTR(-ENOENT); 1137 + return; 1139 1138 1140 1139 entry = devm_kzalloc(dev, sizeof(*entry), GFP_KERNEL); 1141 1140 if (!entry) 1142 - return ERR_PTR(-ENOMEM); 1141 + return; 1143 1142 1144 1143 entry->read = read_fn; 1145 1144 entry->dev = dev; 1146 1145 1147 - return debugfs_create_file(name, S_IRUGO, parent, entry, 1148 - &debugfs_devm_entry_ops); 1146 + debugfs_create_file(name, S_IRUGO, parent, entry, 1147 + &debugfs_devm_entry_ops); 1149 1148 } 1150 1149 EXPORT_SYMBOL_GPL(debugfs_create_devm_seqfile);
+8 -10
include/linux/debugfs.h
··· 144 144 struct dentry *parent, 145 145 struct debugfs_u32_array *array); 146 146 147 - struct dentry *debugfs_create_devm_seqfile(struct device *dev, const char *name, 148 - struct dentry *parent, 149 - int (*read_fn)(struct seq_file *s, 150 - void *data)); 147 + void debugfs_create_devm_seqfile(struct device *dev, const char *name, 148 + struct dentry *parent, 149 + int (*read_fn)(struct seq_file *s, void *data)); 151 150 152 151 bool debugfs_initialized(void); 153 152 ··· 326 327 { 327 328 } 328 329 329 - static inline struct dentry *debugfs_create_devm_seqfile(struct device *dev, 330 - const char *name, 331 - struct dentry *parent, 332 - int (*read_fn)(struct seq_file *s, 333 - void *data)) 330 + static inline void debugfs_create_devm_seqfile(struct device *dev, 331 + const char *name, 332 + struct dentry *parent, 333 + int (*read_fn)(struct seq_file *s, 334 + void *data)) 334 335 { 335 - return ERR_PTR(-ENODEV); 336 336 } 337 337 338 338 static inline ssize_t debugfs_read_file_bool(struct file *file,
+2
lib/Kconfig.debug
··· 2446 2446 2447 2447 endmenu # "Kernel Testing and Coverage" 2448 2448 2449 + source "Documentation/Kconfig" 2450 + 2449 2451 endmenu # Kernel hacking
+251 -114
scripts/get_abi.pl
··· 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 4 4 use strict; 5 + use warnings; 6 + use utf8; 5 7 use Pod::Usage; 6 8 use Getopt::Long; 7 9 use File::Find; 8 10 use Fcntl ':mode'; 9 11 10 - my $help; 11 - my $man; 12 - my $debug; 12 + my $help = 0; 13 + my $man = 0; 14 + my $debug = 0; 15 + my $enable_lineno = 0; 13 16 my $prefix="Documentation/ABI"; 17 + 18 + # 19 + # If true, assumes that the description is formatted with ReST 20 + # 21 + my $description_is_rst = 1; 14 22 15 23 GetOptions( 16 24 "debug|d+" => \$debug, 25 + "enable-lineno" => \$enable_lineno, 26 + "rst-source!" => \$description_is_rst, 17 27 "dir=s" => \$prefix, 18 28 'help|?' => \$help, 19 29 man => \$man ··· 42 32 require Data::Dumper if ($debug); 43 33 44 34 my %data; 35 + my %symbols; 45 36 46 37 # 47 38 # Displays an error message, printing file name and line ··· 50 39 sub parse_error($$$$) { 51 40 my ($file, $ln, $msg, $data) = @_; 52 41 53 - print STDERR "file $file#$ln: $msg at\n\t$data"; 42 + $data =~ s/\s+$/\n/; 43 + 44 + print STDERR "Warning: file $file#$ln:\n\t$msg"; 45 + 46 + if ($data ne "") { 47 + print STDERR ". Line\n\t\t$data"; 48 + } else { 49 + print STDERR "\n"; 50 + } 54 51 } 55 52 56 53 # ··· 74 55 my $name = $file; 75 56 $name =~ s,.*/,,; 76 57 77 - my $nametag = "File $name"; 58 + my $fn = $file; 59 + $fn =~ s,Documentation/ABI/,,; 60 + 61 + my $nametag = "File $fn"; 78 62 $data{$nametag}->{what} = "File $name"; 79 63 $data{$nametag}->{type} = "File"; 80 64 $data{$nametag}->{file} = $name; 81 65 $data{$nametag}->{filepath} = $file; 82 66 $data{$nametag}->{is_file} = 1; 67 + $data{$nametag}->{line_no} = 1; 83 68 84 69 my $type = $file; 85 70 $type =~ s,.*/(.*)/.*,$1,; 86 71 87 72 my $what; 88 73 my $new_what; 89 - my $tag; 74 + my $tag = ""; 90 75 my $ln; 91 76 my $xrefs; 92 77 my $space; 93 78 my @labels; 94 - my $label; 79 + my $label = ""; 95 80 96 81 print STDERR "Opening $file\n" if ($debug > 1); 97 82 open IN, $file; ··· 118 95 119 96 # Invalid, but it is a common mistake 120 97 if ($new_tag eq "where") { 121 - parse_error($file, $ln, "tag 'Where' is invalid. Should be 'What:' instead", $_); 98 + parse_error($file, $ln, "tag 'Where' is invalid. Should be 'What:' instead", ""); 122 99 $new_tag = "what"; 123 100 } 124 101 125 102 if ($new_tag =~ m/what/) { 126 103 $space = ""; 104 + $content =~ s/[,.;]$//; 105 + 106 + push @{$symbols{$content}->{file}}, " $file:" . ($ln - 1); 107 + 127 108 if ($tag =~ m/what/) { 128 109 $what .= ", " . $content; 129 110 } else { 130 - parse_error($file, $ln, "What '$what' doesn't have a description", "") if ($what && !$data{$what}->{description}); 111 + if ($what) { 112 + parse_error($file, $ln, "What '$what' doesn't have a description", "") if (!$data{$what}->{description}); 113 + 114 + foreach my $w(split /, /, $what) { 115 + $symbols{$w}->{xref} = $what; 116 + }; 117 + } 131 118 132 119 $what = $content; 133 120 $label = $content; ··· 146 113 push @labels, [($content, $label)]; 147 114 $tag = $new_tag; 148 115 149 - push @{$data{$nametag}->{xrefs}}, [($content, $label)] if ($data{$nametag}->{what}); 116 + push @{$data{$nametag}->{symbols}}, $content if ($data{$nametag}->{what}); 150 117 next; 151 118 } 152 119 ··· 154 121 $tag = $new_tag; 155 122 156 123 if ($new_what) { 157 - @{$data{$what}->{label}} = @labels if ($data{$nametag}->{what}); 124 + @{$data{$what}->{label_list}} = @labels if ($data{$nametag}->{what}); 158 125 @labels = (); 159 126 $label = ""; 160 127 $new_what = 0; 161 128 162 129 $data{$what}->{type} = $type; 163 - $data{$what}->{file} = $name; 164 - $data{$what}->{filepath} = $file; 130 + if (!defined($data{$what}->{file})) { 131 + $data{$what}->{file} = $name; 132 + $data{$what}->{filepath} = $file; 133 + } else { 134 + if ($name ne $data{$what}->{file}) { 135 + $data{$what}->{file} .= " " . $name; 136 + $data{$what}->{filepath} .= " " . $file; 137 + } 138 + } 165 139 print STDERR "\twhat: $what\n" if ($debug > 1); 140 + $data{$what}->{line_no} = $ln; 141 + } else { 142 + $data{$what}->{line_no} = $ln if (!defined($data{$what}->{line_no})); 166 143 } 167 144 168 145 if (!$what) { 169 146 parse_error($file, $ln, "'What:' should come first:", $_); 170 147 next; 171 148 } 172 - if ($tag eq "description") { 173 - next if ($content =~ m/^\s*$/); 174 - if ($content =~ m/^(\s*)(.*)/) { 175 - my $new_content = $2; 176 - $space = $new_tag . $sep . $1; 177 - while ($space =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {} 178 - $space =~ s/./ /g; 179 - $data{$what}->{$tag} .= "$new_content\n"; 149 + if ($new_tag eq "description") { 150 + $sep =~ s,:, ,; 151 + $content = ' ' x length($new_tag) . $sep . $content; 152 + while ($content =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {} 153 + if ($content =~ m/^(\s*)(\S.*)$/) { 154 + # Preserve initial spaces for the first line 155 + $space = $1; 156 + $content = "$2\n"; 157 + $data{$what}->{$tag} .= $content; 158 + } else { 159 + undef($space); 180 160 } 161 + 181 162 } else { 182 163 $data{$what}->{$tag} = $content; 183 164 } ··· 206 159 } 207 160 208 161 if ($tag eq "description") { 209 - if (!$data{$what}->{description}) { 210 - next if (m/^\s*\n/); 211 - if (m/^(\s*)(.*)/) { 162 + my $content = $_; 163 + while ($content =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {} 164 + if (m/^\s*\n/) { 165 + $data{$what}->{$tag} .= "\n"; 166 + next; 167 + } 168 + 169 + if (!defined($space)) { 170 + # Preserve initial spaces for the first line 171 + if ($content =~ m/^(\s*)(\S.*)$/) { 212 172 $space = $1; 213 - while ($space =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {} 214 - $data{$what}->{$tag} .= "$2\n"; 173 + $content = "$2\n"; 215 174 } 216 175 } else { 217 - my $content = $_; 218 - if (m/^\s*\n/) { 219 - $data{$what}->{$tag} .= $content; 220 - next; 221 - } 222 - 223 - while ($content =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {} 224 176 $space = "" if (!($content =~ s/^($space)//)); 225 - 226 - # Compress spaces with tabs 227 - $content =~ s<^ {8}> <\t>; 228 - $content =~ s<^ {1,7}\t> <\t>; 229 - $content =~ s< {1,7}\t> <\t>; 230 - $data{$what}->{$tag} .= $content; 231 177 } 178 + $data{$what}->{$tag} .= $content; 179 + 232 180 next; 233 181 } 234 182 if (m/^\s*(.*)/) { ··· 233 191 } 234 192 235 193 # Everything else is error 236 - parse_error($file, $ln, "Unexpected line:", $_); 194 + parse_error($file, $ln, "Unexpected content", $_); 237 195 } 238 - $data{$nametag}->{description} =~ s/^\n+//; 196 + $data{$nametag}->{description} =~ s/^\n+// if ($data{$nametag}->{description}); 197 + if ($what) { 198 + parse_error($file, $ln, "What '$what' doesn't have a description", "") if (!$data{$what}->{description}); 199 + 200 + foreach my $w(split /, /,$what) { 201 + $symbols{$w}->{xref} = $what; 202 + }; 203 + } 239 204 close IN; 240 205 } 241 206 242 - # 243 - # Outputs the book on ReST format 244 - # 207 + sub create_labels { 208 + my %labels; 245 209 246 - my %labels; 210 + foreach my $what (keys %data) { 211 + next if ($data{$what}->{file} eq "File"); 247 212 248 - sub output_rest { 249 - foreach my $what (sort { 250 - ($data{$a}->{type} eq "File") cmp ($data{$b}->{type} eq "File") || 251 - $a cmp $b 252 - } keys %data) { 253 - my $type = $data{$what}->{type}; 254 - my $file = $data{$what}->{file}; 255 - my $filepath = $data{$what}->{filepath}; 256 - 257 - my $w = $what; 258 - $w =~ s/([\(\)\_\-\*\=\^\~\\])/\\$1/g; 259 - 260 - 261 - foreach my $p (@{$data{$what}->{label}}) { 213 + foreach my $p (@{$data{$what}->{label_list}}) { 262 214 my ($content, $label) = @{$p}; 263 215 $label = "abi_" . $label . " "; 264 216 $label =~ tr/A-Z/a-z/; ··· 269 233 } 270 234 $labels{$label} = 1; 271 235 272 - $data{$what}->{label} .= $label; 273 - 274 - printf ".. _%s:\n\n", $label; 236 + $data{$what}->{label} = $label; 275 237 276 238 # only one label is enough 277 239 last; 278 240 } 241 + } 242 + } 279 243 244 + # 245 + # Outputs the book on ReST format 246 + # 280 247 281 - $filepath =~ s,.*/(.*/.*),\1,;; 282 - $filepath =~ s,[/\-],_,g;; 283 - my $fileref = "abi_file_".$filepath; 248 + # \b doesn't work well with paths. So, we need to define something else 249 + my $bondary = qr { (?<![\w\/\`\{])(?=[\w\/\`\{])|(?<=[\w\/\`\{])(?![\w\/\`\{]) }x; 284 250 285 - if ($type eq "File") { 286 - my $bar = $w; 287 - $bar =~ s/./-/g; 251 + sub output_rest { 252 + create_labels(); 288 253 289 - print ".. _$fileref:\n\n"; 290 - print "$w\n$bar\n\n"; 291 - } else { 292 - my @names = split /\s*,\s*/,$w; 254 + foreach my $what (sort { 255 + ($data{$a}->{type} eq "File") cmp ($data{$b}->{type} eq "File") || 256 + $a cmp $b 257 + } keys %data) { 258 + my $type = $data{$what}->{type}; 293 259 260 + my @file = split / /, $data{$what}->{file}; 261 + my @filepath = split / /, $data{$what}->{filepath}; 262 + 263 + if ($enable_lineno) { 264 + printf "#define LINENO %s%s#%s\n\n", 265 + $prefix, $file[0], 266 + $data{$what}->{line_no}; 267 + } 268 + 269 + my $w = $what; 270 + $w =~ s/([\(\)\_\-\*\=\^\~\\])/\\$1/g; 271 + 272 + if ($type ne "File") { 273 + printf ".. _%s:\n\n", $data{$what}->{label}; 274 + 275 + my @names = split /, /,$w; 294 276 my $len = 0; 295 277 296 278 foreach my $name (@names) { 279 + $name = "**$name**"; 297 280 $len = length($name) if (length($name) > $len); 298 281 } 299 - 300 - print "What:\n\n"; 301 282 302 283 print "+-" . "-" x $len . "-+\n"; 303 284 foreach my $name (@names) { 304 285 printf "| %s", $name . " " x ($len - length($name)) . " |\n"; 305 286 print "+-" . "-" x $len . "-+\n"; 306 287 } 288 + 307 289 print "\n"; 308 290 } 309 291 310 - print "Defined on file :ref:`$file <$fileref>`\n\n" if ($type ne "File"); 292 + for (my $i = 0; $i < scalar(@filepath); $i++) { 293 + my $path = $filepath[$i]; 294 + my $f = $file[$i]; 311 295 312 - my $desc = $data{$what}->{description}; 313 - $desc =~ s/^\s+//; 296 + $path =~ s,.*/(.*/.*),$1,;; 297 + $path =~ s,[/\-],_,g;; 298 + my $fileref = "abi_file_".$path; 314 299 315 - # Remove title markups from the description, as they won't work 316 - $desc =~ s/\n[\-\*\=\^\~]+\n/\n/g; 300 + if ($type eq "File") { 301 + print ".. _$fileref:\n\n"; 302 + } else { 303 + print "Defined on file :ref:`$f <$fileref>`\n\n"; 304 + } 305 + } 306 + 307 + if ($type eq "File") { 308 + my $bar = $w; 309 + $bar =~ s/./-/g; 310 + print "$w\n$bar\n\n"; 311 + } 312 + 313 + my $desc = ""; 314 + $desc = $data{$what}->{description} if (defined($data{$what}->{description})); 315 + $desc =~ s/\s+$/\n/; 317 316 318 317 if (!($desc =~ /^\s*$/)) { 319 - if ($desc =~ m/\:\n/ || $desc =~ m/\n[\t ]+/ || $desc =~ m/[\x00-\x08\x0b-\x1f\x7b-\xff]/) { 320 - # put everything inside a code block 321 - $desc =~ s/\n/\n /g; 318 + if ($description_is_rst) { 319 + # Enrich text by creating cross-references 322 320 323 - print "::\n\n"; 324 - print " $desc\n\n"; 325 - } else { 326 - # Escape any special chars from description 327 - $desc =~s/([\x00-\x08\x0b-\x1f\x21-\x2a\x2d\x2f\x3c-\x40\x5c\x5e-\x60\x7b-\xff])/\\$1/g; 321 + $desc =~ s,Documentation/(?!devicetree)(\S+)\.rst,:doc:`/$1`,g; 322 + 323 + my @matches = $desc =~ m,Documentation/ABI/([\w\/\-]+),; 324 + foreach my $f (@matches) { 325 + my $xref = $f; 326 + my $path = $f; 327 + $path =~ s,.*/(.*/.*),$1,;; 328 + $path =~ s,[/\-],_,g;; 329 + $xref .= " <abi_file_" . $path . ">"; 330 + $desc =~ s,\bDocumentation/ABI/$f\b,:ref:`$xref`,g; 331 + } 332 + 333 + @matches = $desc =~ m,$bondary(/sys/[^\s\.\,\;\:\*\s\`\'\(\)]+)$bondary,; 334 + 335 + foreach my $s (@matches) { 336 + if (defined($data{$s}) && defined($data{$s}->{label})) { 337 + my $xref = $s; 338 + 339 + $xref =~ s/([\x00-\x1f\x21-\x2f\x3a-\x40\x7b-\xff])/\\$1/g; 340 + $xref = ":ref:`$xref <" . $data{$s}->{label} . ">`"; 341 + 342 + $desc =~ s,$bondary$s$bondary,$xref,g; 343 + } 344 + } 328 345 329 346 print "$desc\n\n"; 347 + } else { 348 + $desc =~ s/^\s+//; 349 + 350 + # Remove title markups from the description, as they won't work 351 + $desc =~ s/\n[\-\*\=\^\~]+\n/\n\n/g; 352 + 353 + if ($desc =~ m/\:\n/ || $desc =~ m/\n[\t ]+/ || $desc =~ m/[\x00-\x08\x0b-\x1f\x7b-\xff]/) { 354 + # put everything inside a code block 355 + $desc =~ s/\n/\n /g; 356 + 357 + print "::\n\n"; 358 + print " $desc\n\n"; 359 + } else { 360 + # Escape any special chars from description 361 + $desc =~s/([\x00-\x08\x0b-\x1f\x21-\x2a\x2d\x2f\x3c-\x40\x5c\x5e-\x60\x7b-\xff])/\\$1/g; 362 + print "$desc\n\n"; 363 + } 330 364 } 331 365 } else { 332 366 print "DESCRIPTION MISSING for $what\n\n" if (!$data{$what}->{is_file}); 333 367 } 334 368 335 - if ($data{$what}->{xrefs}) { 369 + if ($data{$what}->{symbols}) { 336 370 printf "Has the following ABI:\n\n"; 337 371 338 - foreach my $p(@{$data{$what}->{xrefs}}) { 339 - my ($content, $label) = @{$p}; 340 - $label = "abi_" . $label . " "; 341 - $label =~ tr/A-Z/a-z/; 342 - 343 - # Convert special chars to "_" 344 - $label =~s/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xff])/_/g; 345 - $label =~ s,_+,_,g; 346 - $label =~ s,_$,,; 372 + foreach my $content(@{$data{$what}->{symbols}}) { 373 + my $label = $data{$symbols{$content}->{xref}}->{label}; 347 374 348 375 # Escape special chars from content 349 376 $content =~s/([\x00-\x1f\x21-\x2f\x3a-\x40\x7b-\xff])/\\$1/g; ··· 414 315 print "- :ref:`$content <$label>`\n\n"; 415 316 } 416 317 } 318 + 319 + if (defined($data{$what}->{users})) { 320 + my $users = $data{$what}->{users}; 321 + 322 + $users =~ s/\n/\n\t/g; 323 + printf "Users:\n\t%s\n\n", $users if ($users ne ""); 324 + } 325 + 417 326 } 418 327 } 419 328 ··· 442 335 443 336 print "\n$what\n$bar\n\n"; 444 337 445 - my $kernelversion = $data{$what}->{kernelversion}; 446 - my $contact = $data{$what}->{contact}; 447 - my $users = $data{$what}->{users}; 448 - my $date = $data{$what}->{date}; 449 - my $desc = $data{$what}->{description}; 450 - $kernelversion =~ s/^\s+//; 451 - $contact =~ s/^\s+//; 452 - $users =~ s/^\s+//; 453 - $users =~ s/\n//g; 454 - $date =~ s/^\s+//; 455 - $desc =~ s/^\s+//; 338 + my $kernelversion = $data{$what}->{kernelversion} if (defined($data{$what}->{kernelversion})); 339 + my $contact = $data{$what}->{contact} if (defined($data{$what}->{contact})); 340 + my $users = $data{$what}->{users} if (defined($data{$what}->{users})); 341 + my $date = $data{$what}->{date} if (defined($data{$what}->{date})); 342 + my $desc = $data{$what}->{description} if (defined($data{$what}->{description})); 343 + 344 + $kernelversion =~ s/^\s+// if ($kernelversion); 345 + $contact =~ s/^\s+// if ($contact); 346 + if ($users) { 347 + $users =~ s/^\s+//; 348 + $users =~ s/\n//g; 349 + } 350 + $date =~ s/^\s+// if ($date); 351 + $desc =~ s/^\s+// if ($desc); 456 352 457 353 printf "Kernel version:\t\t%s\n", $kernelversion if ($kernelversion); 458 354 printf "Date:\t\t\t%s\n", $date if ($date); 459 355 printf "Contact:\t\t%s\n", $contact if ($contact); 460 356 printf "Users:\t\t\t%s\n", $users if ($users); 461 - print "Defined on file:\t$file\n\n"; 357 + print "Defined on file(s):\t$file\n\n"; 462 358 print "Description:\n\n$desc"; 463 359 } 464 360 } 465 361 362 + # Ensure that the prefix will always end with a slash 363 + # While this is not needed for find, it makes the patch nicer 364 + # with --enable-lineno 365 + $prefix =~ s,/?$,/,; 466 366 467 367 # 468 368 # Parses all ABI files located at $prefix dir ··· 481 367 # 482 368 # Handles the command 483 369 # 484 - if ($cmd eq "rest") { 485 - output_rest; 486 - } elsif ($cmd eq "search") { 370 + if ($cmd eq "search") { 487 371 search_symbols; 488 - } 372 + } else { 373 + if ($cmd eq "rest") { 374 + output_rest; 375 + } 489 376 377 + # Warn about duplicated ABI entries 378 + foreach my $what(sort keys %symbols) { 379 + my @files = @{$symbols{$what}->{file}}; 380 + 381 + next if (scalar(@files) == 1); 382 + 383 + printf STDERR "Warning: $what is defined %d times: @files\n", 384 + scalar(@files); 385 + } 386 + } 490 387 491 388 __END__ 492 389 ··· 507 382 508 383 =head1 SYNOPSIS 509 384 510 - B<abi_book.pl> [--debug] [--man] [--help] [--dir=<dir>] <COMAND> [<ARGUMENT>] 385 + B<abi_book.pl> [--debug] [--enable-lineno] [--man] [--help] 386 + [--(no-)rst-source] [--dir=<dir>] <COMAND> [<ARGUMENT>] 511 387 512 388 Where <COMMAND> can be: 513 389 ··· 530 404 531 405 Changes the location of the ABI search. By default, it uses 532 406 the Documentation/ABI directory. 407 + 408 + =item B<--rst-source> and B<--no-rst-source> 409 + 410 + The input file may be using ReST syntax or not. Those two options allow 411 + selecting between a rst-compliant source ABI (--rst-source), or a 412 + plain text that may be violating ReST spec, so it requres some escaping 413 + logic (--no-rst-source). 414 + 415 + =item B<--enable-lineno> 416 + 417 + Enable output of #define LINENO lines. 533 418 534 419 =item B<--debug> 535 420