Skip to content

Commit

Permalink
iio: generic_buffer: be helpful about enabling channels
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
linusw authored and jic23 committed Aug 16, 2015
1 parent 672f93b commit 53dabaf
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions tools/iio/generic_buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,15 @@ int main(int argc, char **argv)
"diag %s\n", dev_dir_name);
goto error_free_triggername;
}
if (!num_channels) {
fprintf(stderr,
"No channels are enabled, we have nothing to scan.\n");
fprintf(stderr, "Enable channels manually in "
FORMAT_SCAN_ELEMENTS_DIR
"/*_en and try again.\n", dev_dir_name);
ret = -ENOENT;
goto error_free_triggername;
}

/*
* Construct the directory name for the associated buffer.
Expand Down

0 comments on commit 53dabaf

Please sign in to comment.