- case ECCGETLAYOUT:
- {
- if (!mtd->ecclayout)
- return -EOPNOTSUPP;
-
- if (copy_to_user(argp, &mtd->ecclayout,
- sizeof(struct nand_ecclayout)))
- return -EFAULT;
- break;
- }
-
- case ECCGETSTATS:
- {
- if (copy_to_user(argp, &mtd->ecc_stats,
- sizeof(struct mtd_ecc_stats)))
- return -EFAULT;
- break;
- }
-
- case MTDFILEMODE:
- {
- mfi->mode = 0;
-
- switch(arg) {
- case MTD_MODE_OTP_FACTORY:
- case MTD_MODE_OTP_USER:
- ret = otp_select_filemode(mfi, arg);
- break;
-
- case MTD_MODE_RAW:
- if (!mtd->read_oob || !mtd->write_oob)
- return -EOPNOTSUPP;
- mfi->mode = arg;
-
- case MTD_MODE_NORMAL:
- break;
- default:
- ret = -EINVAL;
- }
- file->f_pos = 0;
- break;
- }
-