summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-12-12 14:49:02 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-12-12 14:49:05 +0100
commitc7c9c88cc2acbba29b8cbc9ddcf320857c93134c (patch)
tree116a830ecf16f33cba8d513594f8910d81923b65
parent025d80a05d9381e341b165d7847569a0ef65a509 (diff)
downloadbarebox-c7c9c88cc2acbba29b8cbc9ddcf320857c93134c.tar.gz
barebox-c7c9c88cc2acbba29b8cbc9ddcf320857c93134c.tar.xz
fs: move dev_add_child before device_register
Biology tells us that the parent is known before the child is born. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--fs/fs.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/fs.c b/fs/fs.c
index dc3a6e3d94..4c8c61ac64 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1107,11 +1107,6 @@ static int fs_probe(struct device_d *dev)
if (ret)
return ret;
- if (fsdev->cdev) {
- dev_add_child(fsdev->cdev->dev, &fsdev->dev);
- fsdev->parent_device = fsdev->cdev->dev;
- }
-
fsdev->driver = fsdrv;
list_add_tail(&fsdev->list, &fs_device_list);
@@ -1231,6 +1226,11 @@ int mount(const char *device, const char *fsname, const char *_path)
if (!strncmp(device, "/dev/", 5))
fsdev->cdev = cdev_by_name(device + 5);
+ if (fsdev->cdev) {
+ dev_add_child(fsdev->cdev->dev, &fsdev->dev);
+ fsdev->parent_device = fsdev->cdev->dev;
+ }
+
ret = register_device(&fsdev->dev);
if (ret)
goto err_register;