diff options
author | Andy Walls <awalls@md.metrocast.net> | 2010-07-18 19:54:52 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-08-08 22:42:55 -0400 |
commit | 260e689ba237fb513b49e98841d98e93ea639c75 (patch) | |
tree | b671e9e72757568222fb6c808e2ff7050b8468c8 /drivers/media/video/cx23885 | |
parent | 81f287da73377eb408de6879aa6c54c6d57dc1db (diff) |
V4L/DVB: v4l2_subdev: Move interrupt_service_routine ptr to v4l2_subdev_core_ops
The CX2584x and related cores are multifunction subdevices with a number
of internal blocks that act as interrupt sources. Move the v4L2_subdev
interrupt_service_routine callback from v4l_subdev_ir_ops to
v4l2_subdev_core_ops, as the video and audio blocks of a CX2584x and
related cores can generate interrupts along with the IR block. This
change also makes sense for other subdev's that generate interrupts and
do not have an IR block.
Signed-off-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx23885')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-core.c | 2 | ||||
-rw-r--r-- | drivers/media/video/cx23885/cx23888-ir.c | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c index ff76f64edac1..a74c0ab859ed 100644 --- a/drivers/media/video/cx23885/cx23885-core.c +++ b/drivers/media/video/cx23885/cx23885-core.c | |||
@@ -1765,7 +1765,7 @@ static irqreturn_t cx23885_irq(int irq, void *dev_id) | |||
1765 | handled += cx23885_video_irq(dev, vida_status); | 1765 | handled += cx23885_video_irq(dev, vida_status); |
1766 | 1766 | ||
1767 | if (pci_status & PCI_MSK_IR) { | 1767 | if (pci_status & PCI_MSK_IR) { |
1768 | v4l2_subdev_call(dev->sd_ir, ir, interrupt_service_routine, | 1768 | v4l2_subdev_call(dev->sd_ir, core, interrupt_service_routine, |
1769 | pci_status, &ir_handled); | 1769 | pci_status, &ir_handled); |
1770 | if (ir_handled) | 1770 | if (ir_handled) |
1771 | handled++; | 1771 | handled++; |
diff --git a/drivers/media/video/cx23885/cx23888-ir.c b/drivers/media/video/cx23885/cx23888-ir.c index 28ca90ff223c..51f21636e639 100644 --- a/drivers/media/video/cx23885/cx23888-ir.c +++ b/drivers/media/video/cx23885/cx23888-ir.c | |||
@@ -1126,11 +1126,10 @@ static const struct v4l2_subdev_core_ops cx23888_ir_core_ops = { | |||
1126 | .g_register = cx23888_ir_g_register, | 1126 | .g_register = cx23888_ir_g_register, |
1127 | .s_register = cx23888_ir_s_register, | 1127 | .s_register = cx23888_ir_s_register, |
1128 | #endif | 1128 | #endif |
1129 | .interrupt_service_routine = cx23888_ir_irq_handler, | ||
1129 | }; | 1130 | }; |
1130 | 1131 | ||
1131 | static const struct v4l2_subdev_ir_ops cx23888_ir_ir_ops = { | 1132 | static const struct v4l2_subdev_ir_ops cx23888_ir_ir_ops = { |
1132 | .interrupt_service_routine = cx23888_ir_irq_handler, | ||
1133 | |||
1134 | .rx_read = cx23888_ir_rx_read, | 1133 | .rx_read = cx23888_ir_rx_read, |
1135 | .rx_g_parameters = cx23888_ir_rx_g_parameters, | 1134 | .rx_g_parameters = cx23888_ir_rx_g_parameters, |
1136 | .rx_s_parameters = cx23888_ir_rx_s_parameters, | 1135 | .rx_s_parameters = cx23888_ir_rx_s_parameters, |