|
@@ -593,6 +593,16 @@ static int __init nx842_powernv_probe(struct device_node *dn)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static void nx842_delete_coprocs(void)
|
|
|
+{
|
|
|
+ struct nx842_coproc *coproc, *n;
|
|
|
+
|
|
|
+ list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
|
|
|
+ list_del(&coproc->list);
|
|
|
+ kfree(coproc);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
static struct nx842_constraints nx842_powernv_constraints = {
|
|
|
.alignment = DDE_BUFFER_ALIGN,
|
|
|
.multiple = DDE_BUFFER_LAST_MULT,
|
|
@@ -652,13 +662,7 @@ static __init int nx842_powernv_init(void)
|
|
|
|
|
|
ret = crypto_register_alg(&nx842_powernv_alg);
|
|
|
if (ret) {
|
|
|
- struct nx842_coproc *coproc, *n;
|
|
|
-
|
|
|
- list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
|
|
|
- list_del(&coproc->list);
|
|
|
- kfree(coproc);
|
|
|
- }
|
|
|
-
|
|
|
+ nx842_delete_coprocs();
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -668,13 +672,8 @@ module_init(nx842_powernv_init);
|
|
|
|
|
|
static void __exit nx842_powernv_exit(void)
|
|
|
{
|
|
|
- struct nx842_coproc *coproc, *n;
|
|
|
-
|
|
|
crypto_unregister_alg(&nx842_powernv_alg);
|
|
|
|
|
|
- list_for_each_entry_safe(coproc, n, &nx842_coprocs, list) {
|
|
|
- list_del(&coproc->list);
|
|
|
- kfree(coproc);
|
|
|
- }
|
|
|
+ nx842_delete_coprocs();
|
|
|
}
|
|
|
module_exit(nx842_powernv_exit);
|