summaryrefslogtreecommitdiffstats
path: root/drivers/media/IR/nuvoton-cir.c
diff options
context:
space:
mode:
authorMaxim Levitsky2010-10-17 00:56:28 +0200
committerMauro Carvalho Chehab2010-10-21 14:59:47 +0200
commit4651918a4afdd49bdea21d2f919b189ef17a6399 (patch)
tree73a4e3b5f7da1d655a059bb9b69135cf6f395e02 /drivers/media/IR/nuvoton-cir.c
parent[media] dvb-usb-gp8psk: Fix tuner timeout (against git) (diff)
downloadkernel-qcow2-linux-4651918a4afdd49bdea21d2f919b189ef17a6399.tar.gz
kernel-qcow2-linux-4651918a4afdd49bdea21d2f919b189ef17a6399.tar.xz
kernel-qcow2-linux-4651918a4afdd49bdea21d2f919b189ef17a6399.zip
[media] IR: extend ir_raw_event and do refactoring
Add new event types for timeout & carrier report Move timeout handling from ir_raw_event_store_with_filter to ir-lirc-codec, where it is really needed. Now lirc bridge ensures proper gap handling. Extend lirc bridge for carrier & timeout reports Note: all new ir_raw_event variables now should be initialized like that: DEFINE_IR_RAW_EVENT(ev); To clean an existing event, use init_ir_raw_event(&ev); Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR/nuvoton-cir.c')
-rw-r--r--drivers/media/IR/nuvoton-cir.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/IR/nuvoton-cir.c b/drivers/media/IR/nuvoton-cir.c
index 2f0f78078b57..301be53aee85 100644
--- a/drivers/media/IR/nuvoton-cir.c
+++ b/drivers/media/IR/nuvoton-cir.c
@@ -586,7 +586,7 @@ static void nvt_dump_rx_buf(struct nvt_dev *nvt)
*/
static void nvt_process_rx_ir_data(struct nvt_dev *nvt)
{
- struct ir_raw_event rawir = { .pulse = false, .duration = 0 };
+ DEFINE_IR_RAW_EVENT(rawir);
unsigned int count;
u32 carrier;
u8 sample;
@@ -622,6 +622,8 @@ static void nvt_process_rx_ir_data(struct nvt_dev *nvt)
}
rawir.duration += nvt->rawir.duration;
+
+ init_ir_raw_event(&nvt->rawir);
nvt->rawir.duration = 0;
nvt->rawir.pulse = rawir.pulse;
@@ -1016,6 +1018,7 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
spin_lock_init(&nvt->nvt_lock);
spin_lock_init(&nvt->tx.lock);
+ init_ir_raw_event(&nvt->rawir);
ret = -EBUSY;
/* now claim resources */