From a368bfb98567d714aab88f6b328599c268800d87 Mon Sep 17 00:00:00 2001 From: Andy Walls Date: Sun, 18 Jul 2010 20:54:52 -0300 Subject: [PATCH] --- yaml --- r: 208133 b: refs/heads/master c: 260e689ba237fb513b49e98841d98e93ea639c75 h: refs/heads/master i: 208131: 9b3f846d6321b7a6e613c0978fff649f6772be95 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/cx23885/cx23885-core.c | 2 +- trunk/drivers/media/video/cx23885/cx23888-ir.c | 3 +-- trunk/include/media/v4l2-subdev.h | 16 +++++++--------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index a181c53dc431..9ef2fe52a682 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 81f287da73377eb408de6879aa6c54c6d57dc1db +refs/heads/master: 260e689ba237fb513b49e98841d98e93ea639c75 diff --git a/trunk/drivers/media/video/cx23885/cx23885-core.c b/trunk/drivers/media/video/cx23885/cx23885-core.c index ff76f64edac1..a74c0ab859ed 100644 --- a/trunk/drivers/media/video/cx23885/cx23885-core.c +++ b/trunk/drivers/media/video/cx23885/cx23885-core.c @@ -1765,7 +1765,7 @@ static irqreturn_t cx23885_irq(int irq, void *dev_id) handled += cx23885_video_irq(dev, vida_status); if (pci_status & PCI_MSK_IR) { - v4l2_subdev_call(dev->sd_ir, ir, interrupt_service_routine, + v4l2_subdev_call(dev->sd_ir, core, interrupt_service_routine, pci_status, &ir_handled); if (ir_handled) handled++; diff --git a/trunk/drivers/media/video/cx23885/cx23888-ir.c b/trunk/drivers/media/video/cx23885/cx23888-ir.c index 28ca90ff223c..51f21636e639 100644 --- a/trunk/drivers/media/video/cx23885/cx23888-ir.c +++ b/trunk/drivers/media/video/cx23885/cx23888-ir.c @@ -1126,11 +1126,10 @@ static const struct v4l2_subdev_core_ops cx23888_ir_core_ops = { .g_register = cx23888_ir_g_register, .s_register = cx23888_ir_s_register, #endif + .interrupt_service_routine = cx23888_ir_irq_handler, }; static const struct v4l2_subdev_ir_ops cx23888_ir_ir_ops = { - .interrupt_service_routine = cx23888_ir_irq_handler, - .rx_read = cx23888_ir_rx_read, .rx_g_parameters = cx23888_ir_rx_g_parameters, .rx_s_parameters = cx23888_ir_rx_s_parameters, diff --git a/trunk/include/media/v4l2-subdev.h b/trunk/include/media/v4l2-subdev.h index a780cca185fd..bacd52568ef9 100644 --- a/trunk/include/media/v4l2-subdev.h +++ b/trunk/include/media/v4l2-subdev.h @@ -131,6 +131,11 @@ struct v4l2_subdev_io_pin_config { s_power: puts subdevice in power saving mode (on == 0) or normal operation mode (on == 1). + + interrupt_service_routine: Called by the bridge chip's interrupt service + handler, when an interrupt status has be raised due to this subdev, + so that this subdev can handle the details. It may schedule work to be + performed later. It must not sleep. *Called from an IRQ context*. */ struct v4l2_subdev_core_ops { int (*g_chip_ident)(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip); @@ -156,6 +161,8 @@ struct v4l2_subdev_core_ops { int (*s_register)(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg); #endif int (*s_power)(struct v4l2_subdev *sd, int on); + int (*interrupt_service_routine)(struct v4l2_subdev *sd, + u32 status, bool *handled); }; /* s_mode: switch the tuner to a specific tuner mode. Replacement of s_radio. @@ -330,11 +337,6 @@ struct v4l2_subdev_sensor_ops { }; /* - interrupt_service_routine: Called by the bridge chip's interrupt service - handler, when an IR interrupt status has be raised due to this subdev, - so that this subdev can handle the details. It may schedule work to be - performed later. It must not sleep. *Called from an IRQ context*. - [rt]x_g_parameters: Get the current operating parameters and state of the the IR receiver or transmitter. @@ -392,10 +394,6 @@ struct v4l2_subdev_ir_parameters { }; struct v4l2_subdev_ir_ops { - /* Common to receiver and transmitter */ - int (*interrupt_service_routine)(struct v4l2_subdev *sd, - u32 status, bool *handled); - /* Receiver */ int (*rx_read)(struct v4l2_subdev *sd, u8 *buf, size_t count, ssize_t *num);