summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2022-02-07 10:49:49 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2022-02-08 09:13:57 +0100
commit62f3df2fcdb693680dd5fa6b70eecdb07806c324 (patch)
tree4f704fe1c6ca05632dd839f7f3114babe574a582 /fs
parent76bfcf78702c32271f8c278eb106b422b998d5e7 (diff)
downloadbarebox-62f3df2fcdb693680dd5fa6b70eecdb07806c324.tar.gz
barebox-62f3df2fcdb693680dd5fa6b70eecdb07806c324.tar.xz
cdev: implement cdev_open()
Implement cdev_open() with the expected semantics that takes a struct cdev * argument. We already have an unimplemented prototype cdev_do_open(), remove this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220207094953.949868-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs')
-rw-r--r--fs/devfs-core.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/fs/devfs-core.c b/fs/devfs-core.c
index 770b570d7b..3812ae939f 100644
--- a/fs/devfs-core.c
+++ b/fs/devfs-core.c
@@ -169,6 +169,14 @@ int cdev_find_free_index(const char *basename)
return -EBUSY; /* all indexes are used */
}
+int cdev_open(struct cdev *cdev, unsigned long flags)
+{
+ if (cdev->ops->open)
+ return cdev->ops->open(cdev, flags);
+
+ return 0;
+}
+
struct cdev *cdev_open_by_name(const char *name, unsigned long flags)
{
struct cdev *cdev;
@@ -178,11 +186,9 @@ struct cdev *cdev_open_by_name(const char *name, unsigned long flags)
if (!cdev)
return NULL;
- if (cdev->ops->open) {
- ret = cdev->ops->open(cdev, flags);
- if (ret)
- return NULL;
- }
+ ret = cdev_open(cdev, flags);
+ if (ret)
+ return NULL;
return cdev;
}