Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52b02031 authored by Artem Bityutskiy's avatar Artem Bityutskiy Committed by David Woodhouse
Browse files

mtd: clean-up the default_mtd_writev function



1. Teach 'mtd_write()' function to return '-EROFS' if the write method
   is undefined, and remove the corresponding check from
   'default_mtd_writev()'.
2. Do not test 'retlen' for NULL - it cannot be NULL.
3. Few minor coding stile clean-ups.
4. Add a kerneldoc comment

Additionally, minor fixes to the kerneldoc comments of the neighbor function.

Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 4ccf2f13
Loading
Loading
Loading
Loading
+22 −19
Original line number Diff line number Diff line
@@ -683,10 +683,17 @@ void __put_mtd_device(struct mtd_info *mtd)
	module_put(mtd->owner);
}

/* default_mtd_writev - default mtd writev method for MTD devices that
 *			don't implement their own
/*
 * default_mtd_writev - the default writev method
 * @mtd: mtd device description object pointer
 * @vecs: the vectors to write
 * @count: count of vectors in @vecs
 * @to: the MTD device offset to write to
 * @retlen: on exit contains the count of bytes written to the MTD device.
 *
 * This function returns zero in case of success and a negative error code in
 * case of failure.
 */

int default_mtd_writev(struct mtd_info *mtd, const struct kvec *vecs,
		       unsigned long count, loff_t to, size_t *retlen)
{
@@ -694,9 +701,6 @@ int default_mtd_writev(struct mtd_info *mtd, const struct kvec *vecs,
	size_t totlen = 0, thislen;
	int ret = 0;

	if(!mtd->write) {
		ret = -EROFS;
	} else {
	for (i = 0; i < count; i++) {
		if (!vecs[i].iov_len)
			continue;
@@ -707,15 +711,14 @@ int default_mtd_writev(struct mtd_info *mtd, const struct kvec *vecs,
			break;
		to += vecs[i].iov_len;
	}
	}
	if (retlen)
	*retlen = totlen;
	return ret;
}

/**
 * mtd_kmalloc_up_to - allocate a contiguous buffer up to the specified size
 * @size: A pointer to the ideal or maximum size of the allocation. Points
 * @mtd: mtd device description object pointer
 * @size: a pointer to the ideal or maximum size of the allocation, points
 *        to the actual allocation size on success.
 *
 * This routine attempts to allocate a contiguous kernel buffer up to
+2 −0
Original line number Diff line number Diff line
@@ -291,6 +291,8 @@ static inline int mtd_write(struct mtd_info *mtd, loff_t to, size_t len,
			    size_t *retlen, const u_char *buf)
{
	*retlen = 0;
	if (!mtd->write)
		return -EROFS;
	return mtd->write(mtd, to, len, retlen, buf);
}