[PATCH 09/18] cdev: use common cdev_free helper internally

Ahmad Fatoum a.fatoum at pengutronix.de
Sun Apr 13 23:31:43 PDT 2025


We duplicate the same three lines at three places and a fourth is
incoming, so create a helper function.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 fs/devfs-core.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/fs/devfs-core.c b/fs/devfs-core.c
index 04bf866a67e0..4c5445b17aaf 100644
--- a/fs/devfs-core.c
+++ b/fs/devfs-core.c
@@ -397,6 +397,13 @@ static struct cdev *cdev_alloc(const char *name)
 	return new;
 }
 
+static void cdev_free(struct cdev *cdev)
+{
+	free(cdev->name);
+	free(cdev->partname);
+	free(cdev);
+}
+
 int devfs_create(struct cdev *new)
 {
 	struct cdev *cdev;
@@ -476,11 +483,8 @@ int devfs_remove(struct cdev *cdev)
 	if (cdev_is_partition(cdev))
 		list_del(&cdev->partition_entry);
 
-	if (cdev->link) {
-		free(cdev->name);
-		free(cdev->partname);
-		free(cdev);
-	}
+	if (cdev->link)
+		cdev_free(cdev);
 
 	return 0;
 }
@@ -669,9 +673,7 @@ int cdevfs_del_partition(struct cdev *cdev)
 	if (ret)
 		return ret;
 
-	free(cdev->name);
-	free(cdev->partname);
-	free(cdev);
+	cdev_free(cdev);
 
 	return 0;
 }
@@ -797,8 +799,7 @@ void cdev_remove_loop(struct cdev *cdev)
 	devfs_remove(cdev);
 	close(priv->fd);
 	free(priv);
-	free(cdev->name);
-	free(cdev);
+	cdev_free(cdev);
 }
 
 ssize_t mem_copy(struct device *dev, void *dst, const void *src,
-- 
2.39.5




More information about the barebox mailing list