[PATCH 5/9] mtd: Allow dynamic major/minor number for mtd blockdevices

From: Richard Purdie
Date: Fri Mar 02 2007 - 10:56:24 EST


Allow mtd block devices to have a dynamically allocated major/minor
numbers if tr->major == 0.

Signed-off-by: Richard Purdie <rpurdie@xxxxxxxxxxxxxx>

---
drivers/mtd/mtd_blkdevs.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux/drivers/mtd/mtd_blkdevs.c
===================================================================
--- linux.orig/drivers/mtd/mtd_blkdevs.c 2007-02-28 18:16:52.000000000 +0000
+++ linux/drivers/mtd/mtd_blkdevs.c 2007-03-02 14:46:29.000000000 +0000
@@ -380,13 +380,16 @@ int register_mtd_blktrans(struct mtd_blk
mutex_lock(&mtd_table_mutex);

ret = register_blkdev(tr->major, tr->name);
- if (ret) {
+ if (ret < 0) {
printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n",
tr->name, tr->major, ret);
kfree(tr->blkcore_priv);
mutex_unlock(&mtd_table_mutex);
return ret;
}
+ if (!tr->major)
+ tr->major = ret;
+
spin_lock_init(&tr->blkcore_priv->queue_lock);
init_completion(&tr->blkcore_priv->thread_dead);
init_waitqueue_head(&tr->blkcore_priv->thread_wq);


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/