staging: unisys: fix visorchipset sysfs attribute functions

This patch cleans up the style, error handling, and string handling in the sysfs
functions recently added to visorchipset:

- Use of sscanf() was changed to type-appropriate kstrto*() functions
- error handling was simplified
- the error return value of visorchannel_write() was corrected
- switch use of driver-specific types to kernel types

Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/staging/unisys/visorutil/memregion_direct.c b/drivers/staging/unisys/visorutil/memregion_direct.c
index 28dfba0..65bc07b 100644
--- a/drivers/staging/unisys/visorutil/memregion_direct.c
+++ b/drivers/staging/unisys/visorutil/memregion_direct.c
@@ -184,7 +184,7 @@
 {
 	if (offset + nbytes > memregion->nbytes) {
 		ERRDRV("memregion_readwrite offset out of range!!");
-		return -EFAULT;
+		return -EIO;
 	}
 	if (is_write)
 		memcpy_toio(memregion->mapped + offset, local, nbytes);