[PATCH 02/13] fs: get fs device using container_of
Sascha Hauer
s.hauer at pengutronix.de
Sat Feb 25 10:50:59 EST 2012
This reduces the usage of dev->type_data.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
fs/cramfs/cramfs.c | 3 +--
fs/devfs.c | 1 -
fs/fat/fat.c | 3 +--
fs/fs.c | 5 ++---
fs/ramfs.c | 1 -
fs/tftp.c | 3 +--
include/fs.h | 1 +
7 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/fs/cramfs/cramfs.c b/fs/cramfs/cramfs.c
index bdbb47e..c7c798b 100644
--- a/fs/cramfs/cramfs.c
+++ b/fs/cramfs/cramfs.c
@@ -423,7 +423,7 @@ static int cramfs_probe(struct device_d *dev)
struct fs_device_d *fsdev;
struct cramfs_priv *priv;
- fsdev = dev->type_data;
+ fsdev = dev_to_fs_device(dev);
priv = xmalloc(sizeof(struct cramfs_priv));
dev->priv = priv;
@@ -468,7 +468,6 @@ static struct fs_driver_d cramfs_driver = {
.probe = cramfs_probe,
.remove = cramfs_remove,
.name = "cramfs",
- .type_data = &cramfs_driver,
}
};
diff --git a/fs/devfs.c b/fs/devfs.c
index 2e70cc5..e3a21ae 100644
--- a/fs/devfs.c
+++ b/fs/devfs.c
@@ -249,7 +249,6 @@ static struct fs_driver_d devfs_driver = {
.probe = devfs_probe,
.remove = devfs_delete,
.name = "devfs",
- .type_data = &devfs_driver,
}
};
diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 8420f3a..7d6e37a 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -373,7 +373,7 @@ static int fat_stat(struct device_d *dev, const char *filename, struct stat *s)
static int fat_probe(struct device_d *dev)
{
- struct fs_device_d *fsdev = dev->type_data;
+ struct fs_device_d *fsdev = dev_to_fs_device(dev);
struct fat_priv *priv = xzalloc(sizeof(struct fat_priv));
char *backingstore = fsdev->backingstore;
@@ -423,7 +423,6 @@ static struct fs_driver_d fat_driver = {
.probe = fat_probe,
.remove = fat_remove,
.name = "fat",
- .type_data = &fat_driver,
}
};
diff --git a/fs/fs.c b/fs/fs.c
index 0f12aa6..a31a4ce 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -704,7 +704,7 @@ static int fs_match(struct device_d *dev, struct driver_d *drv)
static int fs_probe(struct device_d *dev)
{
- struct fs_device_d *fsdev = container_of(dev, struct fs_device_d, dev);
+ struct fs_device_d *fsdev = dev_to_fs_device(dev);
struct mtab_entry *entry = &fsdev->mtab;
int ret;
@@ -729,7 +729,7 @@ static int fs_probe(struct device_d *dev)
static void fs_remove(struct device_d *dev)
{
- struct fs_device_d *fsdev = container_of(dev, struct fs_device_d, dev);
+ struct fs_device_d *fsdev = dev_to_fs_device(dev);
struct mtab_entry *entry = &fsdev->mtab;
if (fsdev->dev.driver) {
@@ -798,7 +798,6 @@ int mount(const char *device, const char *fsname, const char *_path)
fsdev = xzalloc(sizeof(struct fs_device_d));
fsdev->backingstore = xstrdup(device);
safe_strncpy(fsdev->dev.name, fsname, MAX_DRIVER_NAME);
- fsdev->dev.type_data = fsdev;
fsdev->dev.id = get_free_deviceid(fsdev->dev.name);
fsdev->mtab.path = xstrdup(path);
fsdev->dev.bus = &fs_bus;
diff --git a/fs/ramfs.c b/fs/ramfs.c
index 5e352f2..83ab6df 100644
--- a/fs/ramfs.c
+++ b/fs/ramfs.c
@@ -562,7 +562,6 @@ static struct fs_driver_d ramfs_driver = {
.probe = ramfs_probe,
.remove = ramfs_remove,
.name = "ramfs",
- .type_data = &ramfs_driver,
}
};
diff --git a/fs/tftp.c b/fs/tftp.c
index 512da03..463e0fc 100644
--- a/fs/tftp.c
+++ b/fs/tftp.c
@@ -598,7 +598,7 @@ static int tftp_stat(struct device_d *dev, const char *filename, struct stat *s)
static int tftp_probe(struct device_d *dev)
{
- struct fs_device_d *fsdev = dev->type_data;
+ struct fs_device_d *fsdev = dev_to_fs_device(dev);
struct tftp_priv *priv = xzalloc(sizeof(struct tftp_priv));
dev->priv = priv;
@@ -633,7 +633,6 @@ static struct fs_driver_d tftp_driver = {
.probe = tftp_probe,
.remove = tftp_remove,
.name = "tftp",
- .type_data = &tftp_driver,
}
};
diff --git a/include/fs.h b/include/fs.h
index 5ef5f55..e5364f9 100644
--- a/include/fs.h
+++ b/include/fs.h
@@ -75,6 +75,7 @@ struct fs_driver_d {
};
#define dev_to_fs_driver(d) container_of(d->driver, struct fs_driver_d, drv)
+#define dev_to_fs_device(d) container_of(d, struct fs_device_d, dev)
struct mtab_entry {
char *path;
--
1.7.9.1
More information about the barebox
mailing list