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-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html