mtd: do not use mtd->suspend and mtd->resume directly

Just call the 'mtd_suspend()' and 'mtd_resume()' - they will do nothing
if the operation is not defined.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
Artem Bityutskiy 2011-12-30 17:15:59 +02:00 коммит произвёл David Woodhouse
Родитель 381345652f
Коммит 079c985e7a
4 изменённых файлов: 9 добавлений и 11 удалений

Просмотреть файл

@ -190,9 +190,8 @@ static void physmap_flash_shutdown(struct platform_device *dev)
int i; int i;
for (i = 0; i < MAX_RESOURCES && info->mtd[i]; 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)
if (mtd_suspend(info->mtd[i]) == 0) mtd_resume(info->mtd[i]);
mtd_resume(info->mtd[i]);
} }
#else #else
#define physmap_flash_shutdown NULL #define physmap_flash_shutdown NULL

Просмотреть файл

@ -119,9 +119,8 @@ static void rbtx4939_flash_shutdown(struct platform_device *dev)
{ {
struct rbtx4939_flash_info *info = platform_get_drvdata(dev); struct rbtx4939_flash_info *info = platform_get_drvdata(dev);
if (info->mtd->suspend && info->mtd->resume) if (mtd_suspend(info->mtd) == 0)
if (mtd_suspend(info->mtd) == 0) mtd_resume(info->mtd);
mtd_resume(info->mtd);
} }
#else #else
#define rbtx4939_flash_shutdown NULL #define rbtx4939_flash_shutdown NULL

Просмотреть файл

@ -119,10 +119,7 @@ static int mtd_cls_suspend(struct device *dev, pm_message_t state)
{ {
struct mtd_info *mtd = dev_get_drvdata(dev); struct mtd_info *mtd = dev_get_drvdata(dev);
if (mtd && mtd->suspend) return mtd_suspend(mtd);
return mtd_suspend(mtd);
else
return 0;
} }
static int mtd_cls_resume(struct device *dev) static int mtd_cls_resume(struct device *dev)

Просмотреть файл

@ -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) static inline int mtd_suspend(struct mtd_info *mtd)
{ {
if (!mtd->suspend)
return -EOPNOTSUPP;
return mtd->suspend(mtd); return mtd->suspend(mtd);
} }
static inline void mtd_resume(struct mtd_info *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) static inline int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs)