From: Akinobu Mita Signed-off-by: Akinobu Mita Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton --- drivers/zorro/zorro-sysfs.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff -puN drivers/zorro/zorro-sysfs.c~zorro-use-memory_read_from_buffer drivers/zorro/zorro-sysfs.c --- a/drivers/zorro/zorro-sysfs.c~zorro-use-memory_read_from_buffer +++ a/drivers/zorro/zorro-sysfs.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "zorro.h" @@ -56,12 +57,6 @@ static ssize_t zorro_read_config(struct struct zorro_dev *z = to_zorro_dev(container_of(kobj, struct device, kobj)); struct ConfigDev cd; - unsigned int size = sizeof(cd); - - if (off > size) - return 0; - if (off+count > size) - count = size-off; /* Construct a ConfigDev */ memset(&cd, 0, sizeof(cd)); @@ -71,8 +66,7 @@ static ssize_t zorro_read_config(struct cd.cd_BoardAddr = (void *)zorro_resource_start(z); cd.cd_BoardSize = zorro_resource_len(z); - memcpy(buf, (void *)&cd+off, count); - return count; + return memory_read_from_buffer(buf, count, &off, &cd, sizeof(cd)); } static struct bin_attribute zorro_config_attr = { _