From 8e2590454c35c71fc997dd06a853234c03fc00a7 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sat, 5 May 2001 11:35:27 +0000 Subject: [PATCH] Added comedi_map, comedi_unmap --- comedi/kcomedilib/kcomedilib_main.c | 45 +++++++++++++++++++++++++++++ comedi/kcomedilib/ksyms.c | 3 ++ 2 files changed, 48 insertions(+) diff --git a/comedi/kcomedilib/kcomedilib_main.c b/comedi/kcomedilib/kcomedilib_main.c index 8ed7fe05..1b359531 100644 --- a/comedi/kcomedilib/kcomedilib_main.c +++ b/comedi/kcomedilib/kcomedilib_main.c @@ -944,3 +944,48 @@ int comedi_poll(unsigned int minor, unsigned int subdev) return s->poll(dev,s); } + +/* WARNING: not portable */ +int comedi_map(unsigned int minor, unsigned int subdev, void **ptr) +{ + comedi_device *dev; + comedi_subdevice *s; + + if((ret=minor_to_dev(minor,&dev))<0) + return ret; + + if(subdev>=dev->n_subdevices) + return -ENODEV; + + s=dev->subdevices+subdev; + if(!s->async) + return -EINVAL; + + if(ptr)*ptr=s->async->prealloc_buf; + + /* XXX no reference counting */ + + return 0; +} + +/* WARNING: not portable */ +int comedi_unmap(unsigned int minor, unsigned int subdev) +{ + comedi_device *dev; + comedi_subdevice *s; + + if((ret=minor_to_dev(minor,&dev))<0) + return ret; + + if(subdev>=dev->n_subdevices) + return -ENODEV; + + s=dev->subdevices+subdev; + if(!s->async) + return -EINVAL; + + /* XXX no reference counting */ + + return 0; +} + diff --git a/comedi/kcomedilib/ksyms.c b/comedi/kcomedilib/ksyms.c index 8ff0870b..7abd4dff 100644 --- a/comedi/kcomedilib/ksyms.c +++ b/comedi/kcomedilib/ksyms.c @@ -62,6 +62,7 @@ EXPORT_SYMBOL(comedi_get_subdevice_type); EXPORT_SYMBOL(comedi_open); EXPORT_SYMBOL(comedi_close); +EXPORT_SYMBOL(comedi_poll); //EXPORT_SYMBOL(comedi_loglevel); //EXPORT_SYMBOL(comedi_perror); //EXPORT_SYMBOL(comedi_strerror); @@ -99,6 +100,8 @@ EXPORT_SYMBOL(comedi_dio_bitfield); //EXPORT_SYMBOL(comedi_get_timer); //EXPORT_SYMBOL(comedi_timed_1chan); //EXPORT_SYMBOL(comedi_set_global_oor_behavior); +EXPORT_SYMBOL(comedi_map); +EXPORT_SYMBOL(comedi_unmap); #endif -- 2.26.2