aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2009-09-26 22:17:30 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:40:16 -0500
commit29f8a0a50ac32ac4bc1937dcfdf8de6c406a5f10 (patch)
tree8a7406ebbb15dd7743543901eaeafc00708d31c5 /drivers/media/video/cx23885/cx23885.h
parent74618244003a5a9e11240af8c5795ae747d9a2e0 (diff)
V4L/DVB (13086): cx23885: Add skeleton v4l2_subdev for the CX23888 integrated IR controller
This change adds a skeletal implementation of a v4l2_subdevice to provide encapsulation and abstraction of the CX23888's integrated consumer infrared controller. This change also instantiates the cx23888_ir subdev for the HVR-1850 which has IR hardware physically wired up to a CX23888. The cx23888_ir subdev code is being written with long-term objectives to: 1. port it to the cx25840 module for the CX2584x, CX2583x, CX23885, & CX231xx IR controllers 2. possibly port it to the cx18 module for the CX23418 IR controller 3. have the IR subdevice accessed abstractly in the cx23885 module, so the driver can ignore the difference between the CX23885 and CX23888. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885.h')
-rw-r--r--drivers/media/video/cx23885/cx23885.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index f4c4108f23f3..f7ed146566d9 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -355,6 +355,7 @@ struct cx23885_dev {
355 unsigned char radio_addr; 355 unsigned char radio_addr;
356 unsigned int has_radio; 356 unsigned int has_radio;
357 struct v4l2_subdev *sd_cx25840; 357 struct v4l2_subdev *sd_cx25840;
358 struct v4l2_subdev *sd_ir;
358 359
359 /* V4l */ 360 /* V4l */
360 u32 freq; 361 u32 freq;
@@ -383,6 +384,13 @@ static inline struct cx23885_dev *to_cx23885(struct v4l2_device *v4l2_dev)
383#define call_all(dev, o, f, args...) \ 384#define call_all(dev, o, f, args...) \
384 v4l2_device_call_all(&dev->v4l2_dev, 0, o, f, ##args) 385 v4l2_device_call_all(&dev->v4l2_dev, 0, o, f, ##args)
385 386
387#define CX23885_HW_888_IR (1 << 0)
388
389#define call_hw(dev, grpid, o, f, args...) \
390 v4l2_device_call_all(&dev->v4l2_dev, grpid, o, f, ##args)
391
392extern struct v4l2_subdev *cx23885_find_hw(struct cx23885_dev *dev, u32 hw);
393
386extern struct list_head cx23885_devlist; 394extern struct list_head cx23885_devlist;
387 395
388#define SRAM_CH01 0 /* Video A */ 396#define SRAM_CH01 0 /* Video A */