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