[PATCH 053/141] staging: unisys: decouple visor_memregion_{read, write}()

Benjamin Romer benjamin.romer at unisys.com
Tue May 5 22:36:30 UTC 2015


From: Jes Sorensen <Jes.Sorensen at redhat.com>

Signed-off-by: Jes Sorensen <Jes.Sorensen at redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer at unisys.com>
---
 .../staging/unisys/visorutil/memregion_direct.c    | 26 ++++++++--------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/unisys/visorutil/memregion_direct.c b/drivers/staging/unisys/visorutil/memregion_direct.c
index 0ee7cb2..96460d7 100644
--- a/drivers/staging/unisys/visorutil/memregion_direct.c
+++ b/drivers/staging/unisys/visorutil/memregion_direct.c
@@ -124,35 +124,27 @@ visor_memregion_resize(struct memregion *memregion, ulong newsize)
 }
 EXPORT_SYMBOL_GPL(visor_memregion_resize);
 
-static int
-memregion_readwrite(BOOL is_write,
-		    struct memregion *memregion, ulong offset,
-		    void *local, ulong nbytes)
+int
+visor_memregion_read(struct memregion *memregion, ulong offset, void *dest,
+		     ulong nbytes)
 {
 	if (offset + nbytes > memregion->nbytes)
 		return -EIO;
 
-	if (is_write)
-		memcpy_toio(memregion->mapped + offset, local, nbytes);
-	else
-		memcpy_fromio(local, memregion->mapped + offset, nbytes);
-
+	memcpy_fromio(dest, memregion->mapped + offset, nbytes);
 	return 0;
 }
-
-int
-visor_memregion_read(struct memregion *memregion, ulong offset, void *dest,
-		     ulong nbytes)
-{
-	return memregion_readwrite(FALSE, memregion, offset, dest, nbytes);
-}
 EXPORT_SYMBOL_GPL(visor_memregion_read);
 
 int
 visor_memregion_write(struct memregion *memregion, ulong offset, void *src,
 		      ulong nbytes)
 {
-	return memregion_readwrite(TRUE, memregion, offset, src, nbytes);
+	if (offset + nbytes > memregion->nbytes)
+		return -EIO;
+
+	memcpy_toio(memregion->mapped + offset, src, nbytes);
+	return 0;
 }
 EXPORT_SYMBOL_GPL(visor_memregion_write);
 
-- 
2.1.4



More information about the devel mailing list