|
@@ -143,21 +143,14 @@ static ssize_t chp_measurement_chars_read(struct kobject *kobj,
|
|
|
{
|
|
|
struct channel_path *chp;
|
|
|
struct device *device;
|
|
|
- unsigned int size;
|
|
|
|
|
|
device = container_of(kobj, struct device, kobj);
|
|
|
chp = to_channelpath(device);
|
|
|
if (!chp->cmg_chars)
|
|
|
return 0;
|
|
|
|
|
|
- size = sizeof(struct cmg_chars);
|
|
|
-
|
|
|
- if (off > size)
|
|
|
- return 0;
|
|
|
- if (off + count > size)
|
|
|
- count = size - off;
|
|
|
- memcpy(buf, chp->cmg_chars + off, count);
|
|
|
- return count;
|
|
|
+ return memory_read_from_buffer(buf, count, &off,
|
|
|
+ chp->cmg_chars, sizeof(struct cmg_chars));
|
|
|
}
|
|
|
|
|
|
static struct bin_attribute chp_measurement_chars_attr = {
|