[PATCH 3/4] filetype: Use cdev_open

Sascha Hauer s.hauer at pengutronix.de
Tue Oct 13 00:51:53 PDT 2015


a cdev has to be opened before usage. Use cdev_open instead of
cdev_by_name.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 common/filetype.c | 4 +++-
 fs/fs.c           | 2 --
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/filetype.c b/common/filetype.c
index dc2ff3f..9ec8ebf 100644
--- a/common/filetype.c
+++ b/common/filetype.c
@@ -369,9 +369,10 @@ enum filetype cdev_detect_type(const char *name)
 	struct cdev *cdev;
 	void *buf;
 
-	cdev = cdev_by_name(name);
+	cdev = cdev_open(name, O_RDONLY);
 	if (!cdev)
 		return type;
+
 	buf = xzalloc(FILE_TYPE_SAFE_BUFSIZE);
 	ret = cdev_read(cdev, buf, FILE_TYPE_SAFE_BUFSIZE, 0, 0);
 	if (ret < 0)
@@ -396,5 +397,6 @@ enum filetype cdev_detect_type(const char *name)
 
 err_out:
 	free(buf);
+	cdev_close(cdev);
 	return type;
 }
diff --git a/fs/fs.c b/fs/fs.c
index c2a20e1..2d7578b 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1205,8 +1205,6 @@ static const char *detect_fs(const char *filename)
 	struct driver_d *drv;
 	struct fs_driver_d *fdrv;
 
-	if (!strncmp(filename, "/dev/", 5))
-		filename += 5;
 	type = cdev_detect_type(filename);
 
 	if (type == filetype_unknown)
-- 
2.6.0




More information about the barebox mailing list