The first two patches fix issues relating to a CEC adapter
being disabled while a transmit is still in progress at the
hardware level. Unless the hardware is really disabled (i.e.
loses power) the transmit should just continue in order to
keep the hardware and framework state in sync, and to avoid
half-written messages on the bus.
The third patch fixes a mismatch between the API documentation
and the actual code w.r.t. reporting the results of a non-blocking
transmit.
The fourth patch adds helpers to make it easier for both drivers
and userspace to detect if the received message contains the
result of a non-blocking transmit.
The fifth patch makes the framework more robust, preventing ops
from being called when the device is already unregistered.
The sixth patch allows drivers to override the transmit timeout
value. And the last patch adds a new callback so drivers can take
actual when an adapter is fully configured (i.e. all logical addresses
are claimed) or unconfigured.
Regards,
Hans
The following changes since commit 535f49a9e1f99d0bacb5d492a9dd193c3affbfc0:
media: platform: imx-mipi-csis: Add dependency on VIDEO_DEV (2022-04-05 16:12:30 +0200)
are available in the Git repository at:
git://linuxtv.org/hverkuil/media_tree.git tags/br-v5.19b
for you to fetch changes up to 7ebdf1f2e7b92536eb3ea7595a051057eec9ef1b:
cec: add optional adap_configured callback (2022-04-06 10:31:05 +0200)
----------------------------------------------------------------
Tag branch
----------------------------------------------------------------
Hans Verkuil (7):
cec: call enable_adap on s_log_addrs
cec: abort if the current transmit was canceled
cec: correctly pass on reply results
cec.h: add cec_msg_recv_is_rx/tx_result helpers
cec: use call_op and check for !unregistered
cec: add xfer_timeout_ms field
cec: add optional adap_configured callback
Documentation/driver-api/media/cec-core.rst | 13 +++-
drivers/media/cec/core/cec-adap.c | 282 +++++++++++++++++++++++++++++++++++++++++++------------------------
drivers/media/cec/core/cec-api.c | 24 ++----
drivers/media/cec/core/cec-core.c | 18 ++++-
drivers/media/cec/core/cec-pin-priv.h | 11 +++
drivers/media/cec/core/cec-pin.c | 23 +++---
drivers/media/cec/core/cec-priv.h | 10 +++
include/media/cec.h | 12 +++
include/uapi/linux/cec.h | 20 +++++
9 files changed, 278 insertions(+), 135 deletions(-)