On 02/22/2011 07:48 PM, Jonathan Cameron wrote: > On 02/15/11 14:46, michael.hennerich@xxxxxxxxxx wrote: > >> From: Michael Hennerich <michael.hennerich@xxxxxxxxxx> >> >> In case a timestamp is present, scan size returned by size_from_channelarray() >> is not longer valid. >> > Really? Shouldn't the timestamp just be picked up as another channel assuming > all the relevant attributes are present (which they should be...) > I think the pronunciation is on 'should be'. Looks like all my drivers don't do it, as well as some of yours. My assumption was that bytes_per_datum must be properly set. And that the timestamp is always assumed to be the last 8bytes aligned on a 64-bit boundary. I guess some drivers need fixing. > >> However size_from_channelarray() must be still called >> in order to setup locations within the buffer. >> >> Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> >> --- >> drivers/staging/iio/Documentation/generic_buffer.c | 8 +++++++- >> 1 files changed, 7 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/staging/iio/Documentation/generic_buffer.c b/drivers/staging/iio/Documentation/generic_buffer.c >> index 131d9d0..c382452 100644 >> --- a/drivers/staging/iio/Documentation/generic_buffer.c >> +++ b/drivers/staging/iio/Documentation/generic_buffer.c >> @@ -226,7 +226,13 @@ int main(int argc, char **argv) >> ret = write_sysfs_int("enable", buf_dir_name, 1); >> if (ret < 0) >> goto error_free_buf_dir_name; >> - scan_size = size_from_channelarray(infoarray, num_channels); >> + >> + scan_size = read_sysfs_posint("bytes_per_datum", buf_dir_name); >> + if (ret < 0) >> + goto error_free_buf_dir_name; >> + >> + size_from_channelarray(infoarray, num_channels); >> + >> data = malloc(scan_size*buf_len); >> if (!data) { >> ret = -ENOMEM; >> > -- Greetings, Michael -- Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html