#endif
}
-static int completions_init(void)
+static int __init completions_init(void)
{
struct task_struct *crank_thread;
struct task_struct *flywheel_thread;
return -1;
}
-static void completions_exit(void)
+static void __exit completions_exit(void)
{
wait_for_completion(&machine.crank_comp);
wait_for_completion(&machine.flywheel_comp);
pr_info("%s\n", str);
}
-static int cryptosha256_init(void)
+static int __init cryptosha256_init(void)
{
char *plaintext = "This is a test";
char hash_sha256[SHA256_LENGTH];
return 0;
}
-static void cryptosha256_exit(void)
+static void __exit cryptosha256_exit(void)
{
}
return ret;
}
-static int cryptoapi_init(void)
+static int __init cryptoapi_init(void)
{
/* The world's favorite password */
char *password = "password123";
return 0;
}
-static void cryptoapi_exit(void)
+static void __exit cryptoapi_exit(void)
{
test_skcipher_finish(&sk);
}
.remove = devicemodel_remove,
};
-static int devicemodel_init(void)
+static int __init devicemodel_init(void)
{
int ret;
return 0;
}
-static void devicemodel_exit(void)
+static void __exit devicemodel_exit(void)
{
pr_info("devicemodel exit\n");
platform_driver_unregister(&devicemodel_driver);
pr_info("Bits 5: " BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(word));
}
-static int example_atomic_init(void)
+static int __init example_atomic_init(void)
{
pr_info("example_atomic started\n");
return 0;
}
-static void example_atomic_exit(void)
+static void __exit example_atomic_exit(void)
{
pr_info("example_atomic exit\n");
}
static DEFINE_MUTEX(mymutex);
-static int example_mutex_init(void)
+static int __init example_mutex_init(void)
{
int ret;
return 0;
}
-static void example_mutex_exit(void)
+static void __exit example_mutex_exit(void)
{
pr_info("example_mutex exit\n");
}
pr_info("Write Unlocked\n");
}
-static int example_rwlock_init(void)
+static int __init example_rwlock_init(void)
{
pr_info("example_rwlock started\n");
return 0;
}
-static void example_rwlock_exit(void)
+static void __exit example_rwlock_exit(void)
{
pr_info("example_rwlock exit\n");
}
pr_info("Unlocked dynamic spinlock\n");
}
-static int example_spinlock_init(void)
+static int __init example_spinlock_init(void)
{
pr_info("example spinlock started\n");
return 0;
}
-static void example_spinlock_exit(void)
+static void __exit example_spinlock_exit(void)
{
pr_info("example spinlock exit\n");
}
static DECLARE_TASKLET_OLD(mytask, tasklet_fn);
-static int example_tasklet_init(void)
+static int __init example_tasklet_init(void)
{
pr_info("tasklet example init\n");
tasklet_schedule(&mytask);
return 0;
}
-static void example_tasklet_exit(void)
+static void __exit example_tasklet_exit(void)
{
pr_info("tasklet example exit\n");
tasklet_kill(&mytask);
.unlocked_ioctl = test_ioctl_ioctl,
};
-static int ioctl_init(void)
+static int __init ioctl_init(void)
{
dev_t dev;
int alloc_ret = -1;
return -1;
}
-static void ioctl_exit(void)
+static void __exit ioctl_exit(void)
{
dev_t dev = MKDEV(test_ioctl_major, 0);