Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] media: cec: undeclared and unset EDID_PRESENT flags break build --
commit 4a28932b9583376e3239ca1f0078c8d04cbe00a1 Author: Hans Verkuil <[email protected]> media: cec: core: implement CEC_EVENT_FL_STATE_EDID_PRESENT This commit checks for CEC_LOG_ADDRS_FL_EDID_PRESENT in adap->log_addrs.flags and sets CEC_EVENT_FL_STATE_EDID_PRESENT on CEC_EVENT_STATE_CHANGE events in cec_post_state_event() and cec_open(). > diff --git a/drivers/media/cec/core/cec-adap.c > b/drivers/media/cec/core/cec-adap.c > index ee8a200b9803f..c02d036ee221e 100644 > --- a/drivers/media/cec/core/cec-adap.c > +++ b/drivers/media/cec/core/cec-adap.c > @@ -323,6 +323,8 @@ static void cec_post_state_event(struct cec_adapter *adap) > ev.state_change.log_addr_mask = adap->log_addrs.log_addr_mask; > ev.state_change.have_conn_info = > adap->conn_info.type != CEC_CONNECTOR_TYPE_NO_CONNECTOR; > + if (adap->log_addrs.flags & CEC_LOG_ADDRS_FL_EDID_PRESENT) > + ev.flags |= CEC_EVENT_FL_STATE_EDID_PRESENT; > cec_queue_event(adap, &ev); > } > > diff --git a/drivers/media/cec/core/cec-api.c > b/drivers/media/cec/core/cec-api.c > index a491d7fc8a71a..a2ceea5522d46 100644 > --- a/drivers/media/cec/core/cec-api.c > +++ b/drivers/media/cec/core/cec-api.c > @@ -559,10 +559,7 @@ static int cec_open(struct inode *inode, struct file > *filp) > * Initial events that are automatically sent when the cec device is > * opened. > */ > - struct cec_event ev = { > - .event = CEC_EVENT_STATE_CHANGE, > - .flags = CEC_EVENT_FL_INITIAL_STATE, > - }; > + struct cec_event ev = {}; > unsigned int i; > int err; > > @@ -588,12 +585,17 @@ static int cec_open(struct inode *inode, struct file > *filp) > filp->private_data = fh; > > /* Queue up initial state events */ > + ev.event = CEC_EVENT_STATE_CHANGE; > ev.state_change.phys_addr = adap->phys_addr; > ev.state_change.log_addr_mask = adap->log_addrs.log_addr_mask; > ev.state_change.have_conn_info = > adap->conn_info.type != CEC_CONNECTOR_TYPE_NO_CONNECTOR; > + ev.flags = CEC_EVENT_FL_INITIAL_STATE; > + if (adap->log_addrs.flags & CEC_LOG_ADDRS_FL_EDID_PRESENT) > + ev.flags |= CEC_EVENT_FL_STATE_EDID_PRESENT; [Severity: High] Are the header definitions and flag updates for CEC_LOG_ADDRS_FL_EDID_PRESENT and CEC_EVENT_FL_STATE_EDID_PRESENT missing from this patch? In both cec_post_state_event() in drivers/media/cec/core/cec-adap.c and cec_open() in drivers/media/cec/core/cec-api.c, the build fails with undeclared identifier errors because neither CEC_LOG_ADDRS_FL_EDID_PRESENT nor CEC_EVENT_FL_STATE_EDID_PRESENT is defined in include/uapi/linux/cec.h: #define CEC_EVENT_FL_INITIAL_STATE (1 << 0) #define CEC_EVENT_FL_DROPPED_EVENTS (1 << 1) In addition, nothing in the tree sets CEC_LOG_ADDRS_FL_EDID_PRESENT in adap->log_addrs.flags, and cec_adap_s_log_addrs() in drivers/media/cec/core/cec-api.c strips all other flags before __cec_s_log_addrs() updates adap->log_addrs: log_addrs.flags &= CEC_LOG_ADDRS_FL_ALLOW_UNREG_FALLBACK | CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU | CEC_LOG_ADDRS_FL_CDC_ONLY; Should include/uapi/linux/cec.h define these flags, and should the CEC core set or preserve CEC_LOG_ADDRS_FL_EDID_PRESENT when EDID is present? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/897c6071fbdca71dbb446b03e32c0e6af219ecf0.1793691124.git.hverkuil+ci...@kernel.org?part=1
