Skip to content

Commit 53dabaf

Browse files
linuswjic23
authored andcommitted
iio: generic_buffer: be helpful about enabling channels
Currently if generic_buffer is invoked without first enabling any channels in scan_elements/*_en, it will fail unable to enable the buffer because bytes_per_datum inside the kernel will be zero if no channels are available. It is implied that the user of the program should enable channels manually or with a script before executing generic_buffer. Be more helpful by stopping execution if no enabled channels can be found, and print a helptext that will tell you what is wrong and what needs to be done. Signed-off-by: Linus Walleij <[email protected]> Acked-by: Hartmut Knaack <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
1 parent 672f93b commit 53dabaf

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

tools/iio/generic_buffer.c

+9
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,15 @@ int main(int argc, char **argv)
328328
"diag %s\n", dev_dir_name);
329329
goto error_free_triggername;
330330
}
331+
if (!num_channels) {
332+
fprintf(stderr,
333+
"No channels are enabled, we have nothing to scan.\n");
334+
fprintf(stderr, "Enable channels manually in "
335+
FORMAT_SCAN_ELEMENTS_DIR
336+
"/*_en and try again.\n", dev_dir_name);
337+
ret = -ENOENT;
338+
goto error_free_triggername;
339+
}
331340

332341
/*
333342
* Construct the directory name for the associated buffer.

0 commit comments

Comments
 (0)