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
.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;
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_uevent_uninit();
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();
}