diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2017-08-20 06:53:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-08-26 08:35:10 -0400 |
commit | 28e11b15b6606c3308f87f7c9c4c9e404eddde6d (patch) | |
tree | 4cd4c99a2eb10e773d7aa967286ae10ced76c4db /drivers/media/cec/cec-api.c | |
parent | 152b0a9a3d62f90e6784a5d35ffc3f552f1c2c54 (diff) | |
download | op-kernel-dev-28e11b15b6606c3308f87f7c9c4c9e404eddde6d.zip op-kernel-dev-28e11b15b6606c3308f87f7c9c4c9e404eddde6d.tar.gz |
media: cec: replace pin->cur_value by adap->cec_pin_is_high
The current CEC pin value (0 or 1) was part of the cec_pin struct,
but that assumes that CEC pin monitoring can only be used with
a driver that uses the low-level CEC pin framework.
But hardware that has both a high-level API and can monitor the
CEC pin at low-level at the same time does not need to depend on
the cec pin framework.
To support such devices remove the cur_value field from struct cec_pin
and add a cec_pin_is_high field to cec_adapter. This also makes it
possible to drop the '#ifdef CONFIG_CEC_PIN' in cec-api.c.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/cec/cec-api.c')
-rw-r--r-- | drivers/media/cec/cec-api.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/cec/cec-api.c b/drivers/media/cec/cec-api.c index 87649b0..a079f7f 100644 --- a/drivers/media/cec/cec-api.c +++ b/drivers/media/cec/cec-api.c @@ -444,15 +444,13 @@ static long cec_s_mode(struct cec_adapter *adap, struct cec_fh *fh, if (mode_follower == CEC_MODE_FOLLOWER) adap->follower_cnt++; if (mode_follower == CEC_MODE_MONITOR_PIN) { -#ifdef CONFIG_CEC_PIN struct cec_event ev = { .flags = CEC_EVENT_FL_INITIAL_STATE, }; - ev.event = adap->pin->cur_value ? CEC_EVENT_PIN_CEC_HIGH : - CEC_EVENT_PIN_CEC_LOW; + ev.event = adap->cec_pin_is_high ? CEC_EVENT_PIN_CEC_HIGH : + CEC_EVENT_PIN_CEC_LOW; cec_queue_event_fh(fh, &ev, 0); -#endif adap->monitor_pin_cnt++; } if (mode_follower == CEC_MODE_EXCL_FOLLOWER || |