--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -268,6 +268,7 @@ static int _open_bdev(struct block2mtd_d
+@@ -264,10 +264,12 @@ static int _open_bdev(struct block2mtd_d
+ bdev = open_bdev_exclusive(dev->devname, FMODE_READ|FMODE_WRITE, NULL);
+ #ifndef MODULE
+ if (IS_ERR(bdev)) {
++ dev_t devt;
+
/* We might not have rootfs mounted at this point. Try
to resolve the device name by other means. */
+ wait_for_device_probe();
- dev_t devt = name_to_dev_t(dev->devname);
+- dev_t devt = name_to_dev_t(dev->devname);
++ devt = name_to_dev_t(dev->devname);
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -269,6 +269,7 @@ static int _open_bdev(struct block2mtd_d
+@@ -264,10 +264,12 @@ static int _open_bdev(struct block2mtd_d
+ bdev = open_bdev_exclusive(dev->devname, FMODE_READ|FMODE_WRITE, NULL);
+ #ifndef MODULE
+ if (IS_ERR(bdev)) {
++ dev_t devt;
+
/* We might not have rootfs mounted at this point. Try
to resolve the device name by other means. */
+ wait_for_device_probe();
- dev_t devt = name_to_dev_t(dev->devname);
+- dev_t devt = name_to_dev_t(dev->devname);
++ devt = name_to_dev_t(dev->devname);
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
+ }
+
+ memcpy(dpart, part, sizeof(*part));
++ strcpy((char *)&dpart[1], ROOTFS_SPLIT_NAME);
+ dpart->name = (unsigned char *)&dpart[1];
-+ strcpy(dpart->name, ROOTFS_SPLIT_NAME);
+
+ dpart->size = rpart->size - (split_offset - spart->offset);
+ dpart->offset = split_offset;
+struct mtd_partition;
struct mtd_partition {
- char *name; /* identifier string */
+- char *name; /* identifier string */
++ const char *name; /* identifier string */
uint64_t size; /* partition size */
uint64_t offset; /* offset within the master MTD space */
uint32_t mask_flags; /* master MTD flags to mask out for this partition */
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -268,6 +268,7 @@ static int _open_bdev(struct block2mtd_d
+@@ -264,10 +264,12 @@ static int _open_bdev(struct block2mtd_d
+ bdev = open_bdev_exclusive(dev->devname, FMODE_READ|FMODE_WRITE, NULL);
+ #ifndef MODULE
+ if (IS_ERR(bdev)) {
++ dev_t devt;
+
/* We might not have rootfs mounted at this point. Try
to resolve the device name by other means. */
+ wait_for_device_probe();
- dev_t devt = name_to_dev_t(dev->devname);
+- dev_t devt = name_to_dev_t(dev->devname);
++ devt = name_to_dev_t(dev->devname);
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
+ }
+
+ memcpy(dpart, part, sizeof(*part));
++ strcpy((char *)&dpart[1], ROOTFS_SPLIT_NAME);
+ dpart->name = (unsigned char *)&dpart[1];
-+ strcpy(dpart->name, ROOTFS_SPLIT_NAME);
+
+ dpart->size = rpart->size - (split_offset - spart->offset);
+ dpart->offset = split_offset;
+struct mtd_partition;
struct mtd_partition {
- char *name; /* identifier string */
+- char *name; /* identifier string */
++ const char *name; /* identifier string */
uint64_t size; /* partition size */
uint64_t offset; /* offset within the master MTD space */
uint32_t mask_flags; /* master MTD flags to mask out for this partition */