Module: xenomai-head
Branch: master
Commit: 9f9abc682a7eb6b5a6ff0bf40e8d7c049f0e957d
URL:    
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=9f9abc682a7eb6b5a6ff0bf40e8d7c049f0e957d

Author: Alexis Berlemont <alexis.berlem...@gmail.com>
Date:   Sat May 23 05:38:01 2009 +0200

Change the second argument of the callback do_cmd() (in subdevice
structure), the subdevice index is replaced by the command to apply
(which contains the subdevice index).

---

 include/comedi/subdevice.h         |    2 +-
 ksrc/drivers/comedi/command.c      |    2 +-
 ksrc/drivers/comedi/testing/fake.c |    3 +--
 ksrc/drivers/comedi/testing/loop.c |    2 +-
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/include/comedi/subdevice.h b/include/comedi/subdevice.h
index 46d14a0..34c4798 100644
--- a/include/comedi/subdevice.h
+++ b/include/comedi/subdevice.h
@@ -178,7 +178,7 @@ struct comedi_subdevice {
                                                        /**< Callback for the 
instruction "bits" */
        int (*insn_config) (struct comedi_subdevice *, comedi_kinsn_t *);
                                                          /**< Callback for the 
configuration instruction */
-       int (*do_cmd) (struct comedi_subdevice *, int);
+       int (*do_cmd) (struct comedi_subdevice *, comedi_cmd_t *);
                                        /**< Callback for command handling */
        int (*do_cmdtest) (struct comedi_subdevice *, comedi_cmd_t *);
                                                       /**< Callback for 
command checking */
diff --git a/ksrc/drivers/comedi/command.c b/ksrc/drivers/comedi/command.c
index 3daa449..582c8e5 100644
--- a/ksrc/drivers/comedi/command.c
+++ b/ksrc/drivers/comedi/command.c
@@ -304,7 +304,7 @@ int comedi_ioctl_cmd(comedi_cxt_t * cxt, void *arg)
        /* Eventually launches the command */
        ret = dev->transfer->subds[cmd_desc->idx_subd]->
                do_cmd(dev->transfer->subds[cmd_desc->idx_subd], 
-                      cmd_desc->idx_subd);
+                      cmd_desc);
 
        if (ret != 0) {
                comedi_cancel_transfer(cxt, cmd_desc->idx_subd);
diff --git a/ksrc/drivers/comedi/testing/fake.c 
b/ksrc/drivers/comedi/testing/fake.c
index 4aef348..e306840 100644
--- a/ksrc/drivers/comedi/testing/fake.c
+++ b/ksrc/drivers/comedi/testing/fake.c
@@ -147,10 +147,9 @@ static void test_task_proc(void *arg)
 /* --- Comedi Callbacks --- */
 
 /* Command callback */
-int test_cmd(comedi_subd_t *subd, int idx_subd)
+int test_cmd(comedi_subd_t *subd, , comedi_cmd_t *cmd)
 {
        comedi_dev_t *dev = subd->dev;
-       comedi_cmd_t *cmd = comedi_get_cmd(dev, 0, idx_subd);
        tstprv_t *priv = (tstprv_t *)dev->priv;
 
        comedi_loginfo("test_cmd: begin (subd=%d)\n",idx_subd);
diff --git a/ksrc/drivers/comedi/testing/loop.c 
b/ksrc/drivers/comedi/testing/loop.c
index 264338e..8beafb2 100644
--- a/ksrc/drivers/comedi/testing/loop.c
+++ b/ksrc/drivers/comedi/testing/loop.c
@@ -102,7 +102,7 @@ static void loop_task_proc(void *arg)
 /* --- Comedi Callbacks --- */
 
 /* Command callback */
-int loop_cmd(comedi_subd_t *subd, int idx_subd)
+int loop_cmd(comedi_subd_t *subd, comedi_cmd_t *cmd)
 {
        lpprv_t *priv = (lpprv_t *)subd->dev->priv;
 


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

Reply via email to