Message ID | 20170301233323.GA8881@dtor-ws |
---|---|
State | Accepted |
Headers | show |
Hi, On Wed, Mar 01, 2017 at 03:33:23PM -0800, Dmitry Torokhov wrote: > Even if bus is not hot-pluggable, 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. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-By: Sebastian Reichel <sre@kernel.org> -- Sebastian > --- > drivers/rtc/rtc-omap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c > index 51e52446eacb..fa856d9c5e23 100644 > --- a/drivers/rtc/rtc-omap.c > +++ b/drivers/rtc/rtc-omap.c > @@ -844,7 +844,7 @@ static int omap_rtc_probe(struct platform_device *pdev) > return ret; > } > > -static int __exit omap_rtc_remove(struct platform_device *pdev) > +static int omap_rtc_remove(struct platform_device *pdev) > { > struct omap_rtc *rtc = platform_get_drvdata(pdev); > u8 reg; > @@ -964,7 +964,7 @@ static void omap_rtc_shutdown(struct platform_device *pdev) > > static struct platform_driver omap_rtc_driver = { > .probe = omap_rtc_probe, > - .remove = __exit_p(omap_rtc_remove), > + .remove = omap_rtc_remove, > .shutdown = omap_rtc_shutdown, > .driver = { > .name = "omap_rtc",
On 01/03/2017 at 15:33:23 -0800, Dmitry Torokhov wrote: > Even if bus is not hot-pluggable, 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. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > drivers/rtc/rtc-omap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Applied, thanks.
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index 51e52446eacb..fa856d9c5e23 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c @@ -844,7 +844,7 @@ static int omap_rtc_probe(struct platform_device *pdev) return ret; } -static int __exit omap_rtc_remove(struct platform_device *pdev) +static int omap_rtc_remove(struct platform_device *pdev) { struct omap_rtc *rtc = platform_get_drvdata(pdev); u8 reg; @@ -964,7 +964,7 @@ static void omap_rtc_shutdown(struct platform_device *pdev) static struct platform_driver omap_rtc_driver = { .probe = omap_rtc_probe, - .remove = __exit_p(omap_rtc_remove), + .remove = omap_rtc_remove, .shutdown = omap_rtc_shutdown, .driver = { .name = "omap_rtc",
Even if bus is not hot-pluggable, 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. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- drivers/rtc/rtc-omap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)