KEYS: trusted: Remove redundant static calls usage
[linux-2.6-microblaze.git] / security / keys / trusted-keys / trusted_core.c
index c6fc50d..85fb5c2 100644 (file)
@@ -44,13 +44,12 @@ static const struct trusted_key_source trusted_key_sources[] = {
 #endif
 };
 
-DEFINE_STATIC_CALL_NULL(trusted_key_init, *trusted_key_sources[0].ops->init);
 DEFINE_STATIC_CALL_NULL(trusted_key_seal, *trusted_key_sources[0].ops->seal);
 DEFINE_STATIC_CALL_NULL(trusted_key_unseal,
                        *trusted_key_sources[0].ops->unseal);
 DEFINE_STATIC_CALL_NULL(trusted_key_get_random,
                        *trusted_key_sources[0].ops->get_random);
-DEFINE_STATIC_CALL_NULL(trusted_key_exit, *trusted_key_sources[0].ops->exit);
+static void (*trusted_key_exit)(void);
 static unsigned char migratable;
 
 enum {
@@ -359,19 +358,16 @@ static int __init init_trusted(void)
                if (!get_random)
                        get_random = kernel_get_random;
 
-               static_call_update(trusted_key_init,
-                                  trusted_key_sources[i].ops->init);
                static_call_update(trusted_key_seal,
                                   trusted_key_sources[i].ops->seal);
                static_call_update(trusted_key_unseal,
                                   trusted_key_sources[i].ops->unseal);
                static_call_update(trusted_key_get_random,
                                   get_random);
-               static_call_update(trusted_key_exit,
-                                  trusted_key_sources[i].ops->exit);
+               trusted_key_exit = trusted_key_sources[i].ops->exit;
                migratable = trusted_key_sources[i].ops->migratable;
 
-               ret = static_call(trusted_key_init)();
+               ret = trusted_key_sources[i].ops->init();
                if (!ret)
                        break;
        }
@@ -388,7 +384,8 @@ static int __init init_trusted(void)
 
 static void __exit cleanup_trusted(void)
 {
-       static_call_cond(trusted_key_exit)();
+       if (trusted_key_exit)
+               (*trusted_key_exit)();
 }
 
 late_initcall(init_trusted);