Module: xenomai-forge Branch: next Commit: ae896db38b17bc9e29166b65794380ffb4f46a1f URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=ae896db38b17bc9e29166b65794380ffb4f46a1f
Author: Jorge Ramirez-Ortiz <j...@xenomai.org> Date: Wed May 28 11:40:39 2014 -0400 utils/analogy: add extra debug info to errors --- utils/analogy/analogy_config.c | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/utils/analogy/analogy_config.c b/utils/analogy/analogy_config.c index 3642d50..88c1752 100644 --- a/utils/analogy/analogy_config.c +++ b/utils/analogy/analogy_config.c @@ -29,6 +29,10 @@ #include <xeno_config.h> #include <rtdm/analogy.h> +#define RTDM_DEVICES_PROC "/proc/xenomai/rtdm/named_devices" +#define ANALOGY_DRIVERS_PROC "/proc/analogy/drivers" +#define ANALOGY_DEVICES_PROC "/proc/analogy/devices" + #define __OPTS_DELIMITER "," enum actions { @@ -207,8 +211,9 @@ int main(int argc, char *argv[]) !(actions & DO_BUFCONFIG) && argc - optind < 2) { do_print_usage(); goto out_a4l_config; - } else if (!(actions & DO_DETACH) && argc - optind >= 2) + } else if (!(actions & DO_DETACH) && argc - optind >= 2) { actions |= DO_ATTACH; + } /* Whatever the action, we need to retrieve the device path */ devfile = argv[optind]; @@ -219,23 +224,23 @@ int main(int argc, char *argv[]) if (fd < 0) { err = fd; fprintf(stderr, - "analogy_config: a4l_open failed err=%d\n", err); + "analogy_config: a4l_open(%s) failed err=%d\n", devfile, + err); goto out_a4l_config; } if (actions & DO_DETACH) { - err = a4l_sys_detach(fd); if (err < 0) fprintf(stderr, - "analogy_config: detach failed err=%d\n", err); + "analogy_config: a4l_detach(%s) failed err=%d\n", + devfile, err); goto out_a4l_config; } if (actions & DO_ATTACH) { a4l_lnkdesc_t lnkdsc; - memset(&lnkdsc, 0, sizeof(a4l_lnkdesc_t)); /* Fill the descriptor with the driver name */ @@ -244,17 +249,17 @@ int main(int argc, char *argv[]) /* Process driver-specific options */ if (argc - optind == 3) { - err = process_extra_arg(&lnkdsc, argv[optind + 2]); if (err < 0) goto out_a4l_config; } - /* Go... */ + /* Go...*/ err = a4l_sys_attach(fd, &lnkdsc); if (err < 0) { fprintf(stderr, - "analogy_config: attach failed err=%d\n", err); + "analogy_config: a4l_attach(%s) failed err=%d\n", + lnkdsc.bname, err); goto out_a4l_config; } @@ -267,13 +272,23 @@ int main(int argc, char *argv[]) err = a4l_sys_bufcfg(fd, A4L_BUF_DEFMAGIC, bufsize); if (err < 0) { fprintf(stderr, - "analogy_config: bufffer configuraiton failed " - "(err=%d)\n", err); + "analogy_config: a4l_bufcfg(%s) configuration failed " + "err=%d\n", devfile, err); goto out_a4l_config; } } out_a4l_config: + if (err < 0) { + fprintf(stderr, + "analogy_config: please chek the rtdm and analogy procs \n" + " - rtdm devices: %s \n" + " - analogy devices: %s \n" + " - analogy drivers: %s \n", + RTDM_DEVICES_PROC, + ANALOGY_DEVICES_PROC, + ANALOGY_DRIVERS_PROC); + } if (fd >= 0) a4l_sys_close(fd); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git