From 08f87f769b595151be1afeff53e144f543faa614 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 06 Dec 2023 09:51:13 +0000
Subject: [PATCH] add dts config

---
 kernel/fs/incfs/main.c |   74 ++----------------------------------
 1 files changed, 5 insertions(+), 69 deletions(-)

diff --git a/kernel/fs/incfs/main.c b/kernel/fs/incfs/main.c
index aac87b1..213faa5 100644
--- a/kernel/fs/incfs/main.c
+++ b/kernel/fs/incfs/main.c
@@ -8,9 +8,8 @@
 
 #include <uapi/linux/incrementalfs.h>
 
+#include "sysfs.h"
 #include "vfs.h"
-
-#define INCFS_NODE_FEATURES "features"
 
 static struct file_system_type incfs_fs_type = {
 	.owner = THIS_MODULE,
@@ -20,88 +19,24 @@
 	.fs_flags = 0
 };
 
-static struct kobject *sysfs_root, *featurefs_root;
-
-static ssize_t corefs_show(struct kobject *kobj,
-			  struct kobj_attribute *attr, char *buff)
-{
-	return snprintf(buff, PAGE_SIZE, "supported\n");
-}
-
-static struct kobj_attribute corefs_attr = __ATTR_RO(corefs);
-
-static ssize_t mounter_context_for_backing_rw_show(struct kobject *kobj,
-			  struct kobj_attribute *attr, char *buff)
-{
-	return snprintf(buff, PAGE_SIZE, "supported\n");
-}
-
-static struct kobj_attribute mounter_context_for_backing_rw_attr =
-	__ATTR_RO(mounter_context_for_backing_rw);
-
-static struct attribute *attributes[] = {
-	&corefs_attr.attr,
-	&mounter_context_for_backing_rw_attr.attr,
-	NULL,
-};
-
-static const struct attribute_group attr_group = {
-	.attrs = attributes,
-};
-
-static int __init init_sysfs(void)
-{
-	int res = 0;
-
-	sysfs_root = kobject_create_and_add(INCFS_NAME, fs_kobj);
-	if (!sysfs_root)
-		return -ENOMEM;
-
-	featurefs_root = kobject_create_and_add(INCFS_NODE_FEATURES,
-						sysfs_root);
-	if (!featurefs_root)
-		return -ENOMEM;
-
-	res = sysfs_create_group(featurefs_root, &attr_group);
-	if (res) {
-		kobject_put(sysfs_root);
-		sysfs_root = NULL;
-	}
-	return res;
-}
-
-static void cleanup_sysfs(void)
-{
-	if (featurefs_root) {
-		sysfs_remove_group(featurefs_root, &attr_group);
-		kobject_put(featurefs_root);
-		featurefs_root = NULL;
-	}
-
-	if (sysfs_root) {
-		kobject_put(sysfs_root);
-		sysfs_root = NULL;
-	}
-}
-
 static int __init init_incfs_module(void)
 {
 	int err = 0;
 
-	err = init_sysfs();
+	err = incfs_init_sysfs();
 	if (err)
 		return err;
 
 	err = register_filesystem(&incfs_fs_type);
 	if (err)
-		cleanup_sysfs();
+		incfs_cleanup_sysfs();
 
 	return err;
 }
 
 static void __exit cleanup_incfs_module(void)
 {
-	cleanup_sysfs();
+	incfs_cleanup_sysfs();
 	unregister_filesystem(&incfs_fs_type);
 }
 
@@ -109,5 +44,6 @@
 module_exit(cleanup_incfs_module);
 
 MODULE_LICENSE("GPL v2");
+MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
 MODULE_AUTHOR("Eugene Zemtsov <ezemtsov@google.com>");
 MODULE_DESCRIPTION("Incremental File System");

--
Gitblit v1.6.2