Merge these two files into kcomedilib_main.c as they are tiny. This will also let us get rid of another global symbol in the future. Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Frank Mori Hess <fmhess@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> --- drivers/staging/comedi/kcomedilib/Makefile | 5 +- drivers/staging/comedi/kcomedilib/dio.c | 68 -------------------- drivers/staging/comedi/kcomedilib/get.c | 51 --------------- .../staging/comedi/kcomedilib/kcomedilib_main.c | 63 ++++++++++++++++++ 4 files changed, 64 insertions(+), 123 deletions(-) delete mode 100644 drivers/staging/comedi/kcomedilib/dio.c delete mode 100644 drivers/staging/comedi/kcomedilib/get.c diff --git a/drivers/staging/comedi/kcomedilib/Makefile b/drivers/staging/comedi/kcomedilib/Makefile index 006aa1c..5951f86 100644 --- a/drivers/staging/comedi/kcomedilib/Makefile +++ b/drivers/staging/comedi/kcomedilib/Makefile @@ -1,6 +1,3 @@ obj-$(CONFIG_COMEDI) += kcomedilib.o -kcomedilib-objs := \ - dio.o \ - kcomedilib_main.o \ - get.o +kcomedilib-objs := kcomedilib_main.o diff --git a/drivers/staging/comedi/kcomedilib/dio.c b/drivers/staging/comedi/kcomedilib/dio.c deleted file mode 100644 index f0ba81d..0000000 --- a/drivers/staging/comedi/kcomedilib/dio.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - kcomedilib/dio.c - implements comedi_dio_*() functions - - COMEDI - Linux Control and Measurement Device Interface - Copyright (C) 2000 David A. Schleef <ds@xxxxxxxxxxx> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "../comedi.h" -#include "../comedilib.h" - -#include <linux/string.h> -#include <linux/module.h> - -int comedi_dio_config(void *dev, unsigned int subdev, unsigned int chan, - unsigned int io) -{ - struct comedi_insn insn; - - memset(&insn, 0, sizeof(insn)); - insn.insn = INSN_CONFIG; - insn.n = 1; - insn.data = &io; - insn.subdev = subdev; - insn.chanspec = CR_PACK(chan, 0, 0); - - return comedi_do_insn(dev, &insn); -} -EXPORT_SYMBOL(comedi_dio_config); - -int comedi_dio_bitfield(void *dev, unsigned int subdev, unsigned int mask, - unsigned int *bits) -{ - struct comedi_insn insn; - unsigned int data[2]; - int ret; - - memset(&insn, 0, sizeof(insn)); - insn.insn = INSN_BITS; - insn.n = 2; - insn.data = data; - insn.subdev = subdev; - - data[0] = mask; - data[1] = *bits; - - ret = comedi_do_insn(dev, &insn); - - *bits = data[1]; - - return ret; -} -EXPORT_SYMBOL(comedi_dio_bitfield); diff --git a/drivers/staging/comedi/kcomedilib/get.c b/drivers/staging/comedi/kcomedilib/get.c deleted file mode 100644 index 99ab27a..0000000 --- a/drivers/staging/comedi/kcomedilib/get.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - kcomedilib/get.c - a comedlib interface for kernel modules - - COMEDI - Linux Control and Measurement Device Interface - Copyright (C) 1997-2000 David A. Schleef <ds@xxxxxxxxxxx> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#define __NO_VERSION__ -#include "../comedi.h" -#include "../comedilib.h" -#include "../comedidev.h" - -int comedi_find_subdevice_by_type(void *d, int type, unsigned int subd) -{ - struct comedi_device *dev = (struct comedi_device *)d; - - if (subd > dev->n_subdevices) - return -ENODEV; - - for (; subd < dev->n_subdevices; subd++) { - if (dev->subdevices[subd].type == type) - return subd; - } - return -1; -} -EXPORT_SYMBOL(comedi_find_subdevice_by_type); - -int comedi_get_n_channels(void *d, unsigned int subdevice) -{ - struct comedi_device *dev = (struct comedi_device *)d; - struct comedi_subdevice *s = dev->subdevices + subdevice; - - return s->n_chan; -} -EXPORT_SYMBOL(comedi_get_n_channels); diff --git a/drivers/staging/comedi/kcomedilib/kcomedilib_main.c b/drivers/staging/comedi/kcomedilib/kcomedilib_main.c index addfcd5..7cb29f2 100644 --- a/drivers/staging/comedi/kcomedilib/kcomedilib_main.c +++ b/drivers/staging/comedi/kcomedilib/kcomedilib_main.c @@ -206,3 +206,66 @@ error: return ret; } +int comedi_dio_config(void *dev, unsigned int subdev, unsigned int chan, + unsigned int io) +{ + struct comedi_insn insn; + + memset(&insn, 0, sizeof(insn)); + insn.insn = INSN_CONFIG; + insn.n = 1; + insn.data = &io; + insn.subdev = subdev; + insn.chanspec = CR_PACK(chan, 0, 0); + + return comedi_do_insn(dev, &insn); +} +EXPORT_SYMBOL(comedi_dio_config); + +int comedi_dio_bitfield(void *dev, unsigned int subdev, unsigned int mask, + unsigned int *bits) +{ + struct comedi_insn insn; + unsigned int data[2]; + int ret; + + memset(&insn, 0, sizeof(insn)); + insn.insn = INSN_BITS; + insn.n = 2; + insn.data = data; + insn.subdev = subdev; + + data[0] = mask; + data[1] = *bits; + + ret = comedi_do_insn(dev, &insn); + + *bits = data[1]; + + return ret; +} +EXPORT_SYMBOL(comedi_dio_bitfield); + +int comedi_find_subdevice_by_type(void *d, int type, unsigned int subd) +{ + struct comedi_device *dev = (struct comedi_device *)d; + + if (subd > dev->n_subdevices) + return -ENODEV; + + for (; subd < dev->n_subdevices; subd++) { + if (dev->subdevices[subd].type == type) + return subd; + } + return -1; +} +EXPORT_SYMBOL(comedi_find_subdevice_by_type); + +int comedi_get_n_channels(void *d, unsigned int subdevice) +{ + struct comedi_device *dev = (struct comedi_device *)d; + struct comedi_subdevice *s = dev->subdevices + subdevice; + + return s->n_chan; +} +EXPORT_SYMBOL(comedi_get_n_channels); -- 1.7.0.3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel