diff options
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/devices/block2mtd.c | 8 | ||||
-rw-r--r-- | drivers/mtd/mtdchar.c | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c index 519d942e7940..7b72a1b36115 100644 --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c | |||
@@ -241,6 +241,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size) | |||
241 | { | 241 | { |
242 | struct block_device *bdev; | 242 | struct block_device *bdev; |
243 | struct block2mtd_dev *dev; | 243 | struct block2mtd_dev *dev; |
244 | char *name; | ||
244 | 245 | ||
245 | if (!devname) | 246 | if (!devname) |
246 | return NULL; | 247 | return NULL; |
@@ -279,12 +280,13 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size) | |||
279 | 280 | ||
280 | /* Setup the MTD structure */ | 281 | /* Setup the MTD structure */ |
281 | /* make the name contain the block device in */ | 282 | /* make the name contain the block device in */ |
282 | dev->mtd.name = kmalloc(sizeof("block2mtd: ") + strlen(devname), | 283 | name = kmalloc(sizeof("block2mtd: ") + strlen(devname) + 1, |
283 | GFP_KERNEL); | 284 | GFP_KERNEL); |
284 | if (!dev->mtd.name) | 285 | if (!name) |
285 | goto devinit_err; | 286 | goto devinit_err; |
286 | 287 | ||
287 | sprintf(dev->mtd.name, "block2mtd: %s", devname); | 288 | sprintf(name, "block2mtd: %s", devname); |
289 | dev->mtd.name = name; | ||
288 | 290 | ||
289 | dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK; | 291 | dev->mtd.size = dev->blkdev->bd_inode->i_size & PAGE_MASK; |
290 | dev->mtd.erasesize = erase_size; | 292 | dev->mtd.erasesize = erase_size; |
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index 129d429cd2da..aef9f4b687c9 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c | |||
@@ -28,10 +28,13 @@ static void mtd_notify_add(struct mtd_info* mtd) | |||
28 | if (!mtd) | 28 | if (!mtd) |
29 | return; | 29 | return; |
30 | 30 | ||
31 | device_create(mtd_class, NULL, MKDEV(MTD_CHAR_MAJOR, mtd->index*2), "mtd%d", mtd->index); | 31 | device_create_drvdata(mtd_class, NULL, |
32 | MKDEV(MTD_CHAR_MAJOR, mtd->index*2), | ||
33 | NULL, "mtd%d", mtd->index); | ||
32 | 34 | ||
33 | device_create(mtd_class, NULL, | 35 | device_create_drvdata(mtd_class, NULL, |
34 | MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1), "mtd%dro", mtd->index); | 36 | MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1), |
37 | NULL, "mtd%dro", mtd->index); | ||
35 | } | 38 | } |
36 | 39 | ||
37 | static void mtd_notify_remove(struct mtd_info* mtd) | 40 | static void mtd_notify_remove(struct mtd_info* mtd) |