Commit bf306900 authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Mauro Carvalho Chehab

[media] Media: remove incorrect __init/__exit markups

Even if bus is not hot-pluggable, the devices can be unbound from the
driver via sysfs, so we should not be using __exit annotations on
remove() methods. The only exception is drivers registered with
platform_driver_probe() which specifically disables sysfs bind/unbind
attributes.
Similarly probe() methods should not be marked __init unless
platform_driver_probe() is used.
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: default avatarSakari Ailus <sakari.ailus@iki.fi>
Acked-by: default avatarTimo Kokkonen <timo.t.kokkonen@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 4458a54c
...@@ -447,7 +447,7 @@ static int adp1653_probe(struct i2c_client *client, ...@@ -447,7 +447,7 @@ static int adp1653_probe(struct i2c_client *client,
return ret; return ret;
} }
static int __exit adp1653_remove(struct i2c_client *client) static int adp1653_remove(struct i2c_client *client)
{ {
struct v4l2_subdev *subdev = i2c_get_clientdata(client); struct v4l2_subdev *subdev = i2c_get_clientdata(client);
struct adp1653_flash *flash = to_adp1653_flash(subdev); struct adp1653_flash *flash = to_adp1653_flash(subdev);
...@@ -476,7 +476,7 @@ static struct i2c_driver adp1653_i2c_driver = { ...@@ -476,7 +476,7 @@ static struct i2c_driver adp1653_i2c_driver = {
.pm = &adp1653_pm_ops, .pm = &adp1653_pm_ops,
}, },
.probe = adp1653_probe, .probe = adp1653_probe,
.remove = __exit_p(adp1653_remove), .remove = adp1653_remove,
.id_table = adp1653_id_table, .id_table = adp1653_id_table,
}; };
......
...@@ -2833,7 +2833,7 @@ static int smiapp_probe(struct i2c_client *client, ...@@ -2833,7 +2833,7 @@ static int smiapp_probe(struct i2c_client *client,
sensor->src->pads, 0); sensor->src->pads, 0);
} }
static int __exit smiapp_remove(struct i2c_client *client) static int smiapp_remove(struct i2c_client *client)
{ {
struct v4l2_subdev *subdev = i2c_get_clientdata(client); struct v4l2_subdev *subdev = i2c_get_clientdata(client);
struct smiapp_sensor *sensor = to_smiapp_sensor(subdev); struct smiapp_sensor *sensor = to_smiapp_sensor(subdev);
...@@ -2881,7 +2881,7 @@ static struct i2c_driver smiapp_i2c_driver = { ...@@ -2881,7 +2881,7 @@ static struct i2c_driver smiapp_i2c_driver = {
.pm = &smiapp_pm_ops, .pm = &smiapp_pm_ops,
}, },
.probe = smiapp_probe, .probe = smiapp_probe,
.remove = __exit_p(smiapp_remove), .remove = smiapp_remove,
.id_table = smiapp_id_table, .id_table = smiapp_id_table,
}; };
......
...@@ -1546,7 +1546,7 @@ static struct soc_camera_host_ops omap1_host_ops = { ...@@ -1546,7 +1546,7 @@ static struct soc_camera_host_ops omap1_host_ops = {
.poll = omap1_cam_poll, .poll = omap1_cam_poll,
}; };
static int __init omap1_cam_probe(struct platform_device *pdev) static int omap1_cam_probe(struct platform_device *pdev)
{ {
struct omap1_cam_dev *pcdev; struct omap1_cam_dev *pcdev;
struct resource *res; struct resource *res;
...@@ -1677,7 +1677,7 @@ static int __init omap1_cam_probe(struct platform_device *pdev) ...@@ -1677,7 +1677,7 @@ static int __init omap1_cam_probe(struct platform_device *pdev)
return err; return err;
} }
static int __exit omap1_cam_remove(struct platform_device *pdev) static int omap1_cam_remove(struct platform_device *pdev)
{ {
struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev); struct soc_camera_host *soc_host = to_soc_camera_host(&pdev->dev);
struct omap1_cam_dev *pcdev = container_of(soc_host, struct omap1_cam_dev *pcdev = container_of(soc_host,
...@@ -1709,7 +1709,7 @@ static struct platform_driver omap1_cam_driver = { ...@@ -1709,7 +1709,7 @@ static struct platform_driver omap1_cam_driver = {
.name = DRIVER_NAME, .name = DRIVER_NAME,
}, },
.probe = omap1_cam_probe, .probe = omap1_cam_probe,
.remove = __exit_p(omap1_cam_remove), .remove = omap1_cam_remove,
}; };
module_platform_driver(omap1_cam_driver); module_platform_driver(omap1_cam_driver);
......
...@@ -328,7 +328,7 @@ static int radio_si4713_pdriver_probe(struct platform_device *pdev) ...@@ -328,7 +328,7 @@ static int radio_si4713_pdriver_probe(struct platform_device *pdev)
} }
/* radio_si4713_pdriver_remove - remove the device */ /* radio_si4713_pdriver_remove - remove the device */
static int __exit 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 v4l2_device *v4l2_dev = platform_get_drvdata(pdev);
struct radio_si4713_device *rsdev = container_of(v4l2_dev, struct radio_si4713_device *rsdev = container_of(v4l2_dev,
...@@ -350,7 +350,7 @@ static struct platform_driver radio_si4713_pdriver = { ...@@ -350,7 +350,7 @@ static struct platform_driver radio_si4713_pdriver = {
.name = "radio-si4713", .name = "radio-si4713",
}, },
.probe = radio_si4713_pdriver_probe, .probe = radio_si4713_pdriver_probe,
.remove = __exit_p(radio_si4713_pdriver_remove), .remove = radio_si4713_pdriver_remove,
}; };
module_platform_driver(radio_si4713_pdriver); module_platform_driver(radio_si4713_pdriver);
...@@ -464,14 +464,14 @@ static int lirc_rx51_probe(struct platform_device *dev) ...@@ -464,14 +464,14 @@ static int lirc_rx51_probe(struct platform_device *dev)
return 0; return 0;
} }
static int __exit lirc_rx51_remove(struct platform_device *dev) static int lirc_rx51_remove(struct platform_device *dev)
{ {
return lirc_unregister_driver(lirc_rx51_driver.minor); return lirc_unregister_driver(lirc_rx51_driver.minor);
} }
struct platform_driver lirc_rx51_platform_driver = { struct platform_driver lirc_rx51_platform_driver = {
.probe = lirc_rx51_probe, .probe = lirc_rx51_probe,
.remove = __exit_p(lirc_rx51_remove), .remove = lirc_rx51_remove,
.suspend = lirc_rx51_suspend, .suspend = lirc_rx51_suspend,
.resume = lirc_rx51_resume, .resume = lirc_rx51_resume,
.driver = { .driver = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment