Lines Matching +full:low +full:- +full:level
1 .. SPDX-License-Identifier: GPL-2.0
15 ----------------
33 ---------------------
53 will be stored in adap->priv and can be used by the adapter ops.
95 Implementing the Low-Level CEC Adapter
96 --------------------------------------
98 The following low-level adapter operations have to be implemented in
103 .. code-block:: none
107 /* Low-level callbacks */
120 /* High-level callbacks */
124 The seven low-level ops deal with various aspects of controlling the CEC adapter
134 op assumes that the physical address (adap->phys_addr) is valid when enable is
172 should return -ENXIO. Once a logical address is programmed the CEC hardware
238 low drive was detected on the CEC bus. This indicates that
284 ----------------------------------
296 ----------------------------------------------
301 .. code-block:: none
304 /* Low-level callbacks */
311 /* High-level CEC message callback */
315 If both callbacks are set, then an ``error-inj`` file will appear in debugfs.
326 This ensures that you can always do ``echo clear >error-inj`` to clear any error
327 injections without having to know the details of the driver-specific commands.
329 Note that the output of ``error-inj`` shall be valid as input to ``error-inj``.
332 .. code-block:: none
334 $ cat error-inj >einj.txt
335 $ cat einj.txt >error-inj
345 The second callback will parse commands written to the ``error-inj`` file::
351 are no embedded newlines) and it is 0-terminated. The callback is free to
357 Implementing the High-Level CEC Adapter
358 ---------------------------------------
360 The low-level operations drive the hardware, the high-level operations are
361 CEC protocol driven. The following high-level callbacks are available:
363 .. code-block:: none
366 /* Low-level callbacks */
372 /* High-level CEC message callback */
383 -ENOMSG, otherwise the CEC framework assumes it processed this message and
388 -----------------------
402 Change the physical address. This function will set adap->phys_addr and
430 log_addrs->num_log_addrs set to 0. The block argument is ignored when
436 -----------------
439 the message and the hardware handles the low-level CEC protocol. But some
440 hardware only drives the CEC pin and software has to handle the low-level
443 Note that due to the close-to-realtime requirements it can never be guaranteed
448 One advantage of this low-level implementation is that it can be used as
450 CEC pin transitions from low to high or vice versa.
452 .. kernel-doc:: include/media/cec-pin.h
455 ----------------------
464 .. kernel-doc:: include/media/cec-notifier.h