Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2df38135 authored by Paul Keith's avatar Paul Keith Committed by Andreas Schneider
Browse files

fs: sdfat: Add config option to register sdFAT for exFAT



Change-Id: Id57abf0a4bd0b433fecc622eecb383cd4ea29d17
Signed-off-by: default avatarPaul Keith <javelinanddart@gmail.com>
parent f82a5dff
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -15,6 +15,13 @@ config SDFAT_FS
	  To compile this as a module, choose M here: the module will be called
	  sdfat_core and sdfat_fs.

config SDFAT_USE_FOR_EXFAT
	bool "Register sdFAT as exFAT"
	default y
	depends on SDFAT_FS && !EXFAT_FS
	help
	  If you want to register sdFAT as available for exFAT, say Y.

config SDFAT_DELAYED_META_DIRTY
	bool "Enable delayed metadata dirty"
	default y
+25 −1
Original line number Diff line number Diff line
@@ -4975,6 +4975,20 @@ static struct file_system_type sdfat_fs_type = {
	.fs_flags    = FS_REQUIRES_DEV,
};

#ifdef CONFIG_SDFAT_USE_FOR_EXFAT
static struct file_system_type exfat_fs_type = {
	.owner       = THIS_MODULE,
	.name        = "exfat",
	.mount       = sdfat_fs_mount,
#ifdef CONFIG_SDFAT_DBG_IOCTL
	.kill_sb    = sdfat_debug_kill_sb,
#else
	.kill_sb    = kill_block_super,
#endif /* CONFIG_SDFAT_DBG_IOCTL */
	.fs_flags    = FS_REQUIRES_DEV,
};
#endif /* CONFIG_SDFAT_USE_FOR_EXFAT */

static int __init init_sdfat_fs(void)
{
	int err;
@@ -5013,6 +5027,14 @@ static int __init init_sdfat_fs(void)
		goto error;
	}

#ifdef CONFIG_SDFAT_USE_FOR_EXFAT
	err = register_filesystem(&exfat_fs_type);
	if (err) {
		pr_err("[SDFAT] failed to register for exfat filesystem\n");
		goto error;
	}
#endif /* CONFIG_SDFAT_USE_FOR_EXFAT */

	return 0;
error:
	sdfat_statistics_uninit();
@@ -5042,7 +5064,9 @@ static void __exit exit_sdfat_fs(void)

	sdfat_destroy_inodecache();
	unregister_filesystem(&sdfat_fs_type);

#ifdef CONFIG_SDFAT_USE_FOR_EXFAT
	unregister_filesystem(&exfat_fs_type);
#endif /* CONFIG_SDFAT_USE_FOR_EXFAT */
	fsapi_shutdown();
}