Re: [PATCH v2] Media: remove incorrect __init/__exit markups

From: Sakari Ailus
Date: Tue Feb 26 2013 - 03:25:53 EST


Hi Dmitry,

On Mon, Feb 25, 2013 at 11:17:27PM -0800, Dmitry Torokhov wrote:
> 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: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> ---
>
> v1->v2: removed __init markup on omap1_cam_probe() that was pointed out
> by Guennadi Liakhovetski.
>
> drivers/media/i2c/adp1653.c | 4 ++--
> drivers/media/i2c/smiapp/smiapp-core.c | 4 ++--
> drivers/media/platform/soc_camera/omap1_camera.c | 6 +++---
> drivers/media/radio/radio-si4713.c | 4 ++--
> drivers/media/rc/ir-rx51.c | 4 ++--
> 5 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/media/i2c/adp1653.c b/drivers/media/i2c/adp1653.c
> index df16380..ef75abe 100644
> --- a/drivers/media/i2c/adp1653.c
> +++ b/drivers/media/i2c/adp1653.c
> @@ -447,7 +447,7 @@ free_and_quit:
> 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 adp1653_flash *flash = to_adp1653_flash(subdev);
> @@ -476,7 +476,7 @@ static struct i2c_driver adp1653_i2c_driver = {
> .pm = &adp1653_pm_ops,
> },
> .probe = adp1653_probe,
> - .remove = __exit_p(adp1653_remove),
> + .remove = adp1653_remove,
> .id_table = adp1653_id_table,
> };
>
> diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
> index 83c7ed7..cae4f46 100644
> --- a/drivers/media/i2c/smiapp/smiapp-core.c
> +++ b/drivers/media/i2c/smiapp/smiapp-core.c
> @@ -2833,7 +2833,7 @@ static int smiapp_probe(struct i2c_client *client,
> 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 smiapp_sensor *sensor = to_smiapp_sensor(subdev);
> @@ -2881,7 +2881,7 @@ static struct i2c_driver smiapp_i2c_driver = {
> .pm = &smiapp_pm_ops,
> },
> .probe = smiapp_probe,
> - .remove = __exit_p(smiapp_remove),
> + .remove = smiapp_remove,
> .id_table = smiapp_id_table,
> };
>

For adp1653 and smiapp:

Acked-by: Sakari Ailus <sakari.ailus@xxxxxx>

--
Sakari Ailus
e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/