^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/kernel/debug/cec/*/error-inj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: March 2018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Contact: Hans Verkuil <hverkuil-cisco@xs4all.nl>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) The CEC Framework allows for CEC error injection commands through
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) debugfs. Drivers that support this will create an error-inj file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) through which the error injection commands can be given.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) The basic syntax is as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Leading spaces/tabs are ignored. If the next character is a '#' or the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) end of the line was reached, then the whole line is ignored. Otherwise
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) a command is expected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) It is up to the driver to decide what commands to implement. The only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) exception is that the command 'clear' without any arguments must be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) implemented and that it will remove all current error injection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) This ensures that you can always do 'echo clear >error-inj' to clear any
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) error injections without having to know the details of the driver-specific
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Note that the output of 'error-inj' shall be valid as input to 'error-inj'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) So this must work::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) $ cat error-inj >einj.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) $ cat einj.txt >error-inj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Other than these basic rules described above this ABI is not considered
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) stable and may change in the future.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Drivers that implement this functionality must document the commands as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) part of the CEC documentation and must keep that documentation up to date
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) when changes are made.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) The following CEC error injection implementations exist:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) - Documentation/userspace-api/media/cec/cec-pin-error-inj.rst