[PATCH 01/18] cdev: make cdev_find_child_by_gpt_typeuuid external
Ahmad Fatoum
a.fatoum at pengutronix.de
Sun Apr 13 23:31:35 PDT 2025
From: Ahmad Fatoum <a.fatoum at barebox.org>
The function is already used from two places and long enough that we
probably don't want to duplicate it more than once in the final binary.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
fs/devfs-core.c | 16 ++++++++++++++++
include/driver.h | 17 ++---------------
2 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/fs/devfs-core.c b/fs/devfs-core.c
index 2617eeea0706..f67c86b2267e 100644
--- a/fs/devfs-core.c
+++ b/fs/devfs-core.c
@@ -126,6 +126,22 @@ struct cdev *cdev_by_diskuuid(const char *diskuuid)
return NULL;
}
+struct cdev *
+cdev_find_child_by_gpt_typeuuid(struct cdev *cdev, guid_t *typeuuid)
+{
+ struct cdev *partcdev;
+
+ if (!cdev_is_gpt_partitioned(cdev))
+ return ERR_PTR(-EINVAL);
+
+ for_each_cdev_partition(partcdev, cdev) {
+ if (guid_equal(&partcdev->typeuuid, typeuuid))
+ return partcdev;
+ }
+
+ return ERR_PTR(-ENOENT);
+}
+
/**
* device_find_partition - find a partition belonging to a physical device
*
diff --git a/include/driver.h b/include/driver.h
index 094347d4577e..d01d026b687b 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -608,21 +608,8 @@ static inline bool cdev_is_gpt_partitioned(const struct cdev *master)
return master && (master->flags & DEVFS_IS_GPT_PARTITIONED);
}
-static inline struct cdev *
-cdev_find_child_by_gpt_typeuuid(struct cdev *cdev, guid_t *typeuuid)
-{
- struct cdev *partcdev;
-
- if (!cdev_is_gpt_partitioned(cdev))
- return ERR_PTR(-EINVAL);
-
- for_each_cdev_partition(partcdev, cdev) {
- if (guid_equal(&partcdev->typeuuid, typeuuid))
- return partcdev;
- }
-
- return ERR_PTR(-ENOENT);
-}
+struct cdev *
+cdev_find_child_by_gpt_typeuuid(struct cdev *cdev, guid_t *typeuuid);
#ifdef CONFIG_FS_AUTOMOUNT
void cdev_create_default_automount(struct cdev *cdev);
--
2.39.5
More information about the barebox
mailing list