diff options
| -rw-r--r-- | drivers/mtd/mtdchar.c | 3 | ||||
| -rw-r--r-- | drivers/mtd/mtdpart.c | 3 | ||||
| -rw-r--r-- | include/linux/mtd/mtd.h | 10 |
3 files changed, 12 insertions, 4 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index 6aa3fb4a0292..d8881707ca60 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c | |||
| @@ -314,7 +314,8 @@ static ssize_t mtdchar_write(struct file *file, const char __user *buf, size_t c | |||
| 314 | ret = -EOPNOTSUPP; | 314 | ret = -EOPNOTSUPP; |
| 315 | break; | 315 | break; |
| 316 | } | 316 | } |
| 317 | ret = mtd->write_user_prot_reg(mtd, *ppos, len, &retlen, kbuf); | 317 | ret = mtd_write_user_prot_reg(mtd, *ppos, len, |
| 318 | &retlen, kbuf); | ||
| 318 | break; | 319 | break; |
| 319 | 320 | ||
| 320 | case MTD_FILE_MODE_RAW: | 321 | case MTD_FILE_MODE_RAW: |
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index f018373ef3b4..1e7b8d1693aa 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c | |||
| @@ -222,8 +222,7 @@ static int part_write_user_prot_reg(struct mtd_info *mtd, loff_t from, | |||
| 222 | size_t len, size_t *retlen, u_char *buf) | 222 | size_t len, size_t *retlen, u_char *buf) |
| 223 | { | 223 | { |
| 224 | struct mtd_part *part = PART(mtd); | 224 | struct mtd_part *part = PART(mtd); |
| 225 | return part->master->write_user_prot_reg(part->master, from, | 225 | return mtd_write_user_prot_reg(part->master, from, len, retlen, buf); |
| 226 | len, retlen, buf); | ||
| 227 | } | 226 | } |
| 228 | 227 | ||
| 229 | static int part_lock_user_prot_reg(struct mtd_info *mtd, loff_t from, | 228 | static int part_lock_user_prot_reg(struct mtd_info *mtd, loff_t from, |
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 855fb7fab697..554960793e37 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
| @@ -200,13 +200,14 @@ struct mtd_info { | |||
| 200 | size_t len); | 200 | size_t len); |
| 201 | int (*read_user_prot_reg) (struct mtd_info *mtd, loff_t from, | 201 | int (*read_user_prot_reg) (struct mtd_info *mtd, loff_t from, |
| 202 | size_t len, size_t *retlen, u_char *buf); | 202 | size_t len, size_t *retlen, u_char *buf); |
| 203 | int (*write_user_prot_reg) (struct mtd_info *mtd, loff_t to, size_t len, | ||
| 204 | size_t *retlen, u_char *buf); | ||
| 203 | 205 | ||
| 204 | /* Backing device capabilities for this device | 206 | /* Backing device capabilities for this device |
| 205 | * - provides mmap capabilities | 207 | * - provides mmap capabilities |
| 206 | */ | 208 | */ |
| 207 | struct backing_dev_info *backing_dev_info; | 209 | struct backing_dev_info *backing_dev_info; |
| 208 | 210 | ||
| 209 | int (*write_user_prot_reg) (struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf); | ||
| 210 | int (*lock_user_prot_reg) (struct mtd_info *mtd, loff_t from, size_t len); | 211 | int (*lock_user_prot_reg) (struct mtd_info *mtd, loff_t from, size_t len); |
| 211 | 212 | ||
| 212 | /* kvec-based read/write methods. | 213 | /* kvec-based read/write methods. |
| @@ -361,6 +362,13 @@ static inline int mtd_read_user_prot_reg(struct mtd_info *mtd, loff_t from, | |||
| 361 | return mtd->read_user_prot_reg(mtd, from, len, retlen, buf); | 362 | return mtd->read_user_prot_reg(mtd, from, len, retlen, buf); |
| 362 | } | 363 | } |
| 363 | 364 | ||
| 365 | static inline int mtd_write_user_prot_reg(struct mtd_info *mtd, loff_t to, | ||
| 366 | size_t len, size_t *retlen, | ||
| 367 | u_char *buf) | ||
| 368 | { | ||
| 369 | return mtd->write_user_prot_reg(mtd, to, len, retlen, buf); | ||
| 370 | } | ||
| 371 | |||
| 364 | static inline struct mtd_info *dev_to_mtd(struct device *dev) | 372 | static inline struct mtd_info *dev_to_mtd(struct device *dev) |
| 365 | { | 373 | { |
| 366 | return dev ? dev_get_drvdata(dev) : NULL; | 374 | return dev ? dev_get_drvdata(dev) : NULL; |
