|
|
@@ -0,0 +1,46 @@
|
|
|
+From 1eb8a1b340e2f0a562b4987683bbaee4d620bf0a Mon Sep 17 00:00:00 2001
|
|
|
+From: Dmitry Torokhov <[email protected]>
|
|
|
+Date: Mon, 9 Mar 2015 13:35:39 -0700
|
|
|
+Subject: [PATCH] crypto: amcc - remove incorrect __init/__exit markups
|
|
|
+
|
|
|
+Even if bus is not hot-pluggable, the devices can be bound and unbound
|
|
|
+from the driver via sysfs, so we should not be using __init/__exit
|
|
|
+annotations on probe() and remove() methods. The only exception is
|
|
|
+drivers registered with platform_driver_probe() which specifically
|
|
|
+disables sysfs bind/unbind attributes.
|
|
|
+
|
|
|
+Signed-off-by: Dmitry Torokhov <[email protected]>
|
|
|
+Signed-off-by: Herbert Xu <[email protected]>
|
|
|
+---
|
|
|
+ drivers/crypto/amcc/crypto4xx_core.c | 6 +++---
|
|
|
+ 1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
+
|
|
|
+--- a/drivers/crypto/amcc/crypto4xx_core.c
|
|
|
++++ b/drivers/crypto/amcc/crypto4xx_core.c
|
|
|
+@@ -1155,7 +1155,7 @@ struct crypto4xx_alg_common crypto4xx_al
|
|
|
+ /**
|
|
|
+ * Module Initialization Routine
|
|
|
+ */
|
|
|
+-static int __init crypto4xx_probe(struct platform_device *ofdev)
|
|
|
++static int crypto4xx_probe(struct platform_device *ofdev)
|
|
|
+ {
|
|
|
+ int rc;
|
|
|
+ struct resource res;
|
|
|
+@@ -1263,7 +1263,7 @@ err_alloc_dev:
|
|
|
+ return rc;
|
|
|
+ }
|
|
|
+
|
|
|
+-static int __exit crypto4xx_remove(struct platform_device *ofdev)
|
|
|
++static int crypto4xx_remove(struct platform_device *ofdev)
|
|
|
+ {
|
|
|
+ struct device *dev = &ofdev->dev;
|
|
|
+ struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
|
|
|
+@@ -1292,7 +1292,7 @@ static struct platform_driver crypto4xx_
|
|
|
+ .of_match_table = crypto4xx_match,
|
|
|
+ },
|
|
|
+ .probe = crypto4xx_probe,
|
|
|
+- .remove = __exit_p(crypto4xx_remove),
|
|
|
++ .remove = crypto4xx_remove,
|
|
|
+ };
|
|
|
+
|
|
|
+ module_platform_driver(crypto4xx_driver);
|