diff options
| -rw-r--r-- | drivers/mtd/maps/physmap.c | 5 | ||||
| -rw-r--r-- | drivers/mtd/maps/rbtx4939-flash.c | 5 | ||||
| -rw-r--r-- | drivers/mtd/mtdcore.c | 5 | ||||
| -rw-r--r-- | include/linux/mtd/mtd.h | 5 | 
4 files changed, 9 insertions, 11 deletions
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c index d94cc62186c..abc562653b3 100644 --- a/drivers/mtd/maps/physmap.c +++ b/drivers/mtd/maps/physmap.c @@ -190,9 +190,8 @@ static void physmap_flash_shutdown(struct platform_device *dev)  	int i;  	for (i = 0; i < MAX_RESOURCES && info->mtd[i]; i++) -		if (info->mtd[i]->suspend && info->mtd[i]->resume) -			if (mtd_suspend(info->mtd[i]) == 0) -				mtd_resume(info->mtd[i]); +		if (mtd_suspend(info->mtd[i]) == 0) +			mtd_resume(info->mtd[i]);  }  #else  #define physmap_flash_shutdown NULL diff --git a/drivers/mtd/maps/rbtx4939-flash.c b/drivers/mtd/maps/rbtx4939-flash.c index 71762831204..3da63fc6f16 100644 --- a/drivers/mtd/maps/rbtx4939-flash.c +++ b/drivers/mtd/maps/rbtx4939-flash.c @@ -119,9 +119,8 @@ static void rbtx4939_flash_shutdown(struct platform_device *dev)  {  	struct rbtx4939_flash_info *info = platform_get_drvdata(dev); -	if (info->mtd->suspend && info->mtd->resume) -		if (mtd_suspend(info->mtd) == 0) -			mtd_resume(info->mtd); +	if (mtd_suspend(info->mtd) == 0) +		mtd_resume(info->mtd);  }  #else  #define rbtx4939_flash_shutdown NULL diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index 66494ee5355..6ae9ca01388 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -119,10 +119,7 @@ static int mtd_cls_suspend(struct device *dev, pm_message_t state)  {  	struct mtd_info *mtd = dev_get_drvdata(dev); -	if (mtd && mtd->suspend) -		return mtd_suspend(mtd); -	else -		return 0; +	return mtd_suspend(mtd);  }  static int mtd_cls_resume(struct device *dev) diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 6c91ba59c22..089370758fc 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -427,12 +427,15 @@ static inline int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)  static inline int mtd_suspend(struct mtd_info *mtd)  { +	if (!mtd->suspend) +		return -EOPNOTSUPP;  	return mtd->suspend(mtd);  }  static inline void mtd_resume(struct mtd_info *mtd)  { -	mtd->resume(mtd); +	if (mtd->resume) +		mtd->resume(mtd);  }  static inline int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs)  |