diff options
author | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2011-12-30 07:31:57 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-01-09 13:26:10 -0500 |
commit | cd621274b0ec747db8dedbf857624c067f481976 (patch) | |
tree | 1d86dd22d4133fc45311168d1b012e8103b4f875 /drivers/mtd/mtdchar.c | |
parent | 10934478e44d9a5a7b16dadd89094fb608cf101e (diff) |
mtd: do not use mtd->get_unmapped_area directly
Remove direct usage of mtd->get_unmapped_area. Instead, just call
'mtd_get_unmapped_area()' which will return -EOPNOTSUPP if the function
is not implemented and test for this error code.
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/mtdchar.c')
-rw-r--r-- | drivers/mtd/mtdchar.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index c501eec17b38..55f0961103a7 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c | |||
@@ -1124,25 +1124,21 @@ static unsigned long mtdchar_get_unmapped_area(struct file *file, | |||
1124 | { | 1124 | { |
1125 | struct mtd_file_info *mfi = file->private_data; | 1125 | struct mtd_file_info *mfi = file->private_data; |
1126 | struct mtd_info *mtd = mfi->mtd; | 1126 | struct mtd_info *mtd = mfi->mtd; |
1127 | unsigned long offset; | ||
1128 | int ret; | ||
1127 | 1129 | ||
1128 | if (mtd->get_unmapped_area) { | 1130 | if (addr != 0) |
1129 | unsigned long offset; | 1131 | return (unsigned long) -EINVAL; |
1130 | |||
1131 | if (addr != 0) | ||
1132 | return (unsigned long) -EINVAL; | ||
1133 | |||
1134 | if (len > mtd->size || pgoff >= (mtd->size >> PAGE_SHIFT)) | ||
1135 | return (unsigned long) -EINVAL; | ||
1136 | 1132 | ||
1137 | offset = pgoff << PAGE_SHIFT; | 1133 | if (len > mtd->size || pgoff >= (mtd->size >> PAGE_SHIFT)) |
1138 | if (offset > mtd->size - len) | 1134 | return (unsigned long) -EINVAL; |
1139 | return (unsigned long) -EINVAL; | ||
1140 | 1135 | ||
1141 | return mtd_get_unmapped_area(mtd, len, offset, flags); | 1136 | offset = pgoff << PAGE_SHIFT; |
1142 | } | 1137 | if (offset > mtd->size - len) |
1138 | return (unsigned long) -EINVAL; | ||
1143 | 1139 | ||
1144 | /* can't map directly */ | 1140 | ret = mtd_get_unmapped_area(mtd, len, offset, flags); |
1145 | return (unsigned long) -ENOSYS; | 1141 | return ret == -EOPNOTSUPP ? -ENOSYS : ret; |
1146 | } | 1142 | } |
1147 | #endif | 1143 | #endif |
1148 | 1144 | ||