提交 87e858a9 编写于 作者: A Artem Bityutskiy 提交者: David Woodhouse

mtd: do not use mtd->get_*_prot_info directly

Instead, call 'mtd_get_*_prot_info()' and check for '-EOPNOTSUPP'. While
on it, fix the return code from '-EOPNOTSUPP' to '-EINVAL' for the case
when the mode parameter is invalid.
Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
上级 dac2639f
...@@ -919,17 +919,15 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg) ...@@ -919,17 +919,15 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
struct otp_info *buf = kmalloc(4096, GFP_KERNEL); struct otp_info *buf = kmalloc(4096, GFP_KERNEL);
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
ret = -EOPNOTSUPP;
switch (mfi->mode) { switch (mfi->mode) {
case MTD_FILE_MODE_OTP_FACTORY: case MTD_FILE_MODE_OTP_FACTORY:
if (mtd->get_fact_prot_info) ret = mtd_get_fact_prot_info(mtd, buf, 4096);
ret = mtd_get_fact_prot_info(mtd, buf, 4096);
break; break;
case MTD_FILE_MODE_OTP_USER: case MTD_FILE_MODE_OTP_USER:
if (mtd->get_user_prot_info) ret = mtd_get_user_prot_info(mtd, buf, 4096);
ret = mtd_get_user_prot_info(mtd, buf, 4096);
break; break;
default: default:
ret = -EINVAL;
break; break;
} }
if (ret >= 0) { if (ret >= 0) {
......
...@@ -342,6 +342,8 @@ static inline int mtd_write_oob(struct mtd_info *mtd, loff_t to, ...@@ -342,6 +342,8 @@ static inline int mtd_write_oob(struct mtd_info *mtd, loff_t to,
static inline int mtd_get_fact_prot_info(struct mtd_info *mtd, static inline int mtd_get_fact_prot_info(struct mtd_info *mtd,
struct otp_info *buf, size_t len) struct otp_info *buf, size_t len)
{ {
if (!mtd->get_fact_prot_info)
return -EOPNOTSUPP;
return mtd->get_fact_prot_info(mtd, buf, len); return mtd->get_fact_prot_info(mtd, buf, len);
} }
...@@ -357,6 +359,8 @@ static inline int mtd_get_user_prot_info(struct mtd_info *mtd, ...@@ -357,6 +359,8 @@ static inline int mtd_get_user_prot_info(struct mtd_info *mtd,
struct otp_info *buf, struct otp_info *buf,
size_t len) size_t len)
{ {
if (!mtd->get_user_prot_info)
return -EOPNOTSUPP;
return mtd->get_user_prot_info(mtd, buf, len); return mtd->get_user_prot_info(mtd, buf, len);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册