Message ID | 20241012233932.255211-1-linux@treblig.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] media: cx18: Remove unused cx18_reset_ir_gpio | expand |
On Sun, 2024-10-13 at 00:39 +0100, linux@treblig.org wrote: > From: "Dr. David Alan Gilbert" <linux@treblig.org> > > cx18_reset_ir_gpio() has been unused in tree since 2009 > commit eefe1010a465 ("V4L/DVB (10759): cx18: Convert GPIO connected > functions to act as v4l2_subdevices") > > It has a comment saying it's exported for use by 'lirc_pvr150' but I > don't > see any sign of it in the lirc git, and I see it removed support > for lirc_i2c.c 'Flavors of the Hauppage PVR-150...' in 2014. > The IR Tx functionality of lirc_zilog (aka lirc_pvr150) used this when it decided the Zilog 8051 microcontroller and firmware had wedged itself. If lirc_zilog is gone from staging and lirc_zilog/lirc_pvr150 is gone from out of tree LIRC, then I guess there's no current caller of this function. Removing it prevents any current or future module from bringing the IR chip out of a bad/stuck state via software. So that's the trade off for removing this function. -Andy > Remove it. > > Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> > --- > drivers/media/pci/cx18/cx18-gpio.c | 15 --------------- > drivers/media/pci/cx18/cx18-gpio.h | 1 - > 2 files changed, 16 deletions(-) > > diff --git a/drivers/media/pci/cx18/cx18-gpio.c > b/drivers/media/pci/cx18/cx18-gpio.c > index c85eb8d25837..485a6cbeb15a 100644 > --- a/drivers/media/pci/cx18/cx18-gpio.c > +++ b/drivers/media/pci/cx18/cx18-gpio.c > @@ -305,21 +305,6 @@ int cx18_gpio_register(struct cx18 *cx, u32 hw) > return v4l2_device_register_subdev(&cx->v4l2_dev, sd); > } > > -void cx18_reset_ir_gpio(void *data) > -{ > - struct cx18 *cx = to_cx18(data); > - > - if (cx->card->gpio_i2c_slave_reset.ir_reset_mask == 0) > - return; > - > - CX18_DEBUG_INFO("Resetting IR microcontroller\n"); > - > - v4l2_subdev_call(&cx->sd_resetctrl, > - core, reset, CX18_GPIO_RESET_Z8F0811); > -} > -EXPORT_SYMBOL(cx18_reset_ir_gpio); > -/* This symbol is exported for use by lirc_pvr150 for the IR-blaster > */ > - > /* Xceive tuner reset function */ > int cx18_reset_tuner_gpio(void *dev, int component, int cmd, int > value) > { > diff --git a/drivers/media/pci/cx18/cx18-gpio.h > b/drivers/media/pci/cx18/cx18-gpio.h > index 0fa4c7ad2286..8d5797dea7f5 100644 > --- a/drivers/media/pci/cx18/cx18-gpio.h > +++ b/drivers/media/pci/cx18/cx18-gpio.h > @@ -17,5 +17,4 @@ enum cx18_gpio_reset_type { > CX18_GPIO_RESET_XC2028 = 2, > }; > > -void cx18_reset_ir_gpio(void *data); > int cx18_reset_tuner_gpio(void *dev, int component, int cmd, int > value);
diff --git a/drivers/media/pci/cx18/cx18-gpio.c b/drivers/media/pci/cx18/cx18-gpio.c index c85eb8d25837..485a6cbeb15a 100644 --- a/drivers/media/pci/cx18/cx18-gpio.c +++ b/drivers/media/pci/cx18/cx18-gpio.c @@ -305,21 +305,6 @@ int cx18_gpio_register(struct cx18 *cx, u32 hw) return v4l2_device_register_subdev(&cx->v4l2_dev, sd); } -void cx18_reset_ir_gpio(void *data) -{ - struct cx18 *cx = to_cx18(data); - - if (cx->card->gpio_i2c_slave_reset.ir_reset_mask == 0) - return; - - CX18_DEBUG_INFO("Resetting IR microcontroller\n"); - - v4l2_subdev_call(&cx->sd_resetctrl, - core, reset, CX18_GPIO_RESET_Z8F0811); -} -EXPORT_SYMBOL(cx18_reset_ir_gpio); -/* This symbol is exported for use by lirc_pvr150 for the IR-blaster */ - /* Xceive tuner reset function */ int cx18_reset_tuner_gpio(void *dev, int component, int cmd, int value) { diff --git a/drivers/media/pci/cx18/cx18-gpio.h b/drivers/media/pci/cx18/cx18-gpio.h index 0fa4c7ad2286..8d5797dea7f5 100644 --- a/drivers/media/pci/cx18/cx18-gpio.h +++ b/drivers/media/pci/cx18/cx18-gpio.h @@ -17,5 +17,4 @@ enum cx18_gpio_reset_type { CX18_GPIO_RESET_XC2028 = 2, }; -void cx18_reset_ir_gpio(void *data); int cx18_reset_tuner_gpio(void *dev, int component, int cmd, int value);