mtd: introduce mtd_has_oob helper
We are working in the direction of making sure that MTD clients to not use 'mtd->func' pointers directly. In some places we want to know if OOB operations are supported by an MTD device. Introduce 'mtd_has_oob()' helper for these purposes. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
33c87b4a2c
commit
fc002e3c32
|
@ -1004,7 +1004,7 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
|
|||
break;
|
||||
|
||||
case MTD_FILE_MODE_RAW:
|
||||
if (!mtd->read_oob || !mtd->write_oob)
|
||||
if (!mtd_has_oob(mtd))
|
||||
return -EOPNOTSUPP;
|
||||
mfi->mode = arg;
|
||||
|
||||
|
|
|
@ -645,8 +645,8 @@ int sm_get_media_info(struct sm_ftl *ftl, struct mtd_info *mtd)
|
|||
if (!ftl->smallpagenand && mtd->oobsize < SM_OOB_SIZE)
|
||||
return -ENODEV;
|
||||
|
||||
/* We use these functions for IO */
|
||||
if (!mtd->read_oob || !mtd->write_oob)
|
||||
/* We use OOB */
|
||||
if (!mtd_has_oob(mtd))
|
||||
return -ENODEV;
|
||||
|
||||
/* Find geometry information */
|
||||
|
|
|
@ -454,6 +454,11 @@ static inline uint32_t mtd_mod_by_ws(uint64_t sz, struct mtd_info *mtd)
|
|||
return do_div(sz, mtd->writesize);
|
||||
}
|
||||
|
||||
static inline int mtd_has_oob(const struct mtd_info *mtd)
|
||||
{
|
||||
return mtd->read_oob && mtd->write_oob;
|
||||
}
|
||||
|
||||
/* Kernel-side ioctl definitions */
|
||||
|
||||
struct mtd_partition;
|
||||
|
|
Loading…
Reference in New Issue