[Xenomai-git] Breeje, R. (Remco) den : analogy: add a missing dependency for the NI MIO driver (NI TIO)
Module: xenomai-head Branch: master Commit: 9e0a651e211ce3f5810ddf0e3f0c3ec22e54d7ae URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=9e0a651e211ce3f5810ddf0e3f0c3ec22e54d7ae Author: Breeje, R. (Remco) den Date: Wed Oct 28 00:52:02 2009 +0100 analogy: add a missing dependency for the NI MIO driver (NI TIO) --- ksrc/drivers/analogy/national_instruments/Kconfig |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/ksrc/drivers/analogy/national_instruments/Kconfig b/ksrc/drivers/analogy/national_instruments/Kconfig index 67769cb..cb010d7 100644 --- a/ksrc/drivers/analogy/national_instruments/Kconfig +++ b/ksrc/drivers/analogy/national_instruments/Kconfig @@ -10,7 +10,7 @@ config XENO_DRIVERS_ANALOGY_NI_TIO default n config XENO_DRIVERS_ANALOGY_NI_MIO - depends on XENO_DRIVERS_ANALOGY + depends on XENO_DRIVERS_ANALOGY && XENO_DRIVERS_ANALOGY_NI_TIO tristate "NI MIO driver" default n ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Alexis Berlemont : analogy: fix comments
Module: xenomai-head Branch: master Commit: a81b580e46fc700810c9dfb1e4da5d1f69b317c2 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=a81b580e46fc700810c9dfb1e4da5d1f69b317c2 Author: Alexis Berlemont Date: Wed Oct 28 01:00:40 2009 +0100 analogy: fix comments --- src/utils/analogy/analogy_config.c | 22 src/utils/analogy/cmd_read.c | 50 ++-- src/utils/analogy/cmd_write.c | 44 src/utils/analogy/insn_read.c | 32 +++--- 4 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/utils/analogy/analogy_config.c b/src/utils/analogy/analogy_config.c index a40a178..316dcd4 100644 --- a/src/utils/analogy/analogy_config.c +++ b/src/utils/analogy/analogy_config.c @@ -31,12 +31,12 @@ #include -/* Declares precompilation constants */ +/* Declare precompilation constants */ #define __NBMIN_ARG 2 #define __NBMAX_ARG 3 #define __OPTS_DELIMITER "," -/* Declares prog variables */ +/* Declare prog variables */ int vlevel = 1; int unatt_act = 0; struct option a4l_conf_opts[] = { @@ -55,7 +55,7 @@ int compute_opts(char *opts, unsigned int *nb, unsigned int *res) int ret = 0, len, ofs; - /* Checks arg and inits it */ + /* Check arg and inits it */ if (nb == NULL) return -EINVAL; *nb = 0; @@ -103,10 +103,10 @@ int main(int argc, char *argv[]) a4l_lnkdesc_t lnkdsc; int chk_nb, ret = 0, fd = -1; - /* Inits the descriptor structure */ + /* Init the descriptor structure */ memset(&lnkdsc, 0, sizeof(a4l_lnkdesc_t)); - /* Computes arguments */ + /* Compute arguments */ while ((c = getopt_long(argc, argv, "hvqVrR:W:", a4l_conf_opts, NULL)) >= 0) { @@ -133,23 +133,23 @@ int main(int argc, char *argv[]) } } - /* Checks the last arguments */ + /* Check the last arguments */ chk_nb = (unatt_act == 0) ? __NBMIN_ARG : __NBMIN_ARG - 1; if (argc - optind < chk_nb) { do_print_usage(); goto out_a4l_config; } - /* Gets the device file name */ + /* Get the device file name */ devfile = argv[optind]; - /* Fills the descriptor with the driver name */ + /* Fill the descriptor with the driver name */ if (unatt_act == 0) { lnkdsc.bname = argv[optind + 1]; lnkdsc.bname_size = strlen(argv[optind + 1]); } - /* Handles the last arguments: the driver-specific args */ + /* Handle the last arguments: the driver-specific args */ if (unatt_act == 1 || argc - optind != __NBMAX_ARG) lnkdsc.opts_size = 0; else { @@ -182,7 +182,7 @@ int main(int argc, char *argv[]) } } - /* Opens the specified file */ + /* Open the specified file */ fd = a4l_sys_open(devfile); if (fd < 0) { ret = fd; @@ -191,7 +191,7 @@ int main(int argc, char *argv[]) goto out_a4l_config; } - /* Triggers the ioctl */ + /* Trigger the ioctl */ if (unatt_act == 0) ret = a4l_sys_attach(fd, &lnkdsc); else diff --git a/src/utils/analogy/cmd_read.c b/src/utils/analogy/cmd_read.c index c71c339..90518d9 100644 --- a/src/utils/analogy/cmd_read.c +++ b/src/utils/analogy/cmd_read.c @@ -111,7 +111,7 @@ int main(int argc, char *argv[]) void *map = NULL; a4l_desc_t dsc; - /* Computes arguments */ + /* Compute arguments */ while ((ret = getopt_long(argc, argv, "vrd:s:S:c:mh", cmd_read_opts, NULL)) >= 0) { @@ -144,7 +144,7 @@ int main(int argc, char *argv[]) } } - /* Recovers the channels to compute */ + /* Recover the channels to compute */ do { cmd.nb_chan++; len = strlen(str_chans); @@ -156,7 +156,7 @@ int main(int argc, char *argv[]) str_chans += ofs + 1; } while (len != ofs); - /* Updates the command structure */ + /* Update the command structure */ cmd.scan_end_arg = cmd.nb_chan; if (real_time != 0) { @@ -164,7 +164,7 @@ int main(int argc, char *argv[]) if (verbose != 0) printf("cmd_read: switching to real-time mode\n"); - /* Prevents any memory-swapping for this program */ + /* Prevent any memory-swapping for this program */ ret = mlockall(MCL_CURRENT | MCL_FUTURE); if (ret < 0) { ret = errno; @@ -173,7 +173,7 @@ int main(int argc, char *argv[]) goto out_main; } - /* Turns the current process into an RT task */
[Xenomai-git] Breeje, R. (Remco) den : analogy: fix received bytes storing in cmd_read
Module: xenomai-head Branch: master Commit: 505e4c1f14421deee902e0159f25f1b6ef646f1d URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=505e4c1f14421deee902e0159f25f1b6ef646f1d Author: Breeje, R. (Remco) den Date: Wed Oct 28 00:56:17 2009 +0100 analogy: fix received bytes storing in cmd_read --- src/utils/analogy/cmd_read.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/utils/analogy/cmd_read.c b/src/utils/analogy/cmd_read.c index 6671754..c71c339 100644 --- a/src/utils/analogy/cmd_read.c +++ b/src/utils/analogy/cmd_read.c @@ -322,6 +322,9 @@ int main(int argc, char *argv[]) printf("\n"); } + /* Update the counter */ + cnt += ret; + if (real_time != 0) { ret = rt_task_set_mode(0, T_PRIMARY, NULL); if (ret < 0) { @@ -331,7 +334,6 @@ int main(int argc, char *argv[]) goto out_main; } } - cnt += ret; } } else { ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Alexis Berlemont : analogy: add modules descriptions and license specifications
Module: xenomai-head Branch: master Commit: dbc99707421cfb4a0ce0c78af9565d9a0e6a4a63 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=dbc99707421cfb4a0ce0c78af9565d9a0e6a4a63 Author: Alexis Berlemont Date: Wed Oct 28 00:45:27 2009 +0100 analogy: add modules descriptions and license specifications --- ksrc/drivers/analogy/intel/8255.c | 10 ++ .../analogy/national_instruments/mio_common.c |3 +++ ksrc/drivers/analogy/national_instruments/pcimio.c |2 ++ .../analogy/national_instruments/tio_common.c |2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ksrc/drivers/analogy/intel/8255.c b/ksrc/drivers/analogy/intel/8255.c index 4f9a7ab..ebaa4bb 100644 --- a/ksrc/drivers/analogy/intel/8255.c +++ b/ksrc/drivers/analogy/intel/8255.c @@ -1,6 +1,6 @@ /** * @file - * Analogy for Linux for 8255 chip + * Analogy subdevice driver for 8255 chip * @note Copyright (C) 1999 David A. Schleef * * This library is free software; you can redistribute it and/or @@ -258,8 +258,8 @@ int dev_8255_attach(a4l_dev_t *dev, a4l_lnkdesc_t *arg) "dev_8255_attach: " "unable to allocate subdevice\n"); /* There is no need to free previously - allocated structure(s), the comedi layer will do - it for us */ + allocated structure(s), the analogy layer will + do it for us */ err = -ENOMEM; goto out_attach; } @@ -269,7 +269,7 @@ int dev_8255_attach(a4l_dev_t *dev, a4l_lnkdesc_t *arg) subd_8255 = (subd_8255_t *)subd->priv; - if(request_region(addrs[i], _8255_SIZE, "Comedi 8255") == 0) { + if(request_region(addrs[i], _8255_SIZE, "Analogy 8255") == 0) { subd->flags = A4L_SUBD_UNUSED; a4l_warn(dev, "dev_8255_attach: " @@ -324,6 +324,8 @@ static void __exit drv_8255_cleanup(void) { a4l_unregister_drv(&drv_8255); } +MODULE_DESCRIPTION("Analogy driver for 8255 chip"); +MODULE_LICENSE("GPL"); module_init(drv_8255_init); module_exit(drv_8255_cleanup); diff --git a/ksrc/drivers/analogy/national_instruments/mio_common.c b/ksrc/drivers/analogy/national_instruments/mio_common.c index 19f3431..d23ee12 100644 --- a/ksrc/drivers/analogy/national_instruments/mio_common.c +++ b/ksrc/drivers/analogy/national_instruments/mio_common.c @@ -5196,6 +5196,9 @@ int ni_E_init(a4l_dev_t *dev) return 0; } +MODULE_DESCRIPTION("Analogy support for NI DAQ-STC based boards"); +MODULE_LICENSE("GPL"); + EXPORT_SYMBOL(range_ni_E_ai); EXPORT_SYMBOL(range_ni_E_ai_limited); EXPORT_SYMBOL(range_ni_E_ai_limited14); diff --git a/ksrc/drivers/analogy/national_instruments/pcimio.c b/ksrc/drivers/analogy/national_instruments/pcimio.c index 54ea7a0..2c03112 100644 --- a/ksrc/drivers/analogy/national_instruments/pcimio.c +++ b/ksrc/drivers/analogy/national_instruments/pcimio.c @@ -1586,6 +1586,8 @@ static void __exit pcimio_cleanup(void) a4l_unregister_drv(&pcimio_drv); } +MODULE_DESCRIPTION("Analogy driver for NI PCI-MIO series cards"); MODULE_LICENSE("GPL"); + module_init(pcimio_init); module_exit(pcimio_cleanup); diff --git a/ksrc/drivers/analogy/national_instruments/tio_common.c b/ksrc/drivers/analogy/national_instruments/tio_common.c index e7d3939..6944201 100644 --- a/ksrc/drivers/analogy/national_instruments/tio_common.c +++ b/ksrc/drivers/analogy/national_instruments/tio_common.c @@ -1960,7 +1960,7 @@ static void __exit ni_tio_cleanup_module(void) { } -MODULE_DESCRIPTION("Comedi support for NI general-purpose counters"); +MODULE_DESCRIPTION("Analogy support for NI general-purpose counters"); MODULE_LICENSE("GPL"); module_init(ni_tio_init_module); ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : arm: introduce support for freerunning countdown TSC
Module: xenomai-head Branch: master Commit: 9c09db6b8be5cc369fe0e94895c92a156ac0196d URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=9c09db6b8be5cc369fe0e94895c92a156ac0196d Author: Philippe Gerum Date: Tue Oct 27 15:14:06 2009 +0100 arm: introduce support for freerunning countdown TSC --- include/asm-arm/syscall.h | 24 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/asm-arm/syscall.h b/include/asm-arm/syscall.h index 9d5bcad..2ff4a28 100644 --- a/include/asm-arm/syscall.h +++ b/include/asm-arm/syscall.h @@ -224,6 +224,7 @@ static inline int __xn_interrupted_p(struct pt_regs *regs) #define XENOMAI_SYSARCH_ATOMIC_SET_MASK1 #define XENOMAI_SYSARCH_ATOMIC_CLEAR_MASK 2 #define XENOMAI_SYSARCH_XCHG 3 +#define XENOMAI_SYSARCH_TSCINFO 4 struct __xn_tscinfo { int type; /* Must remain first member */ @@ -245,8 +246,7 @@ struct __xn_tscinfo { #define __XN_TSC_TYPE_FREERUNNING 1 #define __XN_TSC_TYPE_DECREMENTER 2 #define __XN_TSC_TYPE_FREERUNNING_FAST_WRAP 3 - -#define XENOMAI_SYSARCH_TSCINFO 4 +#define __XN_TSC_TYPE_FREERUNNING_COUNTDOWN 4 #ifndef __KERNEL__ #include @@ -279,6 +279,20 @@ static inline unsigned long long __xn_rdtsc(void) if ((counter & mask) < ((unsigned) result & mask)) result += mask + 1ULL; return (result & ~((unsigned long long) mask)) | (counter & mask); +#elif XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_COUNTDOWN + volatile unsigned long long *const tscp = __xn_tscinfo.u.fr.tsc; + volatile unsigned *const counterp = __xn_tscinfo.u.fr.counter; +const unsigned mask = __xn_tscinfo.u.fr.mask; + register unsigned long long result; +unsigned counter; + +__asm__ ("ldmia %1, %M0\n": "=r"(result): "r"(tscp), "m"(*tscp)); +__asm__ __volatile__ ("" : /* */ : /* */ : "memory"); +counter = mask - *counterp; + +if ((counter & mask) > ((unsigned) result & mask)) +result += mask + 1ULL; +return (result & ~((unsigned long long) mask)) | (counter & mask); #elif XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_FAST_WRAP volatile unsigned long long *const tscp = __xn_tscinfo.u.fr.tsc; volatile unsigned *const counterp = __xn_tscinfo.u.fr.counter; @@ -353,9 +367,11 @@ static inline void xeno_arm_features_check(void) page_size = sysconf(_SC_PAGESIZE); switch(__xn_tscinfo.type) { -#if XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING \ +#if XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING \ + || XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_COUNTDOWN \ || XNARCH_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_FAST_WRAP - case __XN_TSC_TYPE_FREERUNNING: { + case __XN_TSC_TYPE_FREERUNNING: + case __XN_TSC_TYPE_FREERUNNING_COUNTDOWN: { unsigned long phys_addr; phys_addr = (unsigned long) __xn_tscinfo.u.fr.counter; ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Alexis Berlemont : analogy: some Comedi -> Analogy forgotten renamings
Module: xenomai-head Branch: master Commit: ec3eaf851cfc16d1ec862e73eaedc25caae01d4c URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=ec3eaf851cfc16d1ec862e73eaedc25caae01d4c Author: Alexis Berlemont Date: Wed Oct 28 00:43:57 2009 +0100 analogy: some Comedi -> Analogy forgotten renamings --- ksrc/drivers/analogy/instruction.c |2 +- ksrc/drivers/analogy/national_instruments/mite.c |2 +- ksrc/drivers/analogy/testing/Config.in |4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ksrc/drivers/analogy/instruction.c b/ksrc/drivers/analogy/instruction.c index 41fd1b7..1121d1f 100644 --- a/ksrc/drivers/analogy/instruction.c +++ b/ksrc/drivers/analogy/instruction.c @@ -336,7 +336,7 @@ int a4l_free_ilstdsc(a4l_cxt_t * cxt, a4l_kilst_t * dsc) } /* This function is not optimized in terms of memory footprint and - CPU charge; however, the whole comedi instruction system was not + CPU charge; however, the whole analogy instruction system was not designed for performance issues */ int a4l_ioctl_insnlist(a4l_cxt_t * cxt, void *arg) { diff --git a/ksrc/drivers/analogy/national_instruments/mite.c b/ksrc/drivers/analogy/national_instruments/mite.c index edf9ced..3aa89a3 100644 --- a/ksrc/drivers/analogy/national_instruments/mite.c +++ b/ksrc/drivers/analogy/national_instruments/mite.c @@ -246,7 +246,7 @@ void mite_list_devices(void) { struct list_head *this; - printk("Comedi: MITE: Available NI device IDs:"); + printk("Analogy: MITE: Available NI device IDs:"); list_for_each(this, &mite_devices) { struct mite_struct *mite = list_entry(this, struct mite_struct, list); diff --git a/ksrc/drivers/analogy/testing/Config.in b/ksrc/drivers/analogy/testing/Config.in index d9503bb..f4abecf 100644 --- a/ksrc/drivers/analogy/testing/Config.in +++ b/ksrc/drivers/analogy/testing/Config.in @@ -3,6 +3,6 @@ # Xenomai configuration for Linux v2.4 # -dep_tristate 'Fake driver' CONFIG_XENO_DRIVERS_COMEDI_FAKE $CONFIG_XENO_DRIVERS_COMEDI +dep_tristate 'Fake driver' CONFIG_XENO_DRIVERS_ANALOGY_FAKE $CONFIG_XENO_DRIVERS_ANALOGY -dep_tristate 'Loop driver' CONFIG_XENO_DRIVERS_COMEDI_LOOP $CONFIG_XENO_DRIVERS_COMEDI +dep_tristate 'Loop driver' CONFIG_XENO_DRIVERS_ANALOGY_LOOP $CONFIG_XENO_DRIVERS_ANALOGY ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : analogy: fix debug options dependencies
Module: xenomai-head Branch: master Commit: d7324ad5e0027e8363c0e26fafe871e109b6033c URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=d7324ad5e0027e8363c0e26fafe871e109b6033c Author: Philippe Gerum Date: Tue Oct 27 00:38:27 2009 +0100 analogy: fix debug options dependencies --- ksrc/drivers/analogy/Kconfig |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/ksrc/drivers/analogy/Kconfig b/ksrc/drivers/analogy/Kconfig index 437a1bc..9d17b1d 100644 --- a/ksrc/drivers/analogy/Kconfig +++ b/ksrc/drivers/analogy/Kconfig @@ -9,6 +9,7 @@ config XENO_DRIVERS_ANALOGY drivers. config XENO_DRIVERS_ANALOGY_DEBUG + depends on XENO_DRIVERS_ANALOGY bool "Analogy debug trace" default y help @@ -17,6 +18,7 @@ config XENO_DRIVERS_ANALOGY_DEBUG core and drivers behaviours. config XENO_DRIVERS_ANALOGY_DEBUG_LEVEL + depends on XENO_DRIVERS_ANALOGY_DEBUG int "Analogy core debug level threshold" default 0 help ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git
[Xenomai-git] Alexis Berlemont : analogy: add error messages for the IOCTL interface
Module: xenomai-head Branch: master Commit: fe9f70a8eca2521dfa54c92b3ebd84052ea0f7f3 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=fe9f70a8eca2521dfa54c92b3ebd84052ea0f7f3 Author: Alexis Berlemont Date: Mon Oct 26 14:23:03 2009 +0100 analogy: add error messages for the IOCTL interface --- ksrc/drivers/analogy/buffer.c | 151 +--- ksrc/drivers/analogy/command.c | 96 ++- ksrc/drivers/analogy/device.c | 27 +-- ksrc/drivers/analogy/instruction.c | 24 +- ksrc/drivers/analogy/subdevice.c | 77 +- ksrc/drivers/analogy/transfer.c| 46 --- src/drvlib/analogy/sync.c | 27 --- 7 files changed, 328 insertions(+), 120 deletions(-) diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c index 304791c..cad8a06 100644 --- a/ksrc/drivers/analogy/buffer.c +++ b/ksrc/drivers/analogy/buffer.c @@ -337,7 +337,7 @@ int a4l_buf_evt(a4l_subd_t *subd, unsigned long evts) clear_bit(tmp, &evts); } - /* Notifies the user-space side */ + /* Notify the user-space side */ a4l_signal_sync(&buf->sync); return 0; @@ -376,7 +376,7 @@ open:a4l_map, close:a4l_unmap, }; -int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg) +int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg) { a4l_mmap_t map_cfg; a4l_dev_t *dev; @@ -387,34 +387,44 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg) dev = a4l_get_dev(cxt); - /* Basically checks the device */ - if (!test_bit(A4L_DEV_ATTACHED, &dev->flags)) + /* Basically check the device */ + if (!test_bit(A4L_DEV_ATTACHED, &dev->flags)) { + __a4l_err("a4l_ioctl_mmap: cannot mmap on " + "an unattached device\n"); return -EINVAL; + } /* The mmap operation cannot be performed in a real-time context */ - if (a4l_test_rt() != 0) + if (a4l_test_rt() != 0) { + __a4l_err("a4l_ioctl_mmap: mmap must be done in NRT context\n"); return -EPERM; + } - /* Recovers the argument structure */ + /* Recover the argument structure */ if (rtdm_safe_copy_from_user(cxt->user_info, &map_cfg, arg, sizeof(a4l_mmap_t)) != 0) return -EFAULT; - /* Checks the subdevice */ + /* Check the subdevice */ if (map_cfg.idx_subd >= dev->transfer.nb_subd || (dev->transfer.subds[map_cfg.idx_subd]->flags & A4L_SUBD_CMD) == 0 || (dev->transfer.subds[map_cfg.idx_subd]-> - flags & A4L_SUBD_MMAP) == 0) + flags & A4L_SUBD_MMAP) == 0) { + __a4l_err("a4l_ioctl_mmap: wrong subdevice selected (idx=%d)\n", + map_cfg.idx_subd); return -EINVAL; + } - /* Checks the buffer is not already mapped */ + /* Check the buffer is not already mapped */ if (test_bit(A4L_TSF_MMAP, -&(dev->transfer.status[map_cfg.idx_subd]))) +&(dev->transfer.status[map_cfg.idx_subd]))) { + __a4l_err("a4l_ioctl_mmap: mmap is already done\n"); return -EBUSY; + } - /* Basically checks the size to be mapped */ + /* Basically check the size to be mapped */ if ((map_cfg.size & ~(PAGE_MASK)) != 0 || map_cfg.size > dev->transfer.bufs[map_cfg.idx_subd]->size) return -EFAULT; @@ -427,8 +437,11 @@ int a4l_ioctl_mmap(a4l_cxt_t * cxt, void *arg) &a4l_vm_ops, &(dev->transfer.status[map_cfg.idx_subd])); - if (ret < 0) + if (ret < 0) { + __a4l_err("a4l_ioctl_mmap: internal error, " + "rtdm_mmap_to_user failed (err=%d)\n", ret); return ret; + } return rtdm_safe_copy_to_user(cxt->user_info, arg, &map_cfg, sizeof(a4l_mmap_t)); @@ -445,34 +458,49 @@ int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg) "a4l_ioctl_bufcfg: minor=%d\n", a4l_get_minor(cxt)); /* Basic checking */ - if (!test_bit(A4L_DEV_ATTACHED, &dev->flags)) + if (!test_bit(A4L_DEV_ATTACHED, &dev->flags)) { + __a4l_err("a4l_ioctl_bufcfg: unattached device\n"); return -EINVAL; + } /* As Linux API is used to allocate a virtual buffer, the calling process must not be in primary mode */ - if (a4l_test_rt() != 0) + if (a4l_test_rt() != 0) { + __a4l_err("a4l_ioctl_bufcfg: buffer config must done " + "in NRT context\n"); return -EPERM; + } if (rtdm_safe_copy_from_user(cxt->user_info, &buf_cfg,
[Xenomai-git] Alexis Berlemont : analogy: fix testing drivers' renaming issues
Module: xenomai-head Branch: master Commit: 8e37eb636960b5345e7c8ec0e4edc651dabd480e URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=8e37eb636960b5345e7c8ec0e4edc651dabd480e Author: Alexis Berlemont Date: Tue Oct 27 00:55:00 2009 +0100 analogy: fix testing drivers' renaming issues --- ksrc/drivers/analogy/testing/Kconfig |8 +- ksrc/drivers/analogy/testing/Makefile | 26 +++--- ksrc/drivers/analogy/testing/fake.c | 116 ++-- ksrc/drivers/analogy/testing/loop.c | 136 4 files changed, 143 insertions(+), 143 deletions(-) diff --git a/ksrc/drivers/analogy/testing/Kconfig b/ksrc/drivers/analogy/testing/Kconfig index 9169c03..fd1e73a 100644 --- a/ksrc/drivers/analogy/testing/Kconfig +++ b/ksrc/drivers/analogy/testing/Kconfig @@ -1,10 +1,10 @@ -config XENO_DRIVERS_COMEDI_FAKE - depends on XENO_DRIVERS_COMEDI +config XENO_DRIVERS_ANALOGY_FAKE + depends on XENO_DRIVERS_ANALOGY tristate "Fake driver" default n -config XENO_DRIVERS_COMEDI_LOOP - depends on XENO_DRIVERS_COMEDI +config XENO_DRIVERS_ANALOGY_LOOP + depends on XENO_DRIVERS_ANALOGY tristate "Loop driver" default n diff --git a/ksrc/drivers/analogy/testing/Makefile b/ksrc/drivers/analogy/testing/Makefile index 6326422..cb38daa 100644 --- a/ksrc/drivers/analogy/testing/Makefile +++ b/ksrc/drivers/analogy/testing/Makefile @@ -4,12 +4,12 @@ ifeq ($(PATCHLEVEL),6) EXTRA_CFLAGS += -D__IN_XENOMAI__ -Iinclude/xenomai -obj-$(CONFIG_XENO_DRIVERS_COMEDI_FAKE) += comedi_fake.o -obj-$(CONFIG_XENO_DRIVERS_COMEDI_LOOP) += comedi_loop.o +obj-$(CONFIG_XENO_DRIVERS_ANALOGY_FAKE) += analogy_fake.o +obj-$(CONFIG_XENO_DRIVERS_ANALOGY_LOOP) += analogy_loop.o -comedi_fake-y := fake.o +analogy_fake-y := fake.o -comedi_loop-y := loop.o +analogy_loop-y := loop.o else @@ -17,23 +17,23 @@ else O_TARGET := built-in.o -obj-$(CONFIG_XENO_DRIVERS_COMEDI_FAKE) += comedi_fake.o -obj-$(CONFIG_XENO_DRIVERS_COMEDI_LOOP) += comedi_loop.o +obj-$(CONFIG_XENO_DRIVERS_ANALOGY_FAKE) += analogy_fake.o +obj-$(CONFIG_XENO_DRIVERS_ANALOGY_LOOP) += analogy_loop.o -comedi_fake-objs := fake.o +analogy_fake-objs := fake.o -comedi_loop-objs := loop.o +analogy_loop-objs := loop.o -export-objs := $(comedi_fake-objs) $(comedi_loop-objs) +export-objs := $(analogy_fake-objs) $(analogy_loop-objs) EXTRA_CFLAGS += -D__IN_XENOMAI__ -I$(TOPDIR)/include/xenomai -I$(TOPDIR)/include/xenomai/compat include $(TOPDIR)/Rules.make -comedi_fake.o: $(comedi_fake-objs) - $(LD) -r -o $@ $(comedi_fake-objs) +analogy_fake.o: $(analogy_fake-objs) + $(LD) -r -o $@ $(analogy_fake-objs) -comedi_loop.o: $(comedi_loop-objs) - $(LD) -r -o $@ $(comedi_loop-objs) +analogy_loop.o: $(analogy_loop-objs) + $(LD) -r -o $@ $(analogy_loop-objs) endif diff --git a/ksrc/drivers/analogy/testing/fake.c b/ksrc/drivers/analogy/testing/fake.c index 8ac48a6..bf3bacf 100644 --- a/ksrc/drivers/analogy/testing/fake.c +++ b/ksrc/drivers/analogy/testing/fake.c @@ -1,5 +1,5 @@ #include -#include +#include #define TEST_TASK_PERIOD 100 #define TEST_NB_BITS 16 @@ -12,7 +12,7 @@ struct test_priv { /* Task descriptor */ - comedi_task_t timer_task; + a4l_task_t timer_task; /* Specific timing fields */ unsigned long scan_period_ns; @@ -39,16 +39,16 @@ typedef struct test_attach_arg tstattr_t; /* --- Channels / ranges part --- */ /* Channels descriptor */ -static comedi_chdesc_t test_chandesc = { - .mode = COMEDI_CHAN_GLOBAL_CHANDESC, +static a4l_chdesc_t test_chandesc = { + .mode = A4L_CHAN_GLOBAL_CHANDESC, .length = 8, .chans = { - {COMEDI_CHAN_AREF_GROUND, TEST_NB_BITS}, + {A4L_CHAN_AREF_GROUND, TEST_NB_BITS}, }, }; /* Ranges tab */ -static comedi_rngtab_t test_rngtab = { +static a4l_rngtab_t test_rngtab = { .length = 2, .rngs = { RANGE_V(-5,5), @@ -56,10 +56,10 @@ static comedi_rngtab_t test_rngtab = { }, }; /* Ranges descriptor */ -comedi_rngdesc_t test_rngdesc = RNG_GLOBAL(test_rngtab); +a4l_rngdesc_t test_rngdesc = RNG_GLOBAL(test_rngtab); /* Command options mask */ -static comedi_cmd_t test_cmd_mask = { +static a4l_cmd_t test_cmd_mask = { .idx_subd = 0, .start_src = TRIG_NOW, .scan_begin_src = TRIG_TIMER, @@ -75,21 +75,21 @@ static sampl_t output_tab[8] = { 0x8000, 0xa000, 0xc000, 0x }; static unsigned int output_idx; -static comedi_lock_t output_lock = COMEDI_LOCK_UNLOCKED; +static a4l_lock_t output_lock = A4L_LOCK_UNLOCKED; static sampl_t test_output(tstprv_t *priv) { unsigned long flags; unsigned int idx; - comedi_lock_irqsave(&output_lock, flags); + a4l_lock_irqsave(&output_lock, flags); output_idx += priv->quanta_cnt; if(output_idx == 8) output_idx = 0;
[Xenomai-git] Philippe Gerum : doc: regenerate documentation
Module: xenomai-head Branch: master Commit: 5d2acffc3049b729e78e8c311b8e49d0250b44bf URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=5d2acffc3049b729e78e8c311b8e49d0250b44bf Author: Philippe Gerum Date: Tue Oct 27 19:10:20 2009 +0100 doc: regenerate documentation --- doc/generated/html/api/alarm_8h.html | 97 +- doc/generated/html/api/alarm_8h__dep__incl.map |8 +- doc/generated/html/api/alarm_8h__dep__incl.png | Bin 9472 -> 9189 bytes doc/generated/html/api/alarm_8h__incl.map | 46 +- doc/generated/html/api/alarm_8h__incl.md5 |2 +- doc/generated/html/api/alarm_8h__incl.png | Bin 133889 -> 130226 bytes .../{alarm_8h-source.html => alarm_8h_source.html} | 51 +- doc/generated/html/api/annotated.html | 38 +- .../api/{apc_8h-source.html => apc_8h_source.html} | 29 +- doc/generated/html/api/arm_2hal_8c.html| 86 +- doc/generated/html/api/arm_2hal_8c__incl.map |2 + doc/generated/html/api/arm_2hal_8c__incl.png | Bin 35164 -> 33691 bytes ...assert_8h-source.html => assert_8h_source.html} | 33 +- doc/generated/html/api/async_8c.html | 92 - doc/generated/html/api/async_8c__incl.map | 12 - doc/generated/html/api/async_8c__incl.md5 |1 - doc/generated/html/api/async_8c__incl.png | Bin 60810 -> 0 bytes .../{bheap_8h-source.html => bheap_8h_source.html} | 29 +- doc/generated/html/api/blackfin_2hal_8c.html | 86 +- doc/generated/html/api/blackfin_2hal_8c__incl.map |2 + doc/generated/html/api/blackfin_2hal_8c__incl.png | Bin 27607 -> 27409 bytes doc/generated/html/api/blackfin_2nmi_8c.html | 54 +- doc/generated/html/api/blackfin_2nmi_8c__incl.map |2 + doc/generated/html/api/blackfin_2nmi_8c__incl.png | Bin 28184 -> 28443 bytes doc/generated/html/api/bound__task_8c-example.html | 33 +- doc/generated/html/api/bufd_8c.html| 88 +- doc/generated/html/api/bufd_8c__incl.map | 42 +- doc/generated/html/api/bufd_8c__incl.md5 |2 +- doc/generated/html/api/bufd_8c__incl.png | Bin 110368 -> 106498 bytes doc/generated/html/api/bufd_8h.html| 120 +- doc/generated/html/api/bufd_8h__dep__incl.map |8 +- doc/generated/html/api/bufd_8h__dep__incl.png | Bin 9433 -> 9125 bytes doc/generated/html/api/bufd_8h__incl.map |8 +- doc/generated/html/api/bufd_8h__incl.md5 |2 +- doc/generated/html/api/bufd_8h__incl.png | Bin 15201 -> 15197 bytes .../{bufd_8h-source.html => bufd_8h_source.html} | 51 +- doc/generated/html/api/buffer_8h.html | 81 + ..._8h__dep__incl.map => buffer_8h__dep__incl.map} |6 +- ..._8h__dep__incl.md5 => buffer_8h__dep__incl.md5} |0 doc/generated/html/api/buffer_8h__dep__incl.png| Bin 0 -> 7443 bytes doc/generated/html/api/buffer_8h__incl.map |6 + doc/generated/html/api/buffer_8h__incl.md5 |1 + doc/generated/html/api/buffer_8h__incl.png | Bin 0 -> 18074 bytes ...buffer_8h-source.html => buffer_8h_source.html} | 57 +- ...cancel_8h-source.html => cancel_8h_source.html} | 29 +- ...lock_8h-source.html => cb__lock_8h_source.html} | 29 +- .../html/api/channel__range_8h-source.html | 143 - doc/generated/html/api/channel__range_8h.html | 157 - .../html/api/channel__range_8h__dep__incl.map |9 - .../html/api/channel__range_8h__dep__incl.md5 |1 - .../html/api/channel__range_8h__dep__incl.png | Bin 30693 -> 0 bytes doc/generated/html/api/classes.html| 39 +- .../html/api/comedi_2buffer_8h-source.html | 412 - doc/generated/html/api/comedi_2buffer_8h.html | 56 - .../html/api/comedi_2types_8h-source.html | 59 - doc/generated/html/api/comedi_2types_8h.html | 65 - .../html/api/comedi_2types_8h__dep__incl.map | 10 - .../html/api/comedi_2types_8h__dep__incl.md5 |1 - .../html/api/comedi_2types_8h__dep__incl.png | Bin 40678 -> 0 bytes doc/generated/html/api/comedi_8h-source.html | 171 - doc/generated/html/api/comedi_8h.html | 75 - doc/generated/html/api/comedi_8h__dep__incl.map|6 - doc/generated/html/api/comedi_8h__dep__incl.md5|1 - doc/generated/html/api/comedi_8h__dep__incl.png| Bin 16801 -> 0 bytes doc/generated/html/api/comedi_8h__incl.map |8 - doc/generated/html/api/comedi_8h__incl.md5 |1 - doc/generated/html/api/comedi_8h__incl.png | Bin 38399 -> 0 bytes .../html/api/comedi__driver_8h-source.html | 54 - doc/generated/html/api/comedi__driver_8h.html | 74 - .../html/api/comedi__driver_8h__dep__incl.map |1 - .../html/api/comedi__driver_8h__dep__incl.md5 |1 - .../html/api/comedi__driver_8h__dep__incl.png | Bin 5149 -> 0 bytes doc/generated/html/
[Xenomai-git] Philippe Gerum : build: update version stamp
Module: xenomai-head Branch: master Commit: 793e229913f4821801a716908c0ededb44e0d99a URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=793e229913f4821801a716908c0ededb44e0d99a Author: Philippe Gerum Date: Tue Oct 27 19:08:30 2009 +0100 build: update version stamp --- config/version|2 +- configure | 20 ++-- include/nucleus/version.h |2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/config/version b/config/version index 0e95c7d..ecfeb0c 100644 --- a/config/version +++ b/config/version @@ -1 +1 @@ -2.4.92 +2.4.93 diff --git a/configure b/configure index 1859e0b..ec2742d 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for Xenomai 2.4.92. +# Generated by GNU Autoconf 2.64 for Xenomai 2.4.93. # # Report bugs to . # @@ -698,8 +698,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Xenomai' PACKAGE_TARNAME='xenomai' -PACKAGE_VERSION='2.4.92' -PACKAGE_STRING='Xenomai 2.4.92' +PACKAGE_VERSION='2.4.93' +PACKAGE_STRING='Xenomai 2.4.93' PACKAGE_BUGREPORT='xenomai-h...@gna.org' PACKAGE_URL='' @@ -1498,7 +1498,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Xenomai 2.4.92 to adapt to many kinds of systems. +\`configure' configures Xenomai 2.4.93 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1569,7 +1569,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Xenomai 2.4.92:";; + short | recursive ) echo "Configuration of Xenomai 2.4.93:";; esac cat <<\_ACEOF @@ -1733,7 +1733,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Xenomai configure 2.4.92 +Xenomai configure 2.4.93 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2104,7 +2104,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Xenomai $as_me 2.4.92, which was +It was created by Xenomai $as_me 2.4.93, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -4735,7 +4735,7 @@ fi # Define the identity of the package. PACKAGE='xenomai' - VERSION='2.4.92' + VERSION='2.4.93' cat >>confdefs.h <<_ACEOF @@ -13417,7 +13417,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Xenomai $as_me 2.4.92, which was +This file was extended by Xenomai $as_me 2.4.93, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES= $CONFIG_FILES @@ -13485,7 +13485,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -Xenomai config.status 2.4.92 +Xenomai config.status 2.4.93 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/&/g'`\\" diff --git a/include/nucleus/version.h b/include/nucleus/version.h index f05cca5..8f65ddb 100644 --- a/include/nucleus/version.h +++ b/include/nucleus/version.h @@ -28,6 +28,6 @@ #define XENO_VERSION_NAME "Flying In A Blue Dream" -#define XENO_VERSION_STRING"2.5-rc3" +#define XENO_VERSION_STRING"2.5-rc4" #endif /* _XENO_NUCLEUS_VERSION_H */ ___ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git