V4L/DVB: cx23885: Convert cx23885-input to use new in kernel IR pulse decoders

Convert the cx23885 driver to use the new in kernel IR pulse
decoders for the integrated CX2388[578] IR controllers.  Rip out a lot
of RC-5 decoding related code in the process and rename some variables
for clarity or to more accurately describe their usage.

Signed-off-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index 25167dd..a33f2b7 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -30,7 +30,7 @@
 #include <media/tveeprom.h>
 #include <media/videobuf-dma-sg.h>
 #include <media/videobuf-dvb.h>
-#include <media/ir-common.h>
+#include <media/ir-core.h>
 
 #include "btcx-risc.h"
 #include "cx23885-reg.h"
@@ -305,20 +305,13 @@
 	void                       *port_priv;
 };
 
-struct cx23885_ir_input {
-	struct input_dev	*dev;
-	struct ir_input_state	ir;
+struct cx23885_kernel_ir {
+	struct cx23885_dev	*cx;
 	char			*name;
 	char			*phys;
 
-	int			start;
-	int			addr;
-	int			rc5_key_timeout;
-	struct timer_list	timer_keyup;
-	u32			last_rc5;
-	u32			last_bit;
-	u32			code;
-	int			active;
+	struct input_dev	*inp_dev;
+	struct ir_dev_props	props;
 };
 
 struct cx23885_dev {
@@ -380,7 +373,7 @@
 	struct work_struct	   ir_tx_work;
 	unsigned long		   ir_tx_notifications;
 
-	struct cx23885_ir_input	   *ir_input;
+	struct cx23885_kernel_ir   *kernel_ir;
 	atomic_t		   ir_input_stopping;
 
 	/* V4l */