[Xenomai-git] Alexis Berlemont : Fix obvious typo mistake

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: 7136d050b76e55219ee3ccb6f544e3f62031c09f
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=7136d050b76e55219ee3ccb6f544e3f62031c09f

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Mon Sep 21 00:11:41 2009 +0200

Fix obvious typo mistake

---

 ksrc/drivers/comedi/device.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ksrc/drivers/comedi/device.c b/ksrc/drivers/comedi/device.c
index 3d621d5..59b0a69 100644
--- a/ksrc/drivers/comedi/device.c
+++ b/ksrc/drivers/comedi/device.c
@@ -319,7 +319,7 @@ int comedi_assign_driver(comedi_cxt_t * cxt,
/* Initialize the private data even if it not our role
   (the driver should do it), that may prevent hard to
   find bugs */
-   memset(dev-priv, 0, drv-prvdata_size);
+   memset(dev-priv, 0, drv-privdata_size);
}
 
if ((ret = drv-attach(dev, link_arg)) != 0)


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Gilles Chanteperdrix : Do not use the 2 stages build for building non-posix applications

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: 50ee47db78117e8711d4d2f5310dff262a425eb7
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=50ee47db78117e8711d4d2f5310dff262a425eb7

Author: Gilles Chanteperdrix gilles.chanteperd...@xenomai.org
Date:   Thu Sep 24 15:14:48 2009 +0200

Do not use the 2 stages build for building non-posix applications

---

 scripts/wrap-link.sh |   50 +++---
 1 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/scripts/wrap-link.sh b/scripts/wrap-link.sh
index 0d53c7b..f4826ac 100755
--- a/scripts/wrap-link.sh
+++ b/scripts/wrap-link.sh
@@ -6,7 +6,7 @@ set -e
 
 usage() {
 cat EOF
-$progname [options] command-line
+$1 [options] command-line
 
 Split command-line in two parts for linking static applications with
 Xenomai user-space posix skin in two stages.
@@ -16,21 +16,25 @@ Options:
 -v be verbose (print each command before running it)
 
 Example:
-$progname -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
+$1 -v gcc -o foo foo.o -Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib 
-lpthread_rt -lpthread -lrt
 will print and run:
-+ gcc -o foo.tmp -Wl,-r -nostdlib tmp foo.o 
-Wl,@/usr/xenomai/lib/posix.wrappers -L/usr/xenomai/lib
-+ gcc -o foo foo.tmp -lpthread_rt -lpthread -lrt
++ gcc -o foo.tmp -Wl,-Ur -nostdlib foo.o -Wl,@/usr/xenomai/lib/posix.wrappers 
-L/usr/xenomai/lib
++ gcc -o foo foo.tmp -L/usr/xenomai/lib -lpthread_rt -lpthread -lrt
 + rm foo.tmp
 EOF
 }
 
+add_2stages() {
+stage1_args=$stage1_args $@
+stage2_args=$stage2_args $@
+}   
+
 add_linker_flag() {
 if $next_is_wrapped_symbol; then
stage1_args=$stage1_args -Wl,--wrap $@
next_is_wrapped_symbol=false
 else
-   stage1_args=$stage1_args $@
-   stage2_args=$stage2_args $@
+   add_2stages $@
 fi
 }
 
@@ -47,10 +51,10 @@ if test -n $V  test $V -gt 0; then
 else
 verbose=false
 fi
-progname=$0
+progname=$0
 
 if test $# -eq 0; then
-usage
+usage $progname
 exit 0
 fi
 
@@ -58,11 +62,6 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   )
-   usage
-   exit 0
-   ;;
-
-v) 
verbose=:
;;
@@ -81,7 +80,7 @@ while test $# -gt 0; do
;;
 
*ld)
-   usage
+   usage $progname
/bin/echo -e \nlinker must be gcc or g++, not ld
exit 1
;;
@@ -93,6 +92,8 @@ while test $# -gt 0; do
 done
 
 next_is_wrapped_symbol=false
+
+onestage_args=$@
 stage1_args=
 stage2_args=
 stage2=false
@@ -100,7 +101,7 @@ while test $# -gt 0; do
 arg=$1
 shift
 case $arg in
-   *pthread_rt*|-lpthread)
+   *pthread_rt*)
stage2_args=$stage2_args $arg
stage2=:
;;
@@ -140,7 +141,7 @@ while test $# -gt 0; do
;;
 
-o*)
-   output=`expr $arg : '-o\(.*\)'`
+   output=`expr $arg : '-o\(.*\)'`
;;

-l) 
@@ -161,15 +162,18 @@ while test $# -gt 0; do
if test -e $arg; then
add_linker_obj $arg
else
-   stage1_args=$stage1_args $arg
-   stage2_args=$stage2_args $arg
+   add_2stages $arg
fi
   ;;
 esac
 done
 
-$verbose  set -x
-tmpobj=$output.wl$$
-$cc -o $tmpobj -Wl,-Ur -nostdlib $stage1_args
-$cc -o $output $tmpobj $stage2_args
-rm -f $tmpobj
+if $stage2; then
+$verbose  set -x
+$cc -o $output.tmp -Wl,-Ur -nostdlib $stage1_args
+$cc -o $output $output.tmp $stage2_args
+rm -f $output.tmp
+else
+$verbose  set -x
+$cc -o $output $onestage_args
+fi


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Alexis Berlemont : Remove useless wrappers (comedi_copy_*_user())

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: d3a4ec4ad0e7d181fc003cee13124cf77e73fe9e
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=d3a4ec4ad0e7d181fc003cee13124cf77e73fe9e

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Sun Sep 20 16:03:20 2009 +0200

Remove useless wrappers (comedi_copy_*_user())

---

 include/comedi/buffer.h   |   14 
 include/comedi/context.h  |   10 +-
 include/comedi/os_facilities.h|   20 
 ksrc/drivers/comedi/buffer.c  |   27 ++---
 ksrc/drivers/comedi/command.c |   11 ---
 ksrc/drivers/comedi/device.c  |   23 +++---
 ksrc/drivers/comedi/instruction.c |   18 ++-
 ksrc/drivers/comedi/subdevice.c   |   61 +++-
 8 files changed, 85 insertions(+), 99 deletions(-)

diff --git a/include/comedi/buffer.h b/include/comedi/buffer.h
index 81298dd..8b3a954 100644
--- a/include/comedi/buffer.h
+++ b/include/comedi/buffer.h
@@ -95,9 +95,9 @@ static inline int __produce(comedi_cxt_t * cxt,
if (cxt == NULL)
memcpy(buf-buf + start_ptr, pin, blk_size);
else
-   ret = comedi_copy_from_user(cxt,
-   buf-buf + start_ptr,
-   pin, blk_size);
+   ret = rtdm_safe_copy_from_user(cxt-user_info,
+  buf-buf + start_ptr,
+  pin, blk_size);
 
/* Updates pointers/counts */
pin += blk_size;
@@ -125,10 +125,10 @@ static inline int __consume(comedi_cxt_t * cxt,
if (cxt == NULL)
memcpy(pout, buf-buf + start_ptr, blk_size);
else
-   ret = comedi_copy_to_user(cxt,
- pout,
- buf-buf + start_ptr,
- blk_size);
+   ret = rtdm_safe_copy_to_user(cxt-user_info,
+pout,
+buf-buf + start_ptr,
+blk_size);
 
/* Updates pointers/counts */
pout += blk_size;
diff --git a/include/comedi/context.h b/include/comedi/context.h
index 3670d69..e9c2d08 100644
--- a/include/comedi/context.h
+++ b/include/comedi/context.h
@@ -35,7 +35,7 @@ struct comedi_context {
   setting it at the head of the structure may save 
   useless operations */
struct comedi_device *dev;
-   rtdm_user_info_t *rtdm_usrinf;
+   rtdm_user_info_t *user_info;
struct rtdm_dev_context *rtdm_cxt;
 };
 typedef struct comedi_context comedi_cxt_t;
@@ -45,16 +45,10 @@ typedef struct comedi_context comedi_cxt_t;
 #define comedi_init_cxt(c, u, x)   \
 {  \
(x)-rtdm_cxt = c;  \
-   (x)-rtdm_usrinf = u;   \
+   (x)-user_info = u; \
(x)-dev = NULL;\
 }
 
-#define comedi_copy_from_user(x, d, r, s) \
-__comedi_copy_from_user(x-rtdm_usrinf, d, r, s)
-
-#define comedi_copy_to_user(x, d, r, s) \
-__comedi_copy_to_user(x-rtdm_usrinf, d, r, s)
-
 #endif /* __KERNEL__  !DOXYGEN_CPP */
 
 #endif /* __COMEDI_CONTEXT__ */
diff --git a/include/comedi/os_facilities.h b/include/comedi/os_facilities.h
index e9315b7..405c9d4 100644
--- a/include/comedi/os_facilities.h
+++ b/include/comedi/os_facilities.h
@@ -87,26 +87,6 @@
 #define comedi_dbg(level, debug, dev, fmt, args...)\
__comedi_dbg(level, debug, %s:  fmt, __comedi_dev_name(dev), ##args)
 
-/* --- Allocation / MMU section --- */
-
-static inline int __comedi_copy_from_user(rtdm_user_info_t * user_info,
- void *pind, void *pins, int size)
-{
-   if (rtdm_read_user_ok(user_info, pins, size))
-   return rtdm_copy_from_user(user_info, pind, pins, size);
-   else
-   return -EFAULT;
-}
-
-static inline int __comedi_copy_to_user(rtdm_user_info_t * user_info,
-   void *pind, void *pins, int size)
-{
-   if (rtdm_rw_user_ok(user_info, pind, size))
-   return rtdm_copy_to_user(user_info, pind, pins, size);
-   else
-   return -EFAULT;
-}
-
 /* --- Spinlock section --- */
 
 typedef rtdm_lock_t comedi_lock_t;
diff --git a/ksrc/drivers/comedi/buffer.c b/ksrc/drivers/comedi/buffer.c
index 27696d8..d5afc67 100644
--- a/ksrc/drivers/comedi/buffer.c
+++ b/ksrc/drivers/comedi/buffer.c
@@ -397,8 +397,8 @@ int comedi_ioctl_mmap(comedi_cxt_t * cxt, void 

[Xenomai-git] Alexis Berlemont : Add ai / ao trigger callback

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: ddc9cc1b35ac5011d99211c960fb45f6f931ba58
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=ddc9cc1b35ac5011d99211c960fb45f6f931ba58

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Sun Sep 27 16:25:43 2009 +0200

Add ai / ao trigger callback

---

 .../comedi/national_instruments/mio_common.c   |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/ksrc/drivers/comedi/national_instruments/mio_common.c 
b/ksrc/drivers/comedi/national_instruments/mio_common.c
index fbb4d59..8e9b5e1 100644
--- a/ksrc/drivers/comedi/national_instruments/mio_common.c
+++ b/ksrc/drivers/comedi/national_instruments/mio_common.c
@@ -4754,6 +4754,7 @@ int ni_E_init(comedi_dev_t *dev)
subd-do_cmdtest = ni_ai_cmdtest;
subd-do_cmd = ni_ai_cmd;
subd-cancel = ni_ai_reset;
+   subd-trigger = ni_ai_inttrig;
 
subd-munge = (boardtype.adbits  16) ? 
ni_ai_munge32 : ni_ai_munge16;
@@ -4796,6 +4797,7 @@ int ni_E_init(comedi_dev_t *dev)
subd-do_cmd = ni_ao_cmd;
subd-cmd_mask = mio_ao_cmd_mask;
subd-do_cmdtest = ni_ao_cmdtest;
+   subd-trigger = ni_ao_inttrig;
if ((boardtype.reg_type  ni_reg_m_series_mask) == 0)
subd-munge = ni_ao_munge;
}


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Alexis Berlemont : Add a trigger instruction

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: 5030433c0b26ce05933cc0f41a23a973258d201a
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=5030433c0b26ce05933cc0f41a23a973258d201a

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Sun Sep 27 16:26:53 2009 +0200

Add a trigger instruction

---

 src/utils/comedi/cmd_write.c |   29 +++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/utils/comedi/cmd_write.c b/src/utils/comedi/cmd_write.c
index ab57ee1..851b943 100644
--- a/src/utils/comedi/cmd_write.c
+++ b/src/utils/comedi/cmd_write.c
@@ -75,6 +75,12 @@ comedi_cmd_t cmd = {
   .chan_descs = chans,
 };
 
+comedi_insn_t insn = {
+   .type = COMEDI_INSN_INTTRIG,
+   .idx_subd = ID_SUBD,
+   .data_size = 0,
+};
+
 struct option cmd_write_opts[] = {
{verbose, no_argument, NULL, 'v'},
{real-time, no_argument, NULL, 'r'},
@@ -123,7 +129,7 @@ int main(int argc, char *argv[])
filename = optarg;
break;
case 's':
-   cmd.idx_subd = strtoul(optarg, NULL, 0);
+   cmd.idx_subd = insn.idx_subd = strtoul(optarg, NULL, 0);
break;
case 'S':
cmd.stop_arg = strtoul(optarg, NULL, 0);
@@ -319,8 +325,17 @@ int main(int argc, char *argv[])
ret);
goto out_main;
}
-
cnt += ret;
+
+   if (cnt == ret  cnt != 0) {
+   ret = comedi_snd_insn(dsc, insn);
+   if (ret  0) {
+   fprintf(stderr,
+   cmd_write: triggering failed 
(ret=%d)\n,
+   ret);
+   goto out_main;  

+   }
+   }
}
} else {
unsigned long front = 0;
@@ -372,6 +387,16 @@ int main(int argc, char *argv[])
ret);
goto out_main;
}
+   
+   if (cnt == front  cnt != 0) {
+   ret = comedi_snd_insn(dsc, insn);
+   if (ret  0) {
+   fprintf(stderr,
+   cmd_write: triggering failed 
(ret=%d)\n,
+   ret);
+   goto out_main;  

+   }   
+   }
}
}
 


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Alexis Berlemont : Replace an info message by an error message

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: 91b15184dfe0236d0caf82fec7a5ce0f52832cdd
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=91b15184dfe0236d0caf82fec7a5ce0f52832cdd

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Thu Oct  1 23:39:56 2009 +0200

Replace an info message by an error message

---

 ksrc/drivers/comedi/national_instruments/mite.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ksrc/drivers/comedi/national_instruments/mite.c 
b/ksrc/drivers/comedi/national_instruments/mite.c
index c776f12..e322529 100644
--- a/ksrc/drivers/comedi/national_instruments/mite.c
+++ b/ksrc/drivers/comedi/national_instruments/mite.c
@@ -458,7 +458,7 @@ void mite_prep_dma(struct mite_channel *mite_chan,
mcr |= CR_PSIZE32;
break;
default:
-   __comedi_info(MITE: bug! 
+   __comedi_err(MITE: bug! 
  invalid mem bit width for dma transfer\n);
break;
}


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Alexis Berlemont : Fix internal trigger via instruction ( we do not need any data in the

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: bbc3c30a7eb9484f9854882089cf309c6956bb83
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=bbc3c30a7eb9484f9854882089cf309c6956bb83

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Sun Sep 27 16:24:15 2009 +0200

Fix internal trigger via instruction (we do not need any data in the
instruction structure)

---

 ksrc/drivers/comedi/instruction.c |9 ++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/ksrc/drivers/comedi/instruction.c 
b/ksrc/drivers/comedi/instruction.c
index 62579c8..67c75d6 100644
--- a/ksrc/drivers/comedi/instruction.c
+++ b/ksrc/drivers/comedi/instruction.c
@@ -80,11 +80,14 @@ int comedi_do_insn_trig(comedi_cxt_t * cxt, comedi_kinsn_t 
* dsc)
 {
comedi_subd_t *subd;
comedi_dev_t *dev = comedi_get_dev(cxt);
+   lsampl_t trignum;
 
/* Basic checkings */
-   if (dsc-data_size != 1)
+   if (dsc-data_size  1)
return -EINVAL;
-
+   
+   trignum = (dsc-data_size == 1) ? dsc-data[0] : 0;
+   
if (dsc-idx_subd = dev-transfer.nb_subd)
return -EINVAL;
 
@@ -95,7 +98,7 @@ int comedi_do_insn_trig(comedi_cxt_t * cxt, comedi_kinsn_t * 
dsc)
return -EINVAL;
 
/* Performs the trigger */
-   return subd-trigger(subd, dsc-data[0]);
+   return subd-trigger(subd, trignum);
 }
 
 int comedi_fill_insndsc(comedi_cxt_t * cxt, comedi_kinsn_t * dsc, void *arg)


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git


[Xenomai-git] Alexis Berlemont : Fix a problem in the mite configuration (only for AI)

2009-10-01 Thread GIT version control
Module: xenomai-abe
Branch: comedi
Commit: c65c3ce37edfcf6179d4c0b43e2460e52584d9e1
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=c65c3ce37edfcf6179d4c0b43e2460e52584d9e1

Author: Alexis Berlemont alexis.berlem...@gmail.com
Date:   Thu Oct  1 23:41:11 2009 +0200

Fix a problem in the mite configuration (only for AI)

---

 .../comedi/national_instruments/mio_common.c   |5 +
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/ksrc/drivers/comedi/national_instruments/mio_common.c 
b/ksrc/drivers/comedi/national_instruments/mio_common.c
index 8e9b5e1..68e87ff 100644
--- a/ksrc/drivers/comedi/national_instruments/mio_common.c
+++ b/ksrc/drivers/comedi/national_instruments/mio_common.c
@@ -1367,8 +1367,13 @@ static int ni_ai_setup_MITE_dma(comedi_dev_t *dev)
break;
};
 
+   /* Huge hack */
+   mite_buf_change(devpriv-ai_mite_chan-ring, 
+   dev-transfer.bufs[NI_AI_SUBDEV]);
+
/* start the MITE */
mite_dma_arm(devpriv-ai_mite_chan);
+
return 0;
 }
 


___
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git