[PATCH 5/9] mtd: Allow dynamic major/minor number for mtd block devices
Richard Purdie
rpurdie at openedhand.com
Fri Mar 2 10:54:49 EST 2007
Allow mtd block devices to have a dynamically allocated major/minor
numbers if tr->major == 0.
Signed-off-by: Richard Purdie <rpurdie at openedhand.com>
---
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);
More information about the linux-mtd
mailing list