@@ -793,11 +793,16 @@ struct mtd_info *mtd_concat_create(struct mtd_info *subdev[], /* subdevices to c
concat->mtd.erase = concat_erase;
concat->mtd.read = concat_read;
concat->mtd.write = concat_write;
- concat->mtd.sync = concat_sync;
+ if (subdev[0]->sync)
+ concat->mtd.sync = concat_sync;
+ if (subdev[0]->lock)
concat->mtd.lock = concat_lock;
+ if (subdev[0]->unlock)
concat->mtd.unlock = concat_unlock;
- concat->mtd.suspend = concat_suspend;
- concat->mtd.resume = concat_resume;
+ if (subdev[0]->suspend)
+ concat->mtd.suspend = concat_suspend;
+ if (subdev[0]->resume)
+ concat->mtd.resume = concat_resume;
thank you