Commit 3664ff82 authored by Yangtao Li's avatar Yangtao Li Committed by Mike Snitzer
Browse files

dm: add helper macro for simple DM target module init and exit



Eliminate duplicate boilerplate code for simple modules that contain
a single DM target driver without any additional setup code.

Add a new module_dm() macro, which replaces the module_init() and
module_exit() with template functions that call dm_register_target()
and dm_unregister_target() respectively.

Signed-off-by: default avatarYangtao Li <frank.li@vivo.com>
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent 306fbc2e
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -3659,19 +3659,7 @@ static struct target_type crypt_target = {
	.iterate_devices = crypt_iterate_devices,
	.io_hints = crypt_io_hints,
};

static int __init dm_crypt_init(void)
{
	return dm_register_target(&crypt_target);
}

static void __exit dm_crypt_exit(void)
{
	dm_unregister_target(&crypt_target);
}

module_init(dm_crypt_init);
module_exit(dm_crypt_exit);
module_dm(crypt);

MODULE_AUTHOR("Jana Saout <jana@saout.de>");
MODULE_DESCRIPTION(DM_NAME " target for transparent encryption / decryption");
+1 −14
Original line number Diff line number Diff line
@@ -367,20 +367,7 @@ static struct target_type delay_target = {
	.status	     = delay_status,
	.iterate_devices = delay_iterate_devices,
};

static int __init dm_delay_init(void)
{
	return dm_register_target(&delay_target);
}

static void __exit dm_delay_exit(void)
{
	dm_unregister_target(&delay_target);
}

/* Module hooks */
module_init(dm_delay_init);
module_exit(dm_delay_exit);
module_dm(delay);

MODULE_DESCRIPTION(DM_NAME " delay target");
MODULE_AUTHOR("Heinz Mauelshagen <mauelshagen@redhat.com>");
+1 −13
Original line number Diff line number Diff line
@@ -570,19 +570,7 @@ static struct target_type dust_target = {
	.status = dust_status,
	.prepare_ioctl = dust_prepare_ioctl,
};

static int __init dm_dust_init(void)
{
	return dm_register_target(&dust_target);
}

static void __exit dm_dust_exit(void)
{
	dm_unregister_target(&dust_target);
}

module_init(dm_dust_init);
module_exit(dm_dust_exit);
module_dm(dust);

MODULE_DESCRIPTION(DM_NAME " dust test target");
MODULE_AUTHOR("Bryan Gurney <dm-devel@redhat.com>");
+1 −13
Original line number Diff line number Diff line
@@ -452,19 +452,7 @@ static struct target_type ebs_target = {
	.prepare_ioctl	 = ebs_prepare_ioctl,
	.iterate_devices = ebs_iterate_devices,
};

static int __init dm_ebs_init(void)
{
	return dm_register_target(&ebs_target);
}

static void dm_ebs_exit(void)
{
	dm_unregister_target(&ebs_target);
}

module_init(dm_ebs_init);
module_exit(dm_ebs_exit);
module_dm(ebs);

MODULE_AUTHOR("Heinz Mauelshagen <dm-devel@redhat.com>");
MODULE_DESCRIPTION(DM_NAME " emulated block size target");
+1 −13
Original line number Diff line number Diff line
@@ -1753,19 +1753,7 @@ static struct target_type era_target = {
	.iterate_devices = era_iterate_devices,
	.io_hints = era_io_hints
};

static int __init dm_era_init(void)
{
	return dm_register_target(&era_target);
}

static void __exit dm_era_exit(void)
{
	dm_unregister_target(&era_target);
}

module_init(dm_era_init);
module_exit(dm_era_exit);
module_dm(era);

MODULE_DESCRIPTION(DM_NAME " era target");
MODULE_AUTHOR("Joe Thornber <ejt@redhat.com>");
Loading