mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-20 22:01:56 +00:00
media: cec: rework the cec event handling
Event handling was always fairly simplistic since there were only two events. With the addition of pin events this needed to be redesigned. The state_change and lost_msgs events are now core events with the guarantee that the last state is always available. The new pin events are a queue of events (up to 64 for each event) and the oldest event will be dropped if the application cannot keep up. Lost events are marked with a new event flag. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
6303d97873
commit
6b2bbb0874
4 changed files with 125 additions and 70 deletions
|
@ -412,6 +412,7 @@ struct cec_log_addrs {
|
|||
#define CEC_EVENT_PIN_HIGH 4
|
||||
|
||||
#define CEC_EVENT_FL_INITIAL_STATE (1 << 0)
|
||||
#define CEC_EVENT_FL_DROPPED_EVENTS (1 << 1)
|
||||
|
||||
/**
|
||||
* struct cec_event_state_change - used when the CEC adapter changes state.
|
||||
|
@ -424,7 +425,7 @@ struct cec_event_state_change {
|
|||
};
|
||||
|
||||
/**
|
||||
* struct cec_event_lost_msgs - tells you how many messages were lost due.
|
||||
* struct cec_event_lost_msgs - tells you how many messages were lost.
|
||||
* @lost_msgs: how many messages were lost.
|
||||
*/
|
||||
struct cec_event_lost_msgs {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue