V4L/DVB: ir-core: change duration to be coded as a u32 integer
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / media / ir-core.h
index 51e8eb3a3f2d8fcfc204bf7a5533d7026ecb7193..ad1303f20e002d0484a056d432ca24d11a41e2f8 100644 (file)
@@ -128,9 +128,21 @@ u32 ir_g_keycode_from_table(struct input_dev *input_dev, u32 scancode);
 
 /* From ir-raw-event.c */
 
+struct ir_raw_event {
+       unsigned                        pulse:1;
+       unsigned                        duration:31;
+};
+
+#define IR_MAX_DURATION                 0x7FFFFFFF      /* a bit more than 2 seconds */
+
 void ir_raw_event_handle(struct input_dev *input_dev);
-int ir_raw_event_store(struct input_dev *input_dev, s64 duration);
+int ir_raw_event_store(struct input_dev *input_dev, struct ir_raw_event *ev);
 int ir_raw_event_store_edge(struct input_dev *input_dev, enum raw_event_type type);
-
+static inline void ir_raw_event_reset(struct input_dev *input_dev)
+{
+       struct ir_raw_event ev = { .pulse = false, .duration = 0 };
+       ir_raw_event_store(input_dev, &ev);
+       ir_raw_event_handle(input_dev);
+}
 
 #endif /* _IR_CORE */