mirror of
https://github.com/tbsdtv/media_build.git
synced 2025-07-23 04:13:02 +02:00
2291 lines
80 KiB
Diff
2291 lines
80 KiB
Diff
diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c
|
|
index dbd3e2fff594..41ef8cdba28c 100644
|
|
--- a/drivers/media/rc/gpio-ir-recv.c
|
|
+++ b/drivers/media/rc/gpio-ir-recv.c
|
|
@@ -128,7 +128,7 @@ static int gpio_ir_recv_probe(struct platform_device *pdev)
|
|
"gpio-ir-recv-irq", gpio_dev);
|
|
}
|
|
|
|
-static void gpio_ir_recv_remove(struct platform_device *pdev)
|
|
+static int gpio_ir_recv_remove(struct platform_device *pdev)
|
|
{
|
|
struct gpio_rc_dev *gpio_dev = platform_get_drvdata(pdev);
|
|
struct device *pmdev = gpio_dev->pmdev;
|
|
@@ -141,6 +141,8 @@ static void gpio_ir_recv_remove(struct platform_device *pdev)
|
|
pm_runtime_put_noidle(pmdev);
|
|
pm_runtime_set_suspended(pmdev);
|
|
}
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/rc/img-ir/img-ir-core.c b/drivers/media/rc/img-ir/img-ir-core.c
|
|
index 067f4bc7fcc3..be04d34dc8d2 100644
|
|
--- a/drivers/media/rc/img-ir/img-ir-core.c
|
|
+++ b/drivers/media/rc/img-ir/img-ir-core.c
|
|
@@ -152,7 +152,7 @@ static int img_ir_probe(struct platform_device *pdev)
|
|
return error;
|
|
}
|
|
|
|
-static void img_ir_remove(struct platform_device *pdev)
|
|
+static int img_ir_remove(struct platform_device *pdev)
|
|
{
|
|
struct img_ir_priv *priv = platform_get_drvdata(pdev);
|
|
|
|
@@ -164,6 +164,8 @@ static void img_ir_remove(struct platform_device *pdev)
|
|
clk_disable_unprepare(priv->clk);
|
|
if (!IS_ERR(priv->sys_clk))
|
|
clk_disable_unprepare(priv->sys_clk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static SIMPLE_DEV_PM_OPS(img_ir_pmops, img_ir_suspend, img_ir_resume);
|
|
diff --git a/drivers/media/rc/ir-hix5hd2.c b/drivers/media/rc/ir-hix5hd2.c
|
|
index afd80d2350c6..1298e523dba1 100644
|
|
--- a/drivers/media/rc/ir-hix5hd2.c
|
|
+++ b/drivers/media/rc/ir-hix5hd2.c
|
|
@@ -340,12 +340,14 @@ static int hix5hd2_ir_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void hix5hd2_ir_remove(struct platform_device *pdev)
|
|
+static int hix5hd2_ir_remove(struct platform_device *pdev)
|
|
{
|
|
struct hix5hd2_ir_priv *priv = platform_get_drvdata(pdev);
|
|
|
|
clk_disable_unprepare(priv->clock);
|
|
rc_unregister_device(priv->rdev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/rc/meson-ir-tx.c b/drivers/media/rc/meson-ir-tx.c
|
|
index 40e899694f86..abdb62b16e98 100644
|
|
--- a/drivers/media/rc/meson-ir-tx.c
|
|
+++ b/drivers/media/rc/meson-ir-tx.c
|
|
@@ -372,11 +372,13 @@ static int __init meson_irtx_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void meson_irtx_remove(struct platform_device *pdev)
|
|
+static int meson_irtx_remove(struct platform_device *pdev)
|
|
{
|
|
struct rc_dev *rc = platform_get_drvdata(pdev);
|
|
|
|
rc_unregister_device(rc);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id meson_irtx_dt_match[] = {
|
|
diff --git a/drivers/media/rc/meson-ir.c b/drivers/media/rc/meson-ir.c
|
|
index 49aa4392cfe1..42df2d67bb61 100644
|
|
--- a/drivers/media/rc/meson-ir.c
|
|
+++ b/drivers/media/rc/meson-ir.c
|
|
@@ -177,7 +177,7 @@ static int meson_ir_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void meson_ir_remove(struct platform_device *pdev)
|
|
+static int meson_ir_remove(struct platform_device *pdev)
|
|
{
|
|
struct meson_ir *ir = platform_get_drvdata(pdev);
|
|
unsigned long flags;
|
|
@@ -186,6 +186,8 @@ static void meson_ir_remove(struct platform_device *pdev)
|
|
spin_lock_irqsave(&ir->lock, flags);
|
|
meson_ir_set_mask(ir, IR_DEC_REG1, REG1_ENABLE, 0);
|
|
spin_unlock_irqrestore(&ir->lock, flags);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static void meson_ir_shutdown(struct platform_device *pdev)
|
|
diff --git a/drivers/media/rc/mtk-cir.c b/drivers/media/rc/mtk-cir.c
|
|
index 020b8acff91d..fb4766d4fcbc 100644
|
|
--- a/drivers/media/rc/mtk-cir.c
|
|
+++ b/drivers/media/rc/mtk-cir.c
|
|
@@ -421,7 +421,7 @@ static int mtk_ir_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mtk_ir_remove(struct platform_device *pdev)
|
|
+static int mtk_ir_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_ir *ir = platform_get_drvdata(pdev);
|
|
|
|
@@ -435,6 +435,8 @@ static void mtk_ir_remove(struct platform_device *pdev)
|
|
|
|
clk_disable_unprepare(ir->bus);
|
|
clk_disable_unprepare(ir->clk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver mtk_ir_driver = {
|
|
diff --git a/drivers/media/rc/st_rc.c b/drivers/media/rc/st_rc.c
|
|
index 6539fa0a6e79..7fa892d5f352 100644
|
|
--- a/drivers/media/rc/st_rc.c
|
|
+++ b/drivers/media/rc/st_rc.c
|
|
@@ -195,7 +195,7 @@ static int st_rc_hardware_init(struct st_rc_device *dev)
|
|
return 0;
|
|
}
|
|
|
|
-static void st_rc_remove(struct platform_device *pdev)
|
|
+static int st_rc_remove(struct platform_device *pdev)
|
|
{
|
|
struct st_rc_device *rc_dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -203,6 +203,8 @@ static void st_rc_remove(struct platform_device *pdev)
|
|
device_init_wakeup(&pdev->dev, false);
|
|
clk_disable_unprepare(rc_dev->sys_clock);
|
|
rc_unregister_device(rc_dev->rdev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int st_rc_open(struct rc_dev *rdev)
|
|
diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c
|
|
index 5be5f943cbc8..85d3b66a342a 100644
|
|
--- a/drivers/media/rc/sunxi-cir.c
|
|
+++ b/drivers/media/rc/sunxi-cir.c
|
|
@@ -365,12 +365,14 @@ static int sunxi_ir_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sunxi_ir_remove(struct platform_device *pdev)
|
|
+static int sunxi_ir_remove(struct platform_device *pdev)
|
|
{
|
|
struct sunxi_ir *ir = platform_get_drvdata(pdev);
|
|
|
|
rc_unregister_device(ir->rc);
|
|
sunxi_ir_hw_exit(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static void sunxi_ir_shutdown(struct platform_device *pdev)
|
|
diff --git a/drivers/media/cec/platform/cec-gpio/cec-gpio.c b/drivers/media/cec/platform/cec-gpio/cec-gpio.c
|
|
index 8015096be1e3..c8c4efc83f5f 100644
|
|
--- a/drivers/media/cec/platform/cec-gpio/cec-gpio.c
|
|
+++ b/drivers/media/cec/platform/cec-gpio/cec-gpio.c
|
|
@@ -269,12 +269,13 @@ static int cec_gpio_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void cec_gpio_remove(struct platform_device *pdev)
|
|
+static int cec_gpio_remove(struct platform_device *pdev)
|
|
{
|
|
struct cec_gpio *cec = platform_get_drvdata(pdev);
|
|
|
|
cec_notifier_cec_adap_unregister(cec->notifier, cec->adap);
|
|
cec_unregister_adapter(cec->adap);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id cec_gpio_match[] = {
|
|
diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
|
|
index 1ebe3521b160..556a66b58bd2 100644
|
|
--- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
|
|
+++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
|
|
@@ -332,7 +332,7 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void cros_ec_cec_remove(struct platform_device *pdev)
|
|
+static int cros_ec_cec_remove(struct platform_device *pdev)
|
|
{
|
|
struct cros_ec_cec *cros_ec_cec = platform_get_drvdata(pdev);
|
|
struct device *dev = &pdev->dev;
|
|
@@ -352,6 +352,7 @@ static void cros_ec_cec_remove(struct platform_device *pdev)
|
|
cec_notifier_cec_adap_unregister(cros_ec_cec->notify,
|
|
cros_ec_cec->adap);
|
|
cec_unregister_adapter(cros_ec_cec->adap);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver cros_ec_cec_driver = {
|
|
diff --git a/drivers/media/cec/platform/seco/seco-cec.c b/drivers/media/cec/platform/seco/seco-cec.c
|
|
index b7bb49f02395..0586e59ba90f 100644
|
|
--- a/drivers/media/cec/platform/seco/seco-cec.c
|
|
+++ b/drivers/media/cec/platform/seco/seco-cec.c
|
|
@@ -668,7 +668,7 @@ static int secocec_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void secocec_remove(struct platform_device *pdev)
|
|
+static int secocec_remove(struct platform_device *pdev)
|
|
{
|
|
struct secocec_data *secocec = platform_get_drvdata(pdev);
|
|
u16 val;
|
|
@@ -686,6 +686,7 @@ static void secocec_remove(struct platform_device *pdev)
|
|
release_region(BRA_SMB_BASE_ADDR, 7);
|
|
|
|
dev_dbg(&pdev->dev, "CEC device removed\n");
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.c b/drivers/media/dvb-frontends/rtl2832_sdr.c
|
|
index a6597e52746d..8a1d06a2d19a 100644
|
|
--- a/drivers/media/dvb-frontends/rtl2832_sdr.c
|
|
+++ b/drivers/media/dvb-frontends/rtl2832_sdr.c
|
|
@@ -1463,7 +1463,7 @@ static int rtl2832_sdr_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rtl2832_sdr_remove(struct platform_device *pdev)
|
|
+static int rtl2832_sdr_remove(struct platform_device *pdev)
|
|
{
|
|
struct rtl2832_sdr_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -1479,6 +1479,7 @@ static void rtl2832_sdr_remove(struct platform_device *pdev)
|
|
mutex_unlock(&dev->vb_queue_lock);
|
|
v4l2_device_put(&dev->v4l2_dev);
|
|
module_put(pdev->dev.parent->driver->owner);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver rtl2832_sdr_driver = {
|
|
diff --git a/drivers/media/dvb-frontends/zd1301_demod.c b/drivers/media/dvb-frontends/zd1301_demod.c
|
|
index e8b9e67a8717..a61778873eb0 100644
|
|
--- a/drivers/media/dvb-frontends/zd1301_demod.c
|
|
+++ b/drivers/media/dvb-frontends/zd1301_demod.c
|
|
@@ -515,7 +515,7 @@ static int zd1301_demod_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void zd1301_demod_remove(struct platform_device *pdev)
|
|
+static int zd1301_demod_remove(struct platform_device *pdev)
|
|
{
|
|
struct zd1301_demod_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -523,6 +523,7 @@ static void zd1301_demod_remove(struct platform_device *pdev)
|
|
|
|
i2c_del_adapter(&dev->adapter);
|
|
kfree(dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver zd1301_demod_driver = {
|
|
diff --git a/drivers/media/platform/allegro-dvt/allegro-core.c b/drivers/media/platform/allegro-dvt/allegro-core.c
|
|
index 32a55b2e1c56..2423714afcb9 100644
|
|
--- a/drivers/media/platform/allegro-dvt/allegro-core.c
|
|
+++ b/drivers/media/platform/allegro-dvt/allegro-core.c
|
|
@@ -3919,7 +3919,7 @@ static int allegro_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void allegro_remove(struct platform_device *pdev)
|
|
+static int allegro_remove(struct platform_device *pdev)
|
|
{
|
|
struct allegro_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -3935,6 +3935,8 @@ static void allegro_remove(struct platform_device *pdev)
|
|
pm_runtime_disable(&dev->plat_dev->dev);
|
|
|
|
v4l2_device_unregister(&dev->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int allegro_runtime_resume(struct device *device)
|
|
diff --git a/drivers/media/platform/amlogic/meson-ge2d/ge2d.c b/drivers/media/platform/amlogic/meson-ge2d/ge2d.c
|
|
index b05c944d5dc2..142d421a8d76 100644
|
|
--- a/drivers/media/platform/amlogic/meson-ge2d/ge2d.c
|
|
+++ b/drivers/media/platform/amlogic/meson-ge2d/ge2d.c
|
|
@@ -1024,7 +1024,7 @@ static int ge2d_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void ge2d_remove(struct platform_device *pdev)
|
|
+static int ge2d_remove(struct platform_device *pdev)
|
|
{
|
|
struct meson_ge2d *ge2d = platform_get_drvdata(pdev);
|
|
|
|
@@ -1032,6 +1032,8 @@ static void ge2d_remove(struct platform_device *pdev)
|
|
v4l2_m2m_release(ge2d->m2m_dev);
|
|
v4l2_device_unregister(&ge2d->v4l2_dev);
|
|
clk_disable_unprepare(ge2d->clk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id meson_ge2d_match[] = {
|
|
diff --git a/drivers/media/platform/amphion/vpu_core.c b/drivers/media/platform/amphion/vpu_core.c
|
|
index 75f8932bc5e5..57d56c680c07 100644
|
|
--- a/drivers/media/platform/amphion/vpu_core.c
|
|
+++ b/drivers/media/platform/amphion/vpu_core.c
|
|
@@ -709,7 +709,7 @@ static int vpu_core_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vpu_core_remove(struct platform_device *pdev)
|
|
+static int vpu_core_remove(struct platform_device *pdev)
|
|
{
|
|
struct device *dev = &pdev->dev;
|
|
struct vpu_core *core = platform_get_drvdata(pdev);
|
|
@@ -728,6 +728,8 @@ static void vpu_core_remove(struct platform_device *pdev)
|
|
memunmap(core->rpc.virt);
|
|
mutex_destroy(&core->lock);
|
|
mutex_destroy(&core->cmd_lock);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused vpu_core_runtime_resume(struct device *dev)
|
|
diff --git a/drivers/media/platform/amphion/vpu_drv.c b/drivers/media/platform/amphion/vpu_drv.c
|
|
index b43721e73b00..f01ce49d27e8 100644
|
|
--- a/drivers/media/platform/amphion/vpu_drv.c
|
|
+++ b/drivers/media/platform/amphion/vpu_drv.c
|
|
@@ -157,7 +157,7 @@ static int vpu_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vpu_remove(struct platform_device *pdev)
|
|
+static int vpu_remove(struct platform_device *pdev)
|
|
{
|
|
struct vpu_dev *vpu = platform_get_drvdata(pdev);
|
|
struct device *dev = &pdev->dev;
|
|
@@ -173,6 +173,8 @@ static void vpu_remove(struct platform_device *pdev)
|
|
media_device_cleanup(&vpu->mdev);
|
|
v4l2_device_unregister(&vpu->v4l2_dev);
|
|
mutex_destroy(&vpu->lock);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused vpu_runtime_resume(struct device *dev)
|
|
diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/platform/aspeed/aspeed-video.c
|
|
index b173499378c6..bf4fd738be2a 100644
|
|
--- a/drivers/media/platform/aspeed/aspeed-video.c
|
|
+++ b/drivers/media/platform/aspeed/aspeed-video.c
|
|
@@ -2228,6 +2228,8 @@ static void aspeed_video_remove(struct platform_device *pdev)
|
|
aspeed_video_free_buf(video, &video->jpeg);
|
|
|
|
of_reserved_mem_device_release(dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver aspeed_video_driver = {
|
|
diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platform/atmel/atmel-isi.c
|
|
index ab7ee6b88843..5c24b45e95a2 100644
|
|
--- a/drivers/media/platform/atmel/atmel-isi.c
|
|
+++ b/drivers/media/platform/atmel/atmel-isi.c
|
|
@@ -1317,7 +1317,7 @@ static int atmel_isi_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void atmel_isi_remove(struct platform_device *pdev)
|
|
+static int atmel_isi_remove(struct platform_device *pdev)
|
|
{
|
|
struct atmel_isi *isi = platform_get_drvdata(pdev);
|
|
|
|
@@ -1329,6 +1329,8 @@ static void atmel_isi_remove(struct platform_device *pdev)
|
|
v4l2_async_nf_unregister(&isi->notifier);
|
|
v4l2_async_nf_cleanup(&isi->notifier);
|
|
v4l2_device_unregister(&isi->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
|
|
index f74d67294639..69cbcf64eb56 100644
|
|
--- a/drivers/media/platform/cadence/cdns-csi2rx.c
|
|
+++ b/drivers/media/platform/cadence/cdns-csi2rx.c
|
|
@@ -473,12 +473,13 @@ static int csi2rx_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void csi2rx_remove(struct platform_device *pdev)
|
|
+static int csi2rx_remove(struct platform_device *pdev)
|
|
{
|
|
struct csi2rx_priv *csi2rx = platform_get_drvdata(pdev);
|
|
|
|
v4l2_async_unregister_subdev(&csi2rx->subdev);
|
|
kfree(csi2rx);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id csi2rx_of_table[] = {
|
|
diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
|
|
index 2686f53f5b12..459f4ac9423b 100644
|
|
--- a/drivers/media/platform/cadence/cdns-csi2tx.c
|
|
+++ b/drivers/media/platform/cadence/cdns-csi2tx.c
|
|
@@ -635,12 +635,13 @@ static int csi2tx_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void csi2tx_remove(struct platform_device *pdev)
|
|
+static int csi2tx_remove(struct platform_device *pdev)
|
|
{
|
|
struct csi2tx_priv *csi2tx = platform_get_drvdata(pdev);
|
|
|
|
v4l2_async_unregister_subdev(&csi2tx->subdev);
|
|
kfree(csi2tx);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver csi2tx_driver = {
|
|
diff --git a/drivers/media/platform/chips-media/coda-common.c b/drivers/media/platform/chips-media/coda-common.c
|
|
index 136cd39dc4dd..fed514cd3007 100644
|
|
--- a/drivers/media/platform/chips-media/coda-common.c
|
|
+++ b/drivers/media/platform/chips-media/coda-common.c
|
|
@@ -3300,7 +3300,7 @@ static int coda_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void coda_remove(struct platform_device *pdev)
|
|
+static int coda_remove(struct platform_device *pdev)
|
|
{
|
|
struct coda_dev *dev = platform_get_drvdata(pdev);
|
|
int i;
|
|
@@ -3322,6 +3322,8 @@ static void coda_remove(struct platform_device *pdev)
|
|
coda_free_aux_buf(dev, &dev->workbuf);
|
|
debugfs_remove_recursive(dev->debugfs_root);
|
|
ida_destroy(&dev->ida);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/intel/pxa_camera.c b/drivers/media/platform/intel/pxa_camera.c
|
|
index f57203d55b4d..59679c476858 100644
|
|
--- a/drivers/media/platform/intel/pxa_camera.c
|
|
+++ b/drivers/media/platform/intel/pxa_camera.c
|
|
@@ -2421,7 +2421,7 @@ static int pxa_camera_probe(struct platform_device *pdev)
|
|
return err;
|
|
}
|
|
|
|
-static void pxa_camera_remove(struct platform_device *pdev)
|
|
+static int pxa_camera_remove(struct platform_device *pdev)
|
|
{
|
|
struct pxa_camera_dev *pcdev = platform_get_drvdata(pdev);
|
|
|
|
@@ -2437,6 +2437,8 @@ static void pxa_camera_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&pcdev->v4l2_dev);
|
|
|
|
dev_info(&pdev->dev, "PXA Camera driver unloaded\n");
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct dev_pm_ops pxa_camera_pm = {
|
|
diff --git a/drivers/media/platform/m2m-deinterlace.c b/drivers/media/platform/m2m-deinterlace.c
|
|
index f869560eb018..e30554da4c02 100644
|
|
--- a/drivers/media/platform/m2m-deinterlace.c
|
|
+++ b/drivers/media/platform/m2m-deinterlace.c
|
|
@@ -984,7 +984,7 @@ static int deinterlace_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void deinterlace_remove(struct platform_device *pdev)
|
|
+static int deinterlace_remove(struct platform_device *pdev)
|
|
{
|
|
struct deinterlace_dev *pcdev = platform_get_drvdata(pdev);
|
|
|
|
@@ -993,11 +993,12 @@ static void deinterlace_remove(struct platform_device *pdev)
|
|
video_unregister_device(&pcdev->vfd);
|
|
v4l2_device_unregister(&pcdev->v4l2_dev);
|
|
dma_release_channel(pcdev->dma_chan);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver deinterlace_pdrv = {
|
|
.probe = deinterlace_probe,
|
|
- .remove = deinterlace_remove,
|
|
+ .remove = deinterlace_remove,
|
|
.driver = {
|
|
.name = MEM2MEM_NAME,
|
|
},
|
|
diff --git a/drivers/media/platform/marvell/mmp-driver.c b/drivers/media/platform/marvell/mmp-driver.c
|
|
index 36eb8d669e98..1e63180c9647 100644
|
|
--- a/drivers/media/platform/marvell/mmp-driver.c
|
|
+++ b/drivers/media/platform/marvell/mmp-driver.c
|
|
@@ -287,13 +287,15 @@ static int mmpcam_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mmpcam_remove(struct platform_device *pdev)
|
|
+static int mmpcam_remove(struct platform_device *pdev)
|
|
{
|
|
struct mmp_camera *cam = platform_get_drvdata(pdev);
|
|
struct mcam_camera *mcam = &cam->mcam;
|
|
|
|
mccic_shutdown(mcam);
|
|
pm_runtime_force_suspend(mcam->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
/*
|
|
diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
|
|
index bbbaa12574b3..679af6b08c08 100644
|
|
--- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
|
|
+++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
|
|
@@ -1401,7 +1401,7 @@ static int mtk_jpeg_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mtk_jpeg_remove(struct platform_device *pdev)
|
|
+static int mtk_jpeg_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_jpeg_dev *jpeg = platform_get_drvdata(pdev);
|
|
|
|
@@ -1409,6 +1409,8 @@ static void mtk_jpeg_remove(struct platform_device *pdev)
|
|
video_unregister_device(jpeg->vdev);
|
|
v4l2_m2m_release(jpeg->m2m_dev);
|
|
v4l2_device_unregister(&jpeg->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static __maybe_unused int mtk_jpeg_pm_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/mediatek/mdp/mtk_mdp_core.c b/drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
|
|
index 6f0b39f3ea26..53d0d1e54c42 100644
|
|
--- a/drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
|
|
+++ b/drivers/media/platform/mediatek/mdp/mtk_mdp_core.c
|
|
@@ -235,7 +235,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mtk_mdp_remove(struct platform_device *pdev)
|
|
+static int mtk_mdp_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_mdp_dev *mdp = platform_get_drvdata(pdev);
|
|
struct mtk_mdp_comp *comp, *comp_temp;
|
|
@@ -255,6 +255,8 @@ static void mtk_mdp_remove(struct platform_device *pdev)
|
|
}
|
|
|
|
dev_dbg(&pdev->dev, "%s driver unloaded\n", pdev->name);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused mtk_mdp_pm_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
|
|
index ce13ba3d5c79..2c127369080e 100644
|
|
--- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
|
|
+++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
|
|
@@ -272,13 +272,15 @@ static int mdp_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mdp_remove(struct platform_device *pdev)
|
|
+static int mdp_remove(struct platform_device *pdev)
|
|
{
|
|
struct mdp_dev *mdp = platform_get_drvdata(pdev);
|
|
|
|
v4l2_device_unregister(&mdp->v4l2_dev);
|
|
|
|
dev_dbg(&pdev->dev, "%s driver unloaded\n", pdev->name);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused mdp_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
|
|
index 9607094c2a99..aef5936d2903 100644
|
|
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
|
|
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
|
|
@@ -482,7 +482,7 @@ static const struct of_device_id mtk_vcodec_match[] = {
|
|
|
|
MODULE_DEVICE_TABLE(of, mtk_vcodec_match);
|
|
|
|
-static void mtk_vcodec_dec_remove(struct platform_device *pdev)
|
|
+static int mtk_vcodec_dec_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_vcodec_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -505,6 +505,7 @@ static void mtk_vcodec_dec_remove(struct platform_device *pdev)
|
|
if (!dev->vdec_pdata->is_subdev_supported)
|
|
pm_runtime_disable(dev->pm.dev);
|
|
mtk_vcodec_fw_release(dev->fw_handler);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver mtk_vcodec_dec_driver = {
|
|
diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
|
|
index 07eceed33f07..0af0c9681141 100644
|
|
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
|
|
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
|
|
@@ -457,7 +457,7 @@ static const struct of_device_id mtk_vcodec_enc_match[] = {
|
|
};
|
|
MODULE_DEVICE_TABLE(of, mtk_vcodec_enc_match);
|
|
|
|
-static void mtk_vcodec_enc_remove(struct platform_device *pdev)
|
|
+static int mtk_vcodec_enc_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_vcodec_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
diff --git a/drivers/media/platform/mediatek/vpu/mtk_vpu.c b/drivers/media/platform/mediatek/vpu/mtk_vpu.c
|
|
index d4b57a7be7a5..f5c4b2e3086b 100644
|
|
--- a/drivers/media/platform/mediatek/vpu/mtk_vpu.c
|
|
+++ b/drivers/media/platform/mediatek/vpu/mtk_vpu.c
|
|
@@ -955,7 +955,7 @@ static const struct of_device_id mtk_vpu_match[] = {
|
|
};
|
|
MODULE_DEVICE_TABLE(of, mtk_vpu_match);
|
|
|
|
-static void mtk_vpu_remove(struct platform_device *pdev)
|
|
+static int mtk_vpu_remove(struct platform_device *pdev)
|
|
{
|
|
struct mtk_vpu *vpu = platform_get_drvdata(pdev);
|
|
|
|
@@ -968,6 +968,8 @@ static void mtk_vpu_remove(struct platform_device *pdev)
|
|
vpu_free_ext_mem(vpu, D_FW);
|
|
mutex_destroy(&vpu->vpu_mutex);
|
|
clk_unprepare(vpu->clk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int mtk_vpu_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/microchip/microchip-csi2dc.c b/drivers/media/platform/microchip/microchip-csi2dc.c
|
|
index 3eb22352a0d6..d5b359f607ae 100644
|
|
--- a/drivers/media/platform/microchip/microchip-csi2dc.c
|
|
+++ b/drivers/media/platform/microchip/microchip-csi2dc.c
|
|
@@ -741,7 +741,7 @@ static int csi2dc_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void csi2dc_remove(struct platform_device *pdev)
|
|
+static int csi2dc_remove(struct platform_device *pdev)
|
|
{
|
|
struct csi2dc_device *csi2dc = platform_get_drvdata(pdev);
|
|
|
|
@@ -751,6 +751,8 @@ static void csi2dc_remove(struct platform_device *pdev)
|
|
v4l2_async_nf_unregister(&csi2dc->notifier);
|
|
v4l2_async_nf_cleanup(&csi2dc->notifier);
|
|
media_entity_cleanup(&csi2dc->csi2dc_sd.entity);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused csi2dc_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/microchip/microchip-sama5d2-isc.c b/drivers/media/platform/microchip/microchip-sama5d2-isc.c
|
|
index e93de24da516..b4fc8e8cb14c 100644
|
|
--- a/drivers/media/platform/microchip/microchip-sama5d2-isc.c
|
|
+++ b/drivers/media/platform/microchip/microchip-sama5d2-isc.c
|
|
@@ -608,7 +608,7 @@ static int microchip_isc_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void microchip_isc_remove(struct platform_device *pdev)
|
|
+static int microchip_isc_remove(struct platform_device *pdev)
|
|
{
|
|
struct isc_device *isc = platform_get_drvdata(pdev);
|
|
|
|
@@ -624,6 +624,8 @@ static void microchip_isc_remove(struct platform_device *pdev)
|
|
clk_disable_unprepare(isc->hclock);
|
|
|
|
microchip_isc_clk_cleanup(isc);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused isc_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/microchip/microchip-sama7g5-isc.c b/drivers/media/platform/microchip/microchip-sama7g5-isc.c
|
|
index c998ae4f7e63..038f196d4ca2 100644
|
|
--- a/drivers/media/platform/microchip/microchip-sama7g5-isc.c
|
|
+++ b/drivers/media/platform/microchip/microchip-sama7g5-isc.c
|
|
@@ -577,7 +577,7 @@ static int microchip_xisc_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void microchip_xisc_remove(struct platform_device *pdev)
|
|
+static int microchip_xisc_remove(struct platform_device *pdev)
|
|
{
|
|
struct isc_device *isc = platform_get_drvdata(pdev);
|
|
|
|
@@ -592,6 +592,8 @@ static void microchip_xisc_remove(struct platform_device *pdev)
|
|
clk_disable_unprepare(isc->hclock);
|
|
|
|
microchip_isc_clk_cleanup(isc);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused xisc_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/nvidia/tegra-vde/vde.c b/drivers/media/platform/nvidia/tegra-vde/vde.c
|
|
index 16c33f9f8246..593ba0109175 100644
|
|
--- a/drivers/media/platform/nvidia/tegra-vde/vde.c
|
|
+++ b/drivers/media/platform/nvidia/tegra-vde/vde.c
|
|
@@ -378,7 +378,7 @@ static int tegra_vde_probe(struct platform_device *pdev)
|
|
return err;
|
|
}
|
|
|
|
-static void tegra_vde_remove(struct platform_device *pdev)
|
|
+static int tegra_vde_remove(struct platform_device *pdev)
|
|
{
|
|
struct tegra_vde *vde = platform_get_drvdata(pdev);
|
|
struct device *dev = &pdev->dev;
|
|
@@ -407,6 +407,8 @@ static void tegra_vde_remove(struct platform_device *pdev)
|
|
|
|
gen_pool_free(vde->iram_pool, (unsigned long)vde->iram,
|
|
gen_pool_size(vde->iram_pool));
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static void tegra_vde_shutdown(struct platform_device *pdev)
|
|
diff --git a/drivers/media/platform/nxp/dw100/dw100.c b/drivers/media/platform/nxp/dw100/dw100.c
|
|
index 6dabc8c1f19b..427cd48e9685 100644
|
|
--- a/drivers/media/platform/nxp/dw100/dw100.c
|
|
+++ b/drivers/media/platform/nxp/dw100/dw100.c
|
|
@@ -1631,7 +1631,7 @@ static int dw100_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void dw100_remove(struct platform_device *pdev)
|
|
+static int dw100_remove(struct platform_device *pdev)
|
|
{
|
|
struct dw100_device *dw_dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -1647,6 +1647,8 @@ static void dw100_remove(struct platform_device *pdev)
|
|
mutex_destroy(dw_dev->vfd.lock);
|
|
v4l2_m2m_release(dw_dev->m2m_dev);
|
|
v4l2_device_unregister(&dw_dev->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused dw100_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
|
|
index c0fe718d5129..7ff3f0be5f9f 100644
|
|
--- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
|
|
+++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
|
|
@@ -2912,7 +2912,7 @@ static const struct dev_pm_ops mxc_jpeg_pm_ops = {
|
|
SET_SYSTEM_SLEEP_PM_OPS(mxc_jpeg_suspend, mxc_jpeg_resume)
|
|
};
|
|
|
|
-static void mxc_jpeg_remove(struct platform_device *pdev)
|
|
+static int mxc_jpeg_remove(struct platform_device *pdev)
|
|
{
|
|
unsigned int slot;
|
|
struct mxc_jpeg_dev *jpeg = platform_get_drvdata(pdev);
|
|
@@ -2925,6 +2925,7 @@ static void mxc_jpeg_remove(struct platform_device *pdev)
|
|
v4l2_m2m_release(jpeg->m2m_dev);
|
|
v4l2_device_unregister(&jpeg->v4l2_dev);
|
|
mxc_jpeg_detach_pm_domains(jpeg);
|
|
+ return 0;
|
|
}
|
|
|
|
MODULE_DEVICE_TABLE(of, mxc_jpeg_match);
|
|
diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c
|
|
index e32d3e3d5e7b..c8491a69ffa4 100644
|
|
--- a/drivers/media/platform/nxp/imx-mipi-csis.c
|
|
+++ b/drivers/media/platform/nxp/imx-mipi-csis.c
|
|
@@ -1503,7 +1503,7 @@ static int mipi_csis_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void mipi_csis_remove(struct platform_device *pdev)
|
|
+static int mipi_csis_remove(struct platform_device *pdev)
|
|
{
|
|
struct v4l2_subdev *sd = platform_get_drvdata(pdev);
|
|
struct mipi_csis_device *csis = sd_to_mipi_csis_device(sd);
|
|
@@ -1520,6 +1520,8 @@ static void mipi_csis_remove(struct platform_device *pdev)
|
|
media_entity_cleanup(&csis->sd.entity);
|
|
fwnode_handle_put(csis->sd.fwnode);
|
|
pm_runtime_set_suspended(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id mipi_csis_of_match[] = {
|
|
diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c
|
|
index 21a5d01b010e..7e8e392ce77f 100644
|
|
--- a/drivers/media/platform/nxp/imx-pxp.c
|
|
+++ b/drivers/media/platform/nxp/imx-pxp.c
|
|
@@ -1904,7 +1904,7 @@ static int pxp_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void pxp_remove(struct platform_device *pdev)
|
|
+static int pxp_remove(struct platform_device *pdev)
|
|
{
|
|
struct pxp_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -1922,6 +1922,8 @@ static void pxp_remove(struct platform_device *pdev)
|
|
video_unregister_device(&dev->vfd);
|
|
v4l2_m2m_release(dev->m2m_dev);
|
|
v4l2_device_unregister(&dev->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct pxp_pdata pxp_imx6ull_pdata = {
|
|
diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c
|
|
index f383137ab7ef..524fea97888c 100644
|
|
--- a/drivers/media/platform/nxp/imx7-media-csi.c
|
|
+++ b/drivers/media/platform/nxp/imx7-media-csi.c
|
|
@@ -2239,7 +2239,7 @@ static int imx7_csi_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void imx7_csi_remove(struct platform_device *pdev)
|
|
+static int imx7_csi_remove(struct platform_device *pdev)
|
|
{
|
|
struct imx7_csi *csi = platform_get_drvdata(pdev);
|
|
|
|
@@ -2248,6 +2248,8 @@ static void imx7_csi_remove(struct platform_device *pdev)
|
|
v4l2_async_nf_unregister(&csi->notifier);
|
|
v4l2_async_nf_cleanup(&csi->notifier);
|
|
v4l2_async_unregister_subdev(&csi->sd);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id imx7_csi_of_match[] = {
|
|
diff --git a/drivers/media/platform/nxp/mx2_emmaprp.c b/drivers/media/platform/nxp/mx2_emmaprp.c
|
|
index d04b03affb96..cd215d57d882 100644
|
|
--- a/drivers/media/platform/nxp/mx2_emmaprp.c
|
|
+++ b/drivers/media/platform/nxp/mx2_emmaprp.c
|
|
@@ -888,7 +888,7 @@ static int emmaprp_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void emmaprp_remove(struct platform_device *pdev)
|
|
+static int emmaprp_remove(struct platform_device *pdev)
|
|
{
|
|
struct emmaprp_dev *pcdev = platform_get_drvdata(pdev);
|
|
|
|
@@ -898,6 +898,7 @@ static void emmaprp_remove(struct platform_device *pdev)
|
|
v4l2_m2m_release(pcdev->m2m_dev);
|
|
v4l2_device_unregister(&pcdev->v4l2_dev);
|
|
mutex_destroy(&pcdev->dev_mutex);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver emmaprp_pdrv = {
|
|
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
|
|
index 7927677a0c81..547099f8ed14 100644
|
|
--- a/drivers/media/platform/qcom/camss/camss.c
|
|
+++ b/drivers/media/platform/qcom/camss/camss.c
|
|
@@ -1725,7 +1725,7 @@ void camss_delete(struct camss *camss)
|
|
*
|
|
* Always returns 0.
|
|
*/
|
|
-static void camss_remove(struct platform_device *pdev)
|
|
+static int camss_remove(struct platform_device *pdev)
|
|
{
|
|
struct camss *camss = platform_get_drvdata(pdev);
|
|
|
|
@@ -1735,6 +1735,8 @@ static void camss_remove(struct platform_device *pdev)
|
|
|
|
if (atomic_read(&camss->ref_count) == 0)
|
|
camss_delete(camss);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id camss_dt_match[] = {
|
|
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
|
|
index feed6bc380da..403ffb92af60 100644
|
|
--- a/drivers/media/platform/qcom/venus/core.c
|
|
+++ b/drivers/media/platform/qcom/venus/core.c
|
|
@@ -416,7 +416,7 @@ static int venus_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void venus_remove(struct platform_device *pdev)
|
|
+static int venus_remove(struct platform_device *pdev)
|
|
{
|
|
struct venus_core *core = platform_get_drvdata(pdev);
|
|
const struct venus_pm_ops *pm_ops = core->pm_ops;
|
|
@@ -447,6 +447,8 @@ static void venus_remove(struct platform_device *pdev)
|
|
mutex_destroy(&core->pm_lock);
|
|
mutex_destroy(&core->lock);
|
|
venus_dbgfs_deinit(core);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static void venus_core_shutdown(struct platform_device *pdev)
|
|
diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c
|
|
index 76ff2c76126b..dc9e3f5d03ff 100644
|
|
--- a/drivers/media/platform/qcom/venus/vdec.c
|
|
+++ b/drivers/media/platform/qcom/venus/vdec.c
|
|
@@ -1825,7 +1825,7 @@ static int vdec_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vdec_remove(struct platform_device *pdev)
|
|
+static int vdec_remove(struct platform_device *pdev)
|
|
{
|
|
struct venus_core *core = dev_get_drvdata(pdev->dev.parent);
|
|
|
|
@@ -1834,6 +1834,8 @@ static void vdec_remove(struct platform_device *pdev)
|
|
|
|
if (core->pm_ops->vdec_put)
|
|
core->pm_ops->vdec_put(core->dev_dec);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static __maybe_unused int vdec_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platform/qcom/venus/venc.c
|
|
index 937b5385b1c2..4b40b66babb2 100644
|
|
--- a/drivers/media/platform/qcom/venus/venc.c
|
|
+++ b/drivers/media/platform/qcom/venus/venc.c
|
|
@@ -1594,7 +1594,7 @@ static int venc_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void venc_remove(struct platform_device *pdev)
|
|
+static int venc_remove(struct platform_device *pdev)
|
|
{
|
|
struct venus_core *core = dev_get_drvdata(pdev->dev.parent);
|
|
|
|
@@ -1603,6 +1603,8 @@ static void venc_remove(struct platform_device *pdev)
|
|
|
|
if (core->pm_ops->venc_put)
|
|
core->pm_ops->venc_put(core->dev_enc);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static __maybe_unused int venc_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/renesas/rcar-fcp.c b/drivers/media/platform/renesas/rcar-fcp.c
|
|
index 143061789c1a..983a8363b21e 100644
|
|
--- a/drivers/media/platform/renesas/rcar-fcp.c
|
|
+++ b/drivers/media/platform/renesas/rcar-fcp.c
|
|
@@ -144,7 +144,7 @@ static int rcar_fcp_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void rcar_fcp_remove(struct platform_device *pdev)
|
|
+static int rcar_fcp_remove(struct platform_device *pdev)
|
|
{
|
|
struct rcar_fcp_device *fcp = platform_get_drvdata(pdev);
|
|
|
|
@@ -153,6 +153,8 @@ static void rcar_fcp_remove(struct platform_device *pdev)
|
|
mutex_unlock(&fcp_lock);
|
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id rcar_fcp_of_match[] = {
|
|
diff --git a/drivers/media/platform/renesas/rcar-isp.c b/drivers/media/platform/renesas/rcar-isp.c
|
|
index 2e7052f7d5d4..140eb2fa36e2 100644
|
|
--- a/drivers/media/platform/renesas/rcar-isp.c
|
|
+++ b/drivers/media/platform/renesas/rcar-isp.c
|
|
@@ -501,7 +501,7 @@ static int risp_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void risp_remove(struct platform_device *pdev)
|
|
+static int risp_remove(struct platform_device *pdev)
|
|
{
|
|
struct rcar_isp *isp = platform_get_drvdata(pdev);
|
|
|
|
@@ -513,6 +513,8 @@ static void risp_remove(struct platform_device *pdev)
|
|
pm_runtime_disable(&pdev->dev);
|
|
|
|
mutex_destroy(&isp->lock);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver rcar_isp_driver = {
|
|
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
|
|
index 66f02f289bd7..d01149972a3f 100644
|
|
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
|
|
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
|
|
@@ -1419,7 +1419,7 @@ static int rcar_vin_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void rcar_vin_remove(struct platform_device *pdev)
|
|
+static int rcar_vin_remove(struct platform_device *pdev)
|
|
{
|
|
struct rvin_dev *vin = platform_get_drvdata(pdev);
|
|
|
|
@@ -1435,6 +1435,8 @@ static void rcar_vin_remove(struct platform_device *pdev)
|
|
rvin_parallel_cleanup(vin);
|
|
|
|
rvin_dma_unregister(vin);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static SIMPLE_DEV_PM_OPS(rvin_pm_ops, rvin_suspend, rvin_resume);
|
|
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
|
|
index dde46a0b0c75..f0f00456f7ce 100644
|
|
--- a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
|
|
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
|
|
@@ -1639,7 +1639,7 @@ static int rcsi2_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rcsi2_remove(struct platform_device *pdev)
|
|
+static int rcsi2_remove(struct platform_device *pdev)
|
|
{
|
|
struct rcar_csi2 *priv = platform_get_drvdata(pdev);
|
|
|
|
diff --git a/drivers/media/platform/renesas/rcar_drif.c b/drivers/media/platform/renesas/rcar_drif.c
|
|
index d33329be3dff..0507378c3518 100644
|
|
--- a/drivers/media/platform/renesas/rcar_drif.c
|
|
+++ b/drivers/media/platform/renesas/rcar_drif.c
|
|
@@ -1433,7 +1433,7 @@ static int rcar_drif_probe(struct platform_device *pdev)
|
|
}
|
|
|
|
/* DRIF channel remove */
|
|
-static void rcar_drif_remove(struct platform_device *pdev)
|
|
+static int rcar_drif_remove(struct platform_device *pdev)
|
|
{
|
|
struct rcar_drif *ch = platform_get_drvdata(pdev);
|
|
struct rcar_drif_sdr *sdr = ch->sdr;
|
|
@@ -1444,6 +1444,8 @@ static void rcar_drif_remove(struct platform_device *pdev)
|
|
|
|
/* SDR instance */
|
|
rcar_drif_sdr_remove(sdr);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
/* FIXME: Implement suspend/resume support */
|
|
diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/platform/renesas/rcar_fdp1.c
|
|
index 072f819c4bf6..b2fdecc225e3 100644
|
|
--- a/drivers/media/platform/renesas/rcar_fdp1.c
|
|
+++ b/drivers/media/platform/renesas/rcar_fdp1.c
|
|
@@ -2401,7 +2401,7 @@ static int fdp1_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void fdp1_remove(struct platform_device *pdev)
|
|
+static int fdp1_remove(struct platform_device *pdev)
|
|
{
|
|
struct fdp1_dev *fdp1 = platform_get_drvdata(pdev);
|
|
|
|
@@ -2410,6 +2410,8 @@ static void fdp1_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&fdp1->v4l2_dev);
|
|
pm_runtime_disable(&pdev->dev);
|
|
rcar_fcp_put(fdp1->fcp);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused fdp1_pm_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/renesas/rcar_jpu.c b/drivers/media/platform/renesas/rcar_jpu.c
|
|
index 90fe92a2ad03..1edbe3b9d632 100644
|
|
--- a/drivers/media/platform/renesas/rcar_jpu.c
|
|
+++ b/drivers/media/platform/renesas/rcar_jpu.c
|
|
@@ -1697,7 +1697,7 @@ static int jpu_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void jpu_remove(struct platform_device *pdev)
|
|
+static int jpu_remove(struct platform_device *pdev)
|
|
{
|
|
struct jpu *jpu = platform_get_drvdata(pdev);
|
|
|
|
@@ -1705,6 +1705,8 @@ static void jpu_remove(struct platform_device *pdev)
|
|
video_unregister_device(&jpu->vfd_encoder);
|
|
v4l2_m2m_release(jpu->m2m_dev);
|
|
v4l2_device_unregister(&jpu->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/platform/renesas/renesas-ceu.c b/drivers/media/platform/renesas/renesas-ceu.c
|
|
index 1d2eb777bcf9..3dc03c7eeeea 100644
|
|
--- a/drivers/media/platform/renesas/renesas-ceu.c
|
|
+++ b/drivers/media/platform/renesas/renesas-ceu.c
|
|
@@ -1700,7 +1700,7 @@ static int ceu_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void ceu_remove(struct platform_device *pdev)
|
|
+static int ceu_remove(struct platform_device *pdev)
|
|
{
|
|
struct ceu_device *ceudev = platform_get_drvdata(pdev);
|
|
|
|
@@ -1713,6 +1713,8 @@ static void ceu_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&ceudev->v4l2_dev);
|
|
|
|
video_unregister_device(&ceudev->vdev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct dev_pm_ops ceu_pm_ops = {
|
|
diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
|
|
index b1f8d671878a..5939f5165a5e 100644
|
|
--- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
|
|
+++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
|
|
@@ -298,7 +298,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rzg2l_cru_remove(struct platform_device *pdev)
|
|
+static int rzg2l_cru_remove(struct platform_device *pdev)
|
|
{
|
|
struct rzg2l_cru_dev *cru = platform_get_drvdata(pdev);
|
|
|
|
@@ -312,6 +312,8 @@ static void rzg2l_cru_remove(struct platform_device *pdev)
|
|
mutex_destroy(&cru->mdev_lock);
|
|
|
|
rzg2l_cru_dma_unregister(cru);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id rzg2l_cru_of_id_table[] = {
|
|
diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
|
|
index 06effedcbafa..211ceaa6ee16 100644
|
|
--- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
|
|
+++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-csi2.c
|
|
@@ -819,7 +819,7 @@ static int rzg2l_csi2_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rzg2l_csi2_remove(struct platform_device *pdev)
|
|
+static int rzg2l_csi2_remove(struct platform_device *pdev)
|
|
{
|
|
struct rzg2l_csi2 *csi2 = platform_get_drvdata(pdev);
|
|
|
|
@@ -829,6 +829,8 @@ static void rzg2l_csi2_remove(struct platform_device *pdev)
|
|
v4l2_subdev_cleanup(&csi2->subdev);
|
|
media_entity_cleanup(&csi2->subdev.entity);
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused rzg2l_csi2_pm_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/renesas/sh_vou.c b/drivers/media/platform/renesas/sh_vou.c
|
|
index e8bdbefc9730..ac6f0c9c100b 100644
|
|
--- a/drivers/media/platform/renesas/sh_vou.c
|
|
+++ b/drivers/media/platform/renesas/sh_vou.c
|
|
@@ -1343,7 +1343,7 @@ static int sh_vou_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sh_vou_remove(struct platform_device *pdev)
|
|
+static int sh_vou_remove(struct platform_device *pdev)
|
|
{
|
|
struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
|
|
struct sh_vou_device *vou_dev = container_of(v4l2_dev,
|
|
@@ -1356,6 +1356,7 @@ static void sh_vou_remove(struct platform_device *pdev)
|
|
video_unregister_device(&vou_dev->vdev);
|
|
i2c_put_adapter(client->adapter);
|
|
v4l2_device_unregister(&vou_dev->v4l2_dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver sh_vou = {
|
|
diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
|
|
index a4fea9b2969f..2d8622992493 100644
|
|
--- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c
|
|
+++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c
|
|
@@ -986,7 +986,7 @@ static int vsp1_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vsp1_remove(struct platform_device *pdev)
|
|
+static int vsp1_remove(struct platform_device *pdev)
|
|
{
|
|
struct vsp1_device *vsp1 = platform_get_drvdata(pdev);
|
|
|
|
@@ -994,6 +994,8 @@ static void vsp1_remove(struct platform_device *pdev)
|
|
rcar_fcp_put(vsp1->fcp);
|
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id vsp1_of_match[] = {
|
|
diff --git a/drivers/media/platform/rockchip/rga/rga.c b/drivers/media/platform/rockchip/rga/rga.c
|
|
index 48a1bd238a29..f12be4191a03 100644
|
|
--- a/drivers/media/platform/rockchip/rga/rga.c
|
|
+++ b/drivers/media/platform/rockchip/rga/rga.c
|
|
@@ -927,7 +927,7 @@ static int rga_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rga_remove(struct platform_device *pdev)
|
|
+static int rga_remove(struct platform_device *pdev)
|
|
{
|
|
struct rockchip_rga *rga = platform_get_drvdata(pdev);
|
|
|
|
@@ -944,6 +944,8 @@ static void rga_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&rga->v4l2_dev);
|
|
|
|
pm_runtime_disable(rga->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __maybe_unused rga_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
|
|
index 05b02680dc64..f2475c6235ea 100644
|
|
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
|
|
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c
|
|
@@ -622,7 +622,7 @@ static int rkisp1_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rkisp1_remove(struct platform_device *pdev)
|
|
+static int rkisp1_remove(struct platform_device *pdev)
|
|
{
|
|
struct rkisp1_device *rkisp1 = platform_get_drvdata(pdev);
|
|
|
|
@@ -638,6 +638,8 @@ static void rkisp1_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&rkisp1->v4l2_dev);
|
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver rkisp1_drv = {
|
|
diff --git a/drivers/media/platform/samsung/exynos-gsc/gsc-core.c b/drivers/media/platform/samsung/exynos-gsc/gsc-core.c
|
|
index fdce457df1c5..b776be42383b 100644
|
|
--- a/drivers/media/platform/samsung/exynos-gsc/gsc-core.c
|
|
+++ b/drivers/media/platform/samsung/exynos-gsc/gsc-core.c
|
|
@@ -1201,7 +1201,7 @@ static int gsc_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void gsc_remove(struct platform_device *pdev)
|
|
+static int gsc_remove(struct platform_device *pdev)
|
|
{
|
|
struct gsc_dev *gsc = platform_get_drvdata(pdev);
|
|
int i;
|
|
@@ -1220,6 +1220,8 @@ static void gsc_remove(struct platform_device *pdev)
|
|
pm_runtime_set_suspended(&pdev->dev);
|
|
|
|
dev_dbg(&pdev->dev, "%s driver unloaded\n", pdev->name);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-core.c b/drivers/media/platform/samsung/exynos4-is/fimc-core.c
|
|
index 90d6b4e2dfac..32ba253a9b7e 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/fimc-core.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/fimc-core.c
|
|
@@ -1092,7 +1092,7 @@ static int fimc_suspend(struct device *dev)
|
|
}
|
|
#endif /* CONFIG_PM_SLEEP */
|
|
|
|
-static void fimc_remove(struct platform_device *pdev)
|
|
+static int fimc_remove(struct platform_device *pdev)
|
|
{
|
|
struct fimc_dev *fimc = platform_get_drvdata(pdev);
|
|
|
|
@@ -1108,6 +1108,8 @@ static void fimc_remove(struct platform_device *pdev)
|
|
fimc_clk_put(fimc);
|
|
|
|
dev_info(&pdev->dev, "driver unloaded\n");
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
/* S5PV210, S5PC110 */
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c b/drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
|
|
index 8b3063b9eefd..6f8cf3c8420a 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/fimc-is-i2c.c
|
|
@@ -82,12 +82,14 @@ static int fimc_is_i2c_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void fimc_is_i2c_remove(struct platform_device *pdev)
|
|
+static int fimc_is_i2c_remove(struct platform_device *pdev)
|
|
{
|
|
struct fimc_is_i2c *isp_i2c = platform_get_drvdata(pdev);
|
|
|
|
pm_runtime_disable(&pdev->dev);
|
|
i2c_del_adapter(&isp_i2c->adapter);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-is.c b/drivers/media/platform/samsung/exynos4-is/fimc-is.c
|
|
index 99ae69644c1e..fa7c5032e37f 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/fimc-is.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/fimc-is.c
|
|
@@ -915,7 +915,7 @@ static int fimc_is_suspend(struct device *dev)
|
|
}
|
|
#endif /* CONFIG_PM_SLEEP */
|
|
|
|
-static void fimc_is_remove(struct platform_device *pdev)
|
|
+static int fimc_is_remove(struct platform_device *pdev)
|
|
{
|
|
struct device *dev = &pdev->dev;
|
|
struct fimc_is *is = dev_get_drvdata(dev);
|
|
@@ -932,6 +932,8 @@ static void fimc_is_remove(struct platform_device *pdev)
|
|
fimc_is_debugfs_remove(is);
|
|
release_firmware(is->fw.f_w);
|
|
fimc_is_free_cpu_memory(is);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id fimc_is_of_match[] = {
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-lite.c b/drivers/media/platform/samsung/exynos4-is/fimc-lite.c
|
|
index 027c6c812ebb..9930d73fc384 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/fimc-lite.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/fimc-lite.c
|
|
@@ -1598,7 +1598,7 @@ static int fimc_lite_suspend(struct device *dev)
|
|
}
|
|
#endif /* CONFIG_PM_SLEEP */
|
|
|
|
-static void fimc_lite_remove(struct platform_device *pdev)
|
|
+static int fimc_lite_remove(struct platform_device *pdev)
|
|
{
|
|
struct fimc_lite *fimc = platform_get_drvdata(pdev);
|
|
struct device *dev = &pdev->dev;
|
|
@@ -1613,6 +1613,8 @@ static void fimc_lite_remove(struct platform_device *pdev)
|
|
fimc_lite_clk_put(fimc);
|
|
|
|
dev_info(dev, "Driver unloaded\n");
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct dev_pm_ops fimc_lite_pm_ops = {
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/media-dev.c b/drivers/media/platform/samsung/exynos4-is/media-dev.c
|
|
index 1fc7b30aa9df..6138a7c49d7c 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/media-dev.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/media-dev.c
|
|
@@ -1532,7 +1532,7 @@ static int fimc_md_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void fimc_md_remove(struct platform_device *pdev)
|
|
+static int fimc_md_remove(struct platform_device *pdev)
|
|
{
|
|
struct fimc_md *fmd = platform_get_drvdata(pdev);
|
|
|
|
@@ -1550,6 +1550,8 @@ static void fimc_md_remove(struct platform_device *pdev)
|
|
media_device_unregister(&fmd->media_dev);
|
|
media_device_cleanup(&fmd->media_dev);
|
|
fimc_md_put_clocks(fmd);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct platform_device_id fimc_driver_ids[] __always_unused = {
|
|
diff --git a/drivers/media/platform/samsung/exynos4-is/mipi-csis.c b/drivers/media/platform/samsung/exynos4-is/mipi-csis.c
|
|
index b81de6e39c93..05262a4121bf 100644
|
|
--- a/drivers/media/platform/samsung/exynos4-is/mipi-csis.c
|
|
+++ b/drivers/media/platform/samsung/exynos4-is/mipi-csis.c
|
|
@@ -975,7 +975,7 @@ static int s5pcsis_runtime_resume(struct device *dev)
|
|
}
|
|
#endif
|
|
|
|
-static void s5pcsis_remove(struct platform_device *pdev)
|
|
+static int s5pcsis_remove(struct platform_device *pdev)
|
|
{
|
|
struct v4l2_subdev *sd = platform_get_drvdata(pdev);
|
|
struct csis_state *state = sd_to_csis_state(sd);
|
|
@@ -987,6 +987,8 @@ static void s5pcsis_remove(struct platform_device *pdev)
|
|
s5pcsis_clk_put(state);
|
|
|
|
media_entity_cleanup(&state->sd.entity);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct dev_pm_ops s5pcsis_pm_ops = {
|
|
diff --git a/drivers/media/platform/samsung/s3c-camif/camif-core.c b/drivers/media/platform/samsung/s3c-camif/camif-core.c
|
|
index 0bc2f9a2e61c..b44b15698ffb 100644
|
|
--- a/drivers/media/platform/samsung/s3c-camif/camif-core.c
|
|
+++ b/drivers/media/platform/samsung/s3c-camif/camif-core.c
|
|
@@ -508,7 +508,7 @@ static int s3c_camif_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void s3c_camif_remove(struct platform_device *pdev)
|
|
+static int s3c_camif_remove(struct platform_device *pdev)
|
|
{
|
|
struct camif_dev *camif = platform_get_drvdata(pdev);
|
|
struct s3c_camif_plat_data *pdata = &camif->pdata;
|
|
@@ -522,6 +522,8 @@ static void s3c_camif_remove(struct platform_device *pdev)
|
|
camif_clk_put(camif);
|
|
s3c_camif_unregister_subdev(camif);
|
|
pdata->gpio_put();
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int s3c_camif_runtime_resume(struct device *dev)
|
|
diff --git a/drivers/media/platform/samsung/s5p-g2d/g2d.c b/drivers/media/platform/samsung/s5p-g2d/g2d.c
|
|
index 5bda5d2cc2eb..7005c80c199d 100644
|
|
--- a/drivers/media/platform/samsung/s5p-g2d/g2d.c
|
|
+++ b/drivers/media/platform/samsung/s5p-g2d/g2d.c
|
|
@@ -740,7 +740,7 @@ static int g2d_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void g2d_remove(struct platform_device *pdev)
|
|
+static int g2d_remove(struct platform_device *pdev)
|
|
{
|
|
struct g2d_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -753,6 +753,8 @@ static void g2d_remove(struct platform_device *pdev)
|
|
clk_put(dev->gate);
|
|
clk_unprepare(dev->clk);
|
|
clk_put(dev->clk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static struct g2d_variant g2d_drvdata_v3x = {
|
|
diff --git a/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c b/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c
|
|
index 475728067684..55814041b8d8 100644
|
|
--- a/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c
|
|
+++ b/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c
|
|
@@ -2991,7 +2991,7 @@ static int s5p_jpeg_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void s5p_jpeg_remove(struct platform_device *pdev)
|
|
+static int s5p_jpeg_remove(struct platform_device *pdev)
|
|
{
|
|
struct s5p_jpeg *jpeg = platform_get_drvdata(pdev);
|
|
int i;
|
|
@@ -3008,6 +3008,8 @@ static void s5p_jpeg_remove(struct platform_device *pdev)
|
|
for (i = jpeg->variant->num_clocks - 1; i >= 0; i--)
|
|
clk_disable_unprepare(jpeg->clocks[i]);
|
|
}
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
|
|
index 7ce2815b91e4..aedc09564bb2 100644
|
|
--- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
|
|
+++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
|
|
@@ -1431,7 +1431,7 @@ static int s5p_mfc_probe(struct platform_device *pdev)
|
|
}
|
|
|
|
/* Remove the driver */
|
|
-static void s5p_mfc_remove(struct platform_device *pdev)
|
|
+static int s5p_mfc_remove(struct platform_device *pdev)
|
|
{
|
|
struct s5p_mfc_dev *dev = platform_get_drvdata(pdev);
|
|
struct s5p_mfc_ctx *ctx;
|
|
@@ -1463,6 +1463,8 @@ static void s5p_mfc_remove(struct platform_device *pdev)
|
|
s5p_mfc_unconfigure_dma_memory(dev);
|
|
|
|
s5p_mfc_final_pm(dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c b/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c
|
|
index 659af289d591..37e736b54978 100644
|
|
--- a/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c
|
|
+++ b/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c
|
|
@@ -1257,7 +1257,7 @@ static const struct dev_pm_ops bdisp_pm_ops = {
|
|
.runtime_resume = bdisp_runtime_resume,
|
|
};
|
|
|
|
-static void bdisp_remove(struct platform_device *pdev)
|
|
+static int bdisp_remove(struct platform_device *pdev)
|
|
{
|
|
struct bdisp_dev *bdisp = platform_get_drvdata(pdev);
|
|
|
|
@@ -1277,6 +1277,8 @@ static void bdisp_remove(struct platform_device *pdev)
|
|
destroy_workqueue(bdisp->work_queue);
|
|
|
|
dev_dbg(&pdev->dev, "%s driver unloaded\n", pdev->name);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int bdisp_probe(struct platform_device *pdev)
|
|
diff --git a/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c b/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c
|
|
index cc5c8509c51f..f4185d3a73d5 100644
|
|
--- a/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c
|
|
+++ b/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c
|
|
@@ -873,7 +873,7 @@ static int c8sectpfe_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void c8sectpfe_remove(struct platform_device *pdev)
|
|
+static int c8sectpfe_remove(struct platform_device *pdev)
|
|
{
|
|
struct c8sectpfei *fei = platform_get_drvdata(pdev);
|
|
struct channel_info *channel;
|
|
@@ -905,6 +905,8 @@ static void c8sectpfe_remove(struct platform_device *pdev)
|
|
writel(0, fei->io + SYS_OTHER_CLKEN);
|
|
|
|
clk_disable_unprepare(fei->c8sectpfeclk);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
|
|
diff --git a/drivers/media/platform/st/sti/delta/delta-v4l2.c b/drivers/media/platform/st/sti/delta/delta-v4l2.c
|
|
index fdee7fae3a20..03eaee6d15da 100644
|
|
--- a/drivers/media/platform/st/sti/delta/delta-v4l2.c
|
|
+++ b/drivers/media/platform/st/sti/delta/delta-v4l2.c
|
|
@@ -1900,7 +1900,7 @@ static int delta_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void delta_remove(struct platform_device *pdev)
|
|
+static int delta_remove(struct platform_device *pdev)
|
|
{
|
|
struct delta_dev *delta = platform_get_drvdata(pdev);
|
|
|
|
@@ -1914,6 +1914,8 @@ static void delta_remove(struct platform_device *pdev)
|
|
pm_runtime_disable(delta->dev);
|
|
|
|
v4l2_device_unregister(&delta->v4l2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int delta_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/st/sti/hva/hva-v4l2.c b/drivers/media/platform/st/sti/hva/hva-v4l2.c
|
|
index 301adf78e46a..bb34d6997d99 100644
|
|
--- a/drivers/media/platform/st/sti/hva/hva-v4l2.c
|
|
+++ b/drivers/media/platform/st/sti/hva/hva-v4l2.c
|
|
@@ -1422,7 +1422,7 @@ static int hva_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void hva_remove(struct platform_device *pdev)
|
|
+static int hva_remove(struct platform_device *pdev)
|
|
{
|
|
struct hva_dev *hva = platform_get_drvdata(pdev);
|
|
struct device *dev = hva_to_dev(hva);
|
|
@@ -1440,6 +1440,8 @@ static void hva_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&hva->v4l2_dev);
|
|
|
|
dev_info(dev, "%s %s removed\n", HVA_PREFIX, pdev->name);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
/* PM ops */
|
|
diff --git a/drivers/media/platform/st/stm32/dma2d/dma2d.c b/drivers/media/platform/st/stm32/dma2d/dma2d.c
|
|
index c705b676e950..a6a0175830bc 100644
|
|
--- a/drivers/media/platform/st/stm32/dma2d/dma2d.c
|
|
+++ b/drivers/media/platform/st/stm32/dma2d/dma2d.c
|
|
@@ -693,7 +693,7 @@ static int dma2d_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void dma2d_remove(struct platform_device *pdev)
|
|
+static int dma2d_remove(struct platform_device *pdev)
|
|
{
|
|
struct dma2d_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -704,6 +704,8 @@ static void dma2d_remove(struct platform_device *pdev)
|
|
vb2_dma_contig_clear_max_seg_size(&pdev->dev);
|
|
clk_unprepare(dev->gate);
|
|
clk_put(dev->gate);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id stm32_dma2d_match[] = {
|
|
diff --git a/drivers/media/platform/st/stm32/stm32-dcmi.c b/drivers/media/platform/st/stm32/stm32-dcmi.c
|
|
index 0108bf167860..4b97aaec75a1 100644
|
|
--- a/drivers/media/platform/st/stm32/stm32-dcmi.c
|
|
+++ b/drivers/media/platform/st/stm32/stm32-dcmi.c
|
|
@@ -2135,7 +2135,7 @@ static int dcmi_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void dcmi_remove(struct platform_device *pdev)
|
|
+static int dcmi_remove(struct platform_device *pdev)
|
|
{
|
|
struct stm32_dcmi *dcmi = platform_get_drvdata(pdev);
|
|
|
|
@@ -2148,6 +2148,8 @@ static void dcmi_remove(struct platform_device *pdev)
|
|
media_device_cleanup(&dcmi->mdev);
|
|
|
|
dma_release_channel(dcmi->dma_chan);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static __maybe_unused int dcmi_runtime_suspend(struct device *dev)
|
|
diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c b/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
|
|
index d9f35096120c..e221829117d2 100644
|
|
--- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
|
|
+++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
|
|
@@ -260,7 +260,7 @@ static int sun4i_csi_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sun4i_csi_remove(struct platform_device *pdev)
|
|
+static int sun4i_csi_remove(struct platform_device *pdev)
|
|
{
|
|
struct sun4i_csi *csi = platform_get_drvdata(pdev);
|
|
|
|
@@ -271,6 +271,8 @@ static void sun4i_csi_remove(struct platform_device *pdev)
|
|
media_device_unregister(&csi->mdev);
|
|
sun4i_csi_dma_unregister(csi);
|
|
media_device_cleanup(&csi->mdev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct sun4i_csi_traits sun4i_a10_csi1_traits = {
|
|
diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
|
|
index fa814424b1e6..b2cb76ba378f 100644
|
|
--- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
|
|
+++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c
|
|
@@ -375,7 +375,7 @@ static int sun6i_csi_probe(struct platform_device *platform_dev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sun6i_csi_remove(struct platform_device *pdev)
|
|
+static int sun6i_csi_remove(struct platform_device *pdev)
|
|
{
|
|
struct sun6i_csi_device *csi_dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -386,6 +386,8 @@ static void sun6i_csi_remove(struct platform_device *pdev)
|
|
sun6i_csi_v4l2_cleanup(csi_dev);
|
|
|
|
sun6i_csi_resources_cleanup(csi_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct sun6i_csi_variant sun6i_a31_csi_variant = {
|
|
diff --git a/drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c b/drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
|
|
index a1e95ef0fa9b..8a5b0830a15c 100644
|
|
--- a/drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
|
|
+++ b/drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2.c
|
|
@@ -737,13 +737,15 @@ static int sun6i_mipi_csi2_probe(struct platform_device *platform_dev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sun6i_mipi_csi2_remove(struct platform_device *platform_dev)
|
|
+static int sun6i_mipi_csi2_remove(struct platform_device *platform_dev)
|
|
{
|
|
struct sun6i_mipi_csi2_device *csi2_dev =
|
|
platform_get_drvdata(platform_dev);
|
|
|
|
sun6i_mipi_csi2_bridge_cleanup(csi2_dev);
|
|
sun6i_mipi_csi2_resources_cleanup(csi2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id sun6i_mipi_csi2_of_match[] = {
|
|
diff --git a/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c b/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
|
|
index 3689496547de..6b4ecae5b49c 100644
|
|
--- a/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
|
|
+++ b/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2.c
|
|
@@ -804,13 +804,15 @@ static int sun8i_a83t_mipi_csi2_probe(struct platform_device *platform_dev)
|
|
return ret;
|
|
}
|
|
|
|
-static void sun8i_a83t_mipi_csi2_remove(struct platform_device *platform_dev)
|
|
+static int sun8i_a83t_mipi_csi2_remove(struct platform_device *platform_dev)
|
|
{
|
|
struct sun8i_a83t_mipi_csi2_device *csi2_dev =
|
|
platform_get_drvdata(platform_dev);
|
|
|
|
sun8i_a83t_mipi_csi2_bridge_cleanup(csi2_dev);
|
|
sun8i_a83t_mipi_csi2_resources_cleanup(csi2_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id sun8i_a83t_mipi_csi2_of_match[] = {
|
|
diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
|
|
index 69259d693c93..fdbbede3aadd 100644
|
|
--- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
|
|
+++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
|
|
@@ -906,7 +906,7 @@ static int deinterlace_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void deinterlace_remove(struct platform_device *pdev)
|
|
+static int deinterlace_remove(struct platform_device *pdev)
|
|
{
|
|
struct deinterlace_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -915,6 +915,8 @@ static void deinterlace_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&dev->v4l2_dev);
|
|
|
|
pm_runtime_force_suspend(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int deinterlace_runtime_resume(struct device *device)
|
|
diff --git a/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c b/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c
|
|
index c2dd540e9a58..6b80b20648f5 100644
|
|
--- a/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c
|
|
+++ b/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c
|
|
@@ -833,7 +833,7 @@ static int rotate_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void rotate_remove(struct platform_device *pdev)
|
|
+static int rotate_remove(struct platform_device *pdev)
|
|
{
|
|
struct rotate_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -842,6 +842,8 @@ static void rotate_remove(struct platform_device *pdev)
|
|
v4l2_device_unregister(&dev->v4l2_dev);
|
|
|
|
pm_runtime_force_suspend(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int rotate_runtime_resume(struct device *device)
|
|
diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media/platform/ti/am437x/am437x-vpfe.c
|
|
index 4f0bd419b42e..71ffabc65519 100644
|
|
--- a/drivers/media/platform/ti/am437x/am437x-vpfe.c
|
|
+++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c
|
|
@@ -2486,7 +2486,7 @@ static int vpfe_probe(struct platform_device *pdev)
|
|
/*
|
|
* vpfe_remove : It un-register device from V4L2 driver
|
|
*/
|
|
-static void vpfe_remove(struct platform_device *pdev)
|
|
+static int vpfe_remove(struct platform_device *pdev)
|
|
{
|
|
struct vpfe_device *vpfe = platform_get_drvdata(pdev);
|
|
|
|
@@ -2496,6 +2496,8 @@ static void vpfe_remove(struct platform_device *pdev)
|
|
v4l2_async_nf_cleanup(&vpfe->notifier);
|
|
v4l2_device_unregister(&vpfe->v4l2_dev);
|
|
video_unregister_device(&vpfe->video_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/platform/ti/cal/cal.c b/drivers/media/platform/ti/cal/cal.c
|
|
index 6e62195e84a8..331756a48526 100644
|
|
--- a/drivers/media/platform/ti/cal/cal.c
|
|
+++ b/drivers/media/platform/ti/cal/cal.c
|
|
@@ -1293,7 +1293,7 @@ static int cal_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void cal_remove(struct platform_device *pdev)
|
|
+static int cal_remove(struct platform_device *pdev)
|
|
{
|
|
struct cal_dev *cal = platform_get_drvdata(pdev);
|
|
unsigned int i;
|
|
@@ -1319,6 +1319,8 @@ static void cal_remove(struct platform_device *pdev)
|
|
if (ret >= 0)
|
|
pm_runtime_put_sync(&pdev->dev);
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int cal_runtime_resume(struct device *dev)
|
|
diff --git a/drivers/media/platform/ti/davinci/vpif.c b/drivers/media/platform/ti/davinci/vpif.c
|
|
index 06f2bd46bbbc..832489822706 100644
|
|
--- a/drivers/media/platform/ti/davinci/vpif.c
|
|
+++ b/drivers/media/platform/ti/davinci/vpif.c
|
|
@@ -538,7 +538,7 @@ static int vpif_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vpif_remove(struct platform_device *pdev)
|
|
+static int vpif_remove(struct platform_device *pdev)
|
|
{
|
|
struct vpif_data *data = platform_get_drvdata(pdev);
|
|
|
|
@@ -551,6 +551,8 @@ static void vpif_remove(struct platform_device *pdev)
|
|
pm_runtime_disable(&pdev->dev);
|
|
|
|
kfree(data);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/ti/davinci/vpif_capture.c b/drivers/media/platform/ti/davinci/vpif_capture.c
|
|
index ccce9b8a87eb..baf0624637da 100644
|
|
--- a/drivers/media/platform/ti/davinci/vpif_capture.c
|
|
+++ b/drivers/media/platform/ti/davinci/vpif_capture.c
|
|
@@ -1714,7 +1714,7 @@ static __init int vpif_probe(struct platform_device *pdev)
|
|
*
|
|
* The vidoe device is unregistered
|
|
*/
|
|
-static void vpif_remove(struct platform_device *device)
|
|
+static int vpif_remove(struct platform_device *device)
|
|
{
|
|
struct channel_obj *ch;
|
|
int i;
|
|
@@ -1732,6 +1732,8 @@ static void vpif_remove(struct platform_device *device)
|
|
video_unregister_device(&ch->video_dev);
|
|
kfree(vpif_obj.dev[i]);
|
|
}
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/platform/ti/davinci/vpif_display.c b/drivers/media/platform/ti/davinci/vpif_display.c
|
|
index 251dc6a62bd2..04bc752a8853 100644
|
|
--- a/drivers/media/platform/ti/davinci/vpif_display.c
|
|
+++ b/drivers/media/platform/ti/davinci/vpif_display.c
|
|
@@ -1305,7 +1305,7 @@ static __init int vpif_probe(struct platform_device *pdev)
|
|
/*
|
|
* vpif_remove: It un-register channels from V4L2 driver
|
|
*/
|
|
-static void vpif_remove(struct platform_device *device)
|
|
+static int vpif_remove(struct platform_device *device)
|
|
{
|
|
struct channel_obj *ch;
|
|
int i;
|
|
@@ -1321,6 +1321,8 @@ static void vpif_remove(struct platform_device *device)
|
|
video_unregister_device(&ch->video_dev);
|
|
}
|
|
free_vpif_objs();
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
diff --git a/drivers/media/platform/ti/omap/omap_vout.c b/drivers/media/platform/ti/omap/omap_vout.c
|
|
index 78e88129d544..29e6219ee8da 100644
|
|
--- a/drivers/media/platform/ti/omap/omap_vout.c
|
|
+++ b/drivers/media/platform/ti/omap/omap_vout.c
|
|
@@ -1569,7 +1569,7 @@ static void omap_vout_cleanup_device(struct omap_vout_device *vout)
|
|
kfree(vout);
|
|
}
|
|
|
|
-static void omap_vout_remove(struct platform_device *pdev)
|
|
+static int omap_vout_remove(struct platform_device *pdev)
|
|
{
|
|
int k;
|
|
struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
|
|
@@ -1587,6 +1587,8 @@ static void omap_vout_remove(struct platform_device *pdev)
|
|
omap_dss_put_device(vid_dev->displays[k]);
|
|
}
|
|
kfree(vid_dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static int __init omap_vout_probe(struct platform_device *pdev)
|
|
diff --git a/drivers/media/platform/ti/omap3isp/isp.c b/drivers/media/platform/ti/omap3isp/isp.c
|
|
index fe10a7ecdd17..e7327e38482d 100644
|
|
--- a/drivers/media/platform/ti/omap3isp/isp.c
|
|
+++ b/drivers/media/platform/ti/omap3isp/isp.c
|
|
@@ -1997,7 +1997,7 @@ static int isp_attach_iommu(struct isp_device *isp)
|
|
*
|
|
* Always returns 0.
|
|
*/
|
|
-static void isp_remove(struct platform_device *pdev)
|
|
+static int isp_remove(struct platform_device *pdev)
|
|
{
|
|
struct isp_device *isp = platform_get_drvdata(pdev);
|
|
|
|
@@ -2014,6 +2014,8 @@ static void isp_remove(struct platform_device *pdev)
|
|
v4l2_async_nf_cleanup(&isp->notifier);
|
|
|
|
kfree(isp);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
enum isp_of_phy {
|
|
diff --git a/drivers/media/platform/ti/vpe/vpe.c b/drivers/media/platform/ti/vpe/vpe.c
|
|
index 5cc4b6a68e20..227bf9728cf5 100644
|
|
--- a/drivers/media/platform/ti/vpe/vpe.c
|
|
+++ b/drivers/media/platform/ti/vpe/vpe.c
|
|
@@ -2622,7 +2622,7 @@ static int vpe_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vpe_remove(struct platform_device *pdev)
|
|
+static int vpe_remove(struct platform_device *pdev)
|
|
{
|
|
struct vpe_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -2635,6 +2635,8 @@ static void vpe_remove(struct platform_device *pdev)
|
|
vpe_set_clock_enable(dev, 0);
|
|
vpe_runtime_put(pdev);
|
|
pm_runtime_disable(&pdev->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#if defined(CONFIG_OF)
|
|
diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
|
|
index 10294d5badeb..98a2cf27357c 100644
|
|
--- a/drivers/media/platform/verisilicon/hantro_drv.c
|
|
+++ b/drivers/media/platform/verisilicon/hantro_drv.c
|
|
@@ -1184,7 +1184,7 @@ static int hantro_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void hantro_remove(struct platform_device *pdev)
|
|
+static int hantro_remove(struct platform_device *pdev)
|
|
{
|
|
struct hantro_dev *vpu = platform_get_drvdata(pdev);
|
|
|
|
@@ -1200,6 +1200,8 @@ static void hantro_remove(struct platform_device *pdev)
|
|
reset_control_assert(vpu->resets);
|
|
pm_runtime_dont_use_autosuspend(vpu->dev);
|
|
pm_runtime_disable(vpu->dev);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_PM
|
|
diff --git a/drivers/media/platform/via/via-camera.c b/drivers/media/platform/via/via-camera.c
|
|
index 195e9bf1eedf..80d3e1cd69fc 100644
|
|
--- a/drivers/media/platform/via/via-camera.c
|
|
+++ b/drivers/media/platform/via/via-camera.c
|
|
@@ -1285,7 +1285,7 @@ static int viacam_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void viacam_remove(struct platform_device *pdev)
|
|
+static int viacam_remove(struct platform_device *pdev)
|
|
{
|
|
struct via_camera *cam = via_cam_info;
|
|
struct viafb_dev *viadev = pdev->dev.platform_data;
|
|
@@ -1300,6 +1300,7 @@ static void viacam_remove(struct platform_device *pdev)
|
|
v4l2_ctrl_handler_free(&cam->ctrl_handler);
|
|
kfree(cam);
|
|
via_cam_info = NULL;
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver viacam_driver = {
|
|
diff --git a/drivers/media/platform/video-mux.c b/drivers/media/platform/video-mux.c
|
|
index 34b4b8f220b9..3927770d2974 100644
|
|
--- a/drivers/media/platform/video-mux.c
|
|
+++ b/drivers/media/platform/video-mux.c
|
|
@@ -462,7 +462,7 @@ static int video_mux_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void video_mux_remove(struct platform_device *pdev)
|
|
+static int video_mux_remove(struct platform_device *pdev)
|
|
{
|
|
struct video_mux *vmux = platform_get_drvdata(pdev);
|
|
struct v4l2_subdev *sd = &vmux->subdev;
|
|
@@ -472,6 +472,8 @@ static void video_mux_remove(struct platform_device *pdev)
|
|
v4l2_async_unregister_subdev(sd);
|
|
v4l2_subdev_cleanup(sd);
|
|
media_entity_cleanup(&sd->entity);
|
|
+
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id video_mux_dt_ids[] = {
|
|
diff --git a/drivers/media/platform/xilinx/xilinx-csi2rxss.c b/drivers/media/platform/xilinx/xilinx-csi2rxss.c
|
|
index 8ce65b5f11d8..a18a6301e23c 100644
|
|
--- a/drivers/media/platform/xilinx/xilinx-csi2rxss.c
|
|
+++ b/drivers/media/platform/xilinx/xilinx-csi2rxss.c
|
|
@@ -1059,7 +1059,7 @@ static int xcsi2rxss_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void xcsi2rxss_remove(struct platform_device *pdev)
|
|
+static int xcsi2rxss_remove(struct platform_device *pdev)
|
|
{
|
|
struct xcsi2rxss_state *xcsi2rxss = platform_get_drvdata(pdev);
|
|
struct v4l2_subdev *subdev = &xcsi2rxss->subdev;
|
|
@@ -1070,6 +1070,7 @@ static void xcsi2rxss_remove(struct platform_device *pdev)
|
|
mutex_destroy(&xcsi2rxss->lock);
|
|
clk_bulk_disable_unprepare(num_clks, xcsi2rxss->clks);
|
|
clk_bulk_put(num_clks, xcsi2rxss->clks);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id xcsi2rxss_of_id_table[] = {
|
|
diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c b/drivers/media/platform/xilinx/xilinx-tpg.c
|
|
index 54f01191bf42..3c92601ba417 100644
|
|
--- a/drivers/media/platform/xilinx/xilinx-tpg.c
|
|
+++ b/drivers/media/platform/xilinx/xilinx-tpg.c
|
|
@@ -894,7 +894,7 @@ static int xtpg_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void xtpg_remove(struct platform_device *pdev)
|
|
+static int xtpg_remove(struct platform_device *pdev)
|
|
{
|
|
struct xtpg_device *xtpg = platform_get_drvdata(pdev);
|
|
struct v4l2_subdev *subdev = &xtpg->xvip.subdev;
|
|
@@ -904,6 +904,7 @@ static void xtpg_remove(struct platform_device *pdev)
|
|
media_entity_cleanup(&subdev->entity);
|
|
|
|
xvip_cleanup_resources(&xtpg->xvip);
|
|
+ return 0;
|
|
}
|
|
|
|
static SIMPLE_DEV_PM_OPS(xtpg_pm_ops, xtpg_pm_suspend, xtpg_pm_resume);
|
|
diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c b/drivers/media/platform/xilinx/xilinx-vipp.c
|
|
index 947b078bab9c..126f4a9936f1 100644
|
|
--- a/drivers/media/platform/xilinx/xilinx-vipp.c
|
|
+++ b/drivers/media/platform/xilinx/xilinx-vipp.c
|
|
@@ -617,12 +617,13 @@ static int xvip_composite_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void xvip_composite_remove(struct platform_device *pdev)
|
|
+static int xvip_composite_remove(struct platform_device *pdev)
|
|
{
|
|
struct xvip_composite_device *xdev = platform_get_drvdata(pdev);
|
|
|
|
xvip_graph_cleanup(xdev);
|
|
xvip_composite_v4l2_cleanup(xdev);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id xvip_composite_of_id_table[] = {
|
|
diff --git a/drivers/media/platform/xilinx/xilinx-vtc.c b/drivers/media/platform/xilinx/xilinx-vtc.c
|
|
index 92fec7bb47da..b1550f16e998 100644
|
|
--- a/drivers/media/platform/xilinx/xilinx-vtc.c
|
|
+++ b/drivers/media/platform/xilinx/xilinx-vtc.c
|
|
@@ -344,13 +344,14 @@ static int xvtc_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void xvtc_remove(struct platform_device *pdev)
|
|
+static int xvtc_remove(struct platform_device *pdev)
|
|
{
|
|
struct xvtc_device *xvtc = platform_get_drvdata(pdev);
|
|
|
|
xvtc_unregister_device(xvtc);
|
|
|
|
xvip_cleanup_resources(&xvtc->xvip);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct of_device_id xvtc_of_id_table[] = {
|
|
diff --git a/drivers/media/radio/radio-si476x.c b/drivers/media/radio/radio-si476x.c
|
|
index a1d41ba23b49..cf958c5b0e79 100644
|
|
--- a/drivers/media/radio/radio-si476x.c
|
|
+++ b/drivers/media/radio/radio-si476x.c
|
|
@@ -1498,7 +1498,7 @@ static int si476x_radio_probe(struct platform_device *pdev)
|
|
return rval;
|
|
}
|
|
|
|
-static void si476x_radio_remove(struct platform_device *pdev)
|
|
+static int si476x_radio_remove(struct platform_device *pdev)
|
|
{
|
|
struct si476x_radio *radio = platform_get_drvdata(pdev);
|
|
|
|
@@ -1506,6 +1506,7 @@ static void si476x_radio_remove(struct platform_device *pdev)
|
|
video_unregister_device(&radio->videodev);
|
|
v4l2_device_unregister(&radio->v4l2dev);
|
|
debugfs_remove_recursive(radio->debugfs);
|
|
+ return 0;
|
|
}
|
|
|
|
MODULE_ALIAS("platform:si476x-radio");
|
|
diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c
|
|
index 29bebb394247..4374c4f66238 100644
|
|
--- a/drivers/media/radio/radio-wl1273.c
|
|
+++ b/drivers/media/radio/radio-wl1273.c
|
|
@@ -1977,7 +1977,7 @@ static const struct video_device wl1273_viddev_template = {
|
|
V4L2_CAP_RDS_OUTPUT,
|
|
};
|
|
|
|
-static void wl1273_fm_radio_remove(struct platform_device *pdev)
|
|
+static int wl1273_fm_radio_remove(struct platform_device *pdev)
|
|
{
|
|
struct wl1273_device *radio = platform_get_drvdata(pdev);
|
|
struct wl1273_core *core = radio->core;
|
|
@@ -1990,6 +1990,7 @@ static void wl1273_fm_radio_remove(struct platform_device *pdev)
|
|
v4l2_ctrl_handler_free(&radio->ctrl_handler);
|
|
video_unregister_device(&radio->videodev);
|
|
v4l2_device_unregister(&radio->v4l2dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static int wl1273_fm_radio_probe(struct platform_device *pdev)
|
|
diff --git a/drivers/media/radio/si4713/radio-platform-si4713.c b/drivers/media/radio/si4713/radio-platform-si4713.c
|
|
index 60b201b2b961..ea03b7f235cf 100644
|
|
--- a/drivers/media/radio/si4713/radio-platform-si4713.c
|
|
+++ b/drivers/media/radio/si4713/radio-platform-si4713.c
|
|
@@ -190,7 +190,7 @@ static int radio_si4713_pdriver_probe(struct platform_device *pdev)
|
|
}
|
|
|
|
/* radio_si4713_pdriver_remove - remove the device */
|
|
-static void radio_si4713_pdriver_remove(struct platform_device *pdev)
|
|
+static int radio_si4713_pdriver_remove(struct platform_device *pdev)
|
|
{
|
|
struct v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
|
|
struct radio_si4713_device *rsdev;
|
|
@@ -198,6 +198,7 @@ static void radio_si4713_pdriver_remove(struct platform_device *pdev)
|
|
rsdev = container_of(v4l2_dev, struct radio_si4713_device, v4l2_dev);
|
|
video_unregister_device(&rsdev->radio_dev);
|
|
v4l2_device_unregister(&rsdev->v4l2_dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver radio_si4713_pdriver = {
|
|
diff --git a/drivers/media/test-drivers/vicodec/vicodec-core.c b/drivers/media/test-drivers/vicodec/vicodec-core.c
|
|
index 0979a3cec392..518386c79d6c 100644
|
|
--- a/drivers/media/test-drivers/vicodec/vicodec-core.c
|
|
+++ b/drivers/media/test-drivers/vicodec/vicodec-core.c
|
|
@@ -2179,7 +2179,7 @@ static int vicodec_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vicodec_remove(struct platform_device *pdev)
|
|
+static int vicodec_remove(struct platform_device *pdev)
|
|
{
|
|
struct vicodec_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -2196,11 +2196,12 @@ static void vicodec_remove(struct platform_device *pdev)
|
|
video_unregister_device(&dev->stateful_dec.vfd);
|
|
video_unregister_device(&dev->stateless_dec.vfd);
|
|
v4l2_device_put(&dev->v4l2_dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver vicodec_pdrv = {
|
|
.probe = vicodec_probe,
|
|
- .remove = vicodec_remove,
|
|
+ .remove = vicodec_remove,
|
|
.driver = {
|
|
.name = VICODEC_NAME,
|
|
},
|
|
diff --git a/drivers/media/test-drivers/vidtv/vidtv_bridge.c b/drivers/media/test-drivers/vidtv/vidtv_bridge.c
|
|
index 0ae6ea69f3bc..4957942a6219 100644
|
|
--- a/drivers/media/test-drivers/vidtv/vidtv_bridge.c
|
|
+++ b/drivers/media/test-drivers/vidtv/vidtv_bridge.c
|
|
@@ -528,7 +528,7 @@ static int vidtv_bridge_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vidtv_bridge_remove(struct platform_device *pdev)
|
|
+static int vidtv_bridge_remove(struct platform_device *pdev)
|
|
{
|
|
struct vidtv_dvb *dvb;
|
|
u32 i;
|
|
@@ -552,6 +552,7 @@ static void vidtv_bridge_remove(struct platform_device *pdev)
|
|
dvb_dmx_release(&dvb->demux);
|
|
dvb_unregister_adapter(&dvb->adapter);
|
|
dev_info(&pdev->dev, "Successfully removed vidtv\n");
|
|
+ return 0;
|
|
}
|
|
|
|
static void vidtv_bridge_dev_release(struct device *dev)
|
|
diff --git a/drivers/media/test-drivers/vim2m.c b/drivers/media/test-drivers/vim2m.c
|
|
index f20de406663f..5b1d00603036 100644
|
|
--- a/drivers/media/test-drivers/vim2m.c
|
|
+++ b/drivers/media/test-drivers/vim2m.c
|
|
@@ -1379,7 +1379,7 @@ static int vim2m_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vim2m_remove(struct platform_device *pdev)
|
|
+static int vim2m_remove(struct platform_device *pdev)
|
|
{
|
|
struct vim2m_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -1390,6 +1390,7 @@ static void vim2m_remove(struct platform_device *pdev)
|
|
v4l2_m2m_unregister_media_controller(dev->m2m_dev);
|
|
#endif
|
|
video_unregister_device(&dev->vfd);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver vim2m_pdrv = {
|
|
diff --git a/drivers/media/test-drivers/vimc/vimc-core.c b/drivers/media/test-drivers/vimc/vimc-core.c
|
|
index cf0a89cffa76..60ec4deb4edc 100644
|
|
--- a/drivers/media/test-drivers/vimc/vimc-core.c
|
|
+++ b/drivers/media/test-drivers/vimc/vimc-core.c
|
|
@@ -387,7 +387,7 @@ static int vimc_probe(struct platform_device *pdev)
|
|
return 0;
|
|
}
|
|
|
|
-static void vimc_remove(struct platform_device *pdev)
|
|
+static int vimc_remove(struct platform_device *pdev)
|
|
{
|
|
struct vimc_device *vimc = platform_get_drvdata(pdev);
|
|
|
|
@@ -397,6 +397,7 @@ static void vimc_remove(struct platform_device *pdev)
|
|
media_device_unregister(&vimc->mdev);
|
|
v4l2_device_unregister(&vimc->v4l2_dev);
|
|
v4l2_device_put(&vimc->v4l2_dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static void vimc_dev_release(struct device *dev)
|
|
diff --git a/drivers/media/test-drivers/visl/visl-core.c b/drivers/media/test-drivers/visl/visl-core.c
|
|
index 0a6586ed3e45..84c42ef7061b 100644
|
|
--- a/drivers/media/test-drivers/visl/visl-core.c
|
|
+++ b/drivers/media/test-drivers/visl/visl-core.c
|
|
@@ -480,7 +480,7 @@ static int visl_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void visl_remove(struct platform_device *pdev)
|
|
+static int visl_remove(struct platform_device *pdev)
|
|
{
|
|
struct visl_dev *dev = platform_get_drvdata(pdev);
|
|
|
|
@@ -493,6 +493,7 @@ static void visl_remove(struct platform_device *pdev)
|
|
}
|
|
#endif
|
|
video_unregister_device(&dev->vfd);
|
|
+ return 0;
|
|
}
|
|
|
|
static struct platform_driver visl_pdrv = {
|
|
diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/test-drivers/vivid/vivid-core.c
|
|
index 64e2356a5392..d18411f3a3c2 100644
|
|
--- a/drivers/media/test-drivers/vivid/vivid-core.c
|
|
+++ b/drivers/media/test-drivers/vivid/vivid-core.c
|
|
@@ -2021,7 +2021,7 @@ static int vivid_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void vivid_remove(struct platform_device *pdev)
|
|
+static int vivid_remove(struct platform_device *pdev)
|
|
{
|
|
struct vivid_dev *dev;
|
|
unsigned int i, j;
|
|
@@ -2101,6 +2101,7 @@ static void vivid_remove(struct platform_device *pdev)
|
|
v4l2_device_put(&dev->v4l2_dev);
|
|
vivid_devs[i] = NULL;
|
|
}
|
|
+ return 0;
|
|
}
|
|
|
|
static void vivid_pdev_release(struct device *dev)
|
|
diff --git a/drivers/media/tuners/it913x.c b/drivers/media/tuners/it913x.c
|
|
index 7cc6318685a7..55e97eb97d5a 100644
|
|
--- a/drivers/media/tuners/it913x.c
|
|
+++ b/drivers/media/tuners/it913x.c
|
|
@@ -419,7 +419,7 @@ static int it913x_probe(struct platform_device *pdev)
|
|
return ret;
|
|
}
|
|
|
|
-static void it913x_remove(struct platform_device *pdev)
|
|
+static int it913x_remove(struct platform_device *pdev)
|
|
{
|
|
struct it913x_dev *dev = platform_get_drvdata(pdev);
|
|
struct dvb_frontend *fe = dev->fe;
|
|
@@ -429,6 +429,7 @@ static void it913x_remove(struct platform_device *pdev)
|
|
memset(&fe->ops.tuner_ops, 0, sizeof(struct dvb_tuner_ops));
|
|
fe->tuner_priv = NULL;
|
|
kfree(dev);
|
|
+ return 0;
|
|
}
|
|
|
|
static const struct platform_device_id it913x_id_table[] = {
|