[PATCH 12/23] mtd: bdi init hooks

Peter Zijlstra
2007-08-03T12:37:25Z

[-- Attachment #1: bdi_init_mtd.patch --]
[-- Type: text/plain, Size: 1347 bytes --]

split off because the relevant mtd changes seem particular to -mm

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
drivers/mtd/mtdcore.c | 9 +++++++++
1 file changed, 9 insertions(+)

Index: linux-2.6/drivers/mtd/mtdcore.c
===================================================================
--- linux-2.6.orig/drivers/mtd/mtdcore.c
+++ linux-2.6/drivers/mtd/mtdcore.c
@@ -48,6 +48,7 @@ static LIST_HEAD(mtd_notifiers);
int add_mtd_device(struct mtd_info *mtd)
{
int i;
+ int err;

if (!mtd->backing_dev_info) {
switch (mtd->type) {
@@ -62,6 +63,9 @@ int add_mtd_device(struct mtd_info *mtd)
break;
}
}
+ err = bdi_init(mtd->backing_dev_info);
+ if (err)
+ return 1;

BUG_ON(mtd->writesize == 0);
mutex_lock(&mtd_table_mutex);
@@ -102,6 +106,7 @@ int add_mtd_device(struct mtd_info *mtd)
}

mutex_unlock(&mtd_table_mutex);
+ bdi_destroy(mtd->backing_dev_info);
return 1;
}

@@ -144,6 +149,10 @@ int del_mtd_device (struct mtd_info *mtd
}

mutex_unlock(&mtd_table_mutex);
+
+ if (mtd->backing_dev_info)
+ bdi_destroy(mtd->backing_dev_info);
+
return ret;
}