Staging: comedi: kcomedilib: kcomedilib_main.c: remove unused functions
Remove the unused functions from the kcomedilib_main.c file as they are not needed. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
c9f7725701
commit
6b18af18d2
1 changed files with 0 additions and 354 deletions
|
@ -70,25 +70,6 @@ void *comedi_open(const char *filename)
|
|||
}
|
||||
EXPORT_SYMBOL(comedi_open);
|
||||
|
||||
void *comedi_open_old(unsigned int minor)
|
||||
{
|
||||
struct comedi_device_file_info *dev_file_info;
|
||||
struct comedi_device *dev;
|
||||
|
||||
if (minor >= COMEDI_NUM_MINORS)
|
||||
return NULL;
|
||||
|
||||
dev_file_info = comedi_get_device_file_info(minor);
|
||||
if (dev_file_info == NULL)
|
||||
return NULL;
|
||||
dev = dev_file_info->device;
|
||||
|
||||
if (dev == NULL || !dev->attached)
|
||||
return NULL;
|
||||
|
||||
return (void *)dev;
|
||||
}
|
||||
|
||||
int comedi_close(void *d)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
|
@ -99,83 +80,6 @@ int comedi_close(void *d)
|
|||
}
|
||||
EXPORT_SYMBOL(comedi_close);
|
||||
|
||||
int comedi_loglevel(int newlevel)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void comedi_perror(const char *message)
|
||||
{
|
||||
printk(KERN_ERR "%s: unknown error\n", message);
|
||||
}
|
||||
|
||||
char *comedi_strerror(int err)
|
||||
{
|
||||
return "unknown error";
|
||||
}
|
||||
|
||||
int comedi_fileno(void *d)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
|
||||
/* return something random */
|
||||
return dev->minor;
|
||||
}
|
||||
|
||||
int comedi_command(void *d, struct comedi_cmd *cmd)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
struct comedi_async *async;
|
||||
unsigned runflags;
|
||||
|
||||
if (cmd->subdev >= dev->n_subdevices)
|
||||
return -ENODEV;
|
||||
|
||||
s = dev->subdevices + cmd->subdev;
|
||||
if (s->type == COMEDI_SUBD_UNUSED)
|
||||
return -EIO;
|
||||
|
||||
async = s->async;
|
||||
if (async == NULL)
|
||||
return -ENODEV;
|
||||
|
||||
if (s->busy)
|
||||
return -EBUSY;
|
||||
s->busy = d;
|
||||
|
||||
if (async->cb_mask & COMEDI_CB_EOS)
|
||||
cmd->flags |= TRIG_WAKE_EOS;
|
||||
|
||||
async->cmd = *cmd;
|
||||
|
||||
runflags = SRF_RUNNING;
|
||||
|
||||
comedi_set_subdevice_runflags(s, ~0, runflags);
|
||||
|
||||
comedi_reset_async_buf(async);
|
||||
|
||||
return s->do_cmd(dev, s);
|
||||
}
|
||||
|
||||
int comedi_command_test(void *d, struct comedi_cmd *cmd)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
|
||||
if (cmd->subdev >= dev->n_subdevices)
|
||||
return -ENODEV;
|
||||
|
||||
s = dev->subdevices + cmd->subdev;
|
||||
if (s->type == COMEDI_SUBD_UNUSED)
|
||||
return -EIO;
|
||||
|
||||
if (s->async == NULL)
|
||||
return -ENODEV;
|
||||
|
||||
return s->do_cmdtest(dev, s, cmd);
|
||||
}
|
||||
|
||||
/*
|
||||
* COMEDI_INSN
|
||||
* perform an instruction
|
||||
|
@ -302,261 +206,3 @@ error:
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
COMEDI_LOCK
|
||||
lock subdevice
|
||||
|
||||
arg:
|
||||
subdevice number
|
||||
|
||||
reads:
|
||||
none
|
||||
|
||||
writes:
|
||||
none
|
||||
|
||||
necessary locking:
|
||||
- ioctl/rt lock (this type)
|
||||
- lock while subdevice busy
|
||||
- lock while subdevice being programmed
|
||||
|
||||
*/
|
||||
int comedi_lock(void *d, unsigned int subdevice)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
unsigned long flags;
|
||||
int ret = 0;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
spin_lock_irqsave(&s->spin_lock, flags);
|
||||
|
||||
if (s->busy) {
|
||||
ret = -EBUSY;
|
||||
} else {
|
||||
if (s->lock) {
|
||||
ret = -EBUSY;
|
||||
} else {
|
||||
s->lock = d;
|
||||
}
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&s->spin_lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
COMEDI_UNLOCK
|
||||
unlock subdevice
|
||||
|
||||
arg:
|
||||
subdevice number
|
||||
|
||||
reads:
|
||||
none
|
||||
|
||||
writes:
|
||||
none
|
||||
|
||||
*/
|
||||
int comedi_unlock(void *d, unsigned int subdevice)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
unsigned long flags;
|
||||
struct comedi_async *async;
|
||||
int ret;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
async = s->async;
|
||||
|
||||
spin_lock_irqsave(&s->spin_lock, flags);
|
||||
|
||||
if (s->busy) {
|
||||
ret = -EBUSY;
|
||||
} else if (s->lock && s->lock != (void *)d) {
|
||||
ret = -EACCES;
|
||||
} else {
|
||||
s->lock = NULL;
|
||||
|
||||
if (async) {
|
||||
async->cb_mask = 0;
|
||||
async->cb_func = NULL;
|
||||
async->cb_arg = NULL;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&s->spin_lock, flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
COMEDI_CANCEL
|
||||
cancel acquisition ioctl
|
||||
|
||||
arg:
|
||||
subdevice number
|
||||
|
||||
reads:
|
||||
nothing
|
||||
|
||||
writes:
|
||||
nothing
|
||||
|
||||
*/
|
||||
int comedi_cancel(void *d, unsigned int subdevice)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
int ret = 0;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
if (s->lock && s->lock != d)
|
||||
return -EACCES;
|
||||
|
||||
#if 0
|
||||
if (!s->busy)
|
||||
return 0;
|
||||
|
||||
if (s->busy != d)
|
||||
return -EBUSY;
|
||||
#endif
|
||||
|
||||
if (!s->cancel || !s->async)
|
||||
return -EINVAL;
|
||||
|
||||
ret = s->cancel(dev, s);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
comedi_set_subdevice_runflags(s, SRF_RUNNING | SRF_RT, 0);
|
||||
s->async->inttrig = NULL;
|
||||
s->busy = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
registration of callback functions
|
||||
*/
|
||||
int comedi_register_callback(void *d, unsigned int subdevice,
|
||||
unsigned int mask, int (*cb) (unsigned int,
|
||||
void *), void *arg)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
struct comedi_async *async;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
async = s->async;
|
||||
if (s->type == COMEDI_SUBD_UNUSED || !async)
|
||||
return -EIO;
|
||||
|
||||
/* are we locked? (ioctl lock) */
|
||||
if (s->lock && s->lock != d)
|
||||
return -EACCES;
|
||||
|
||||
/* are we busy? */
|
||||
if (s->busy)
|
||||
return -EBUSY;
|
||||
|
||||
if (!mask) {
|
||||
async->cb_mask = 0;
|
||||
async->cb_func = NULL;
|
||||
async->cb_arg = NULL;
|
||||
} else {
|
||||
async->cb_mask = mask;
|
||||
async->cb_func = cb;
|
||||
async->cb_arg = arg;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int comedi_poll(void *d, unsigned int subdevice)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s = dev->subdevices;
|
||||
struct comedi_async *async;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
async = s->async;
|
||||
if (s->type == COMEDI_SUBD_UNUSED || !async)
|
||||
return -EIO;
|
||||
|
||||
/* are we locked? (ioctl lock) */
|
||||
if (s->lock && s->lock != d)
|
||||
return -EACCES;
|
||||
|
||||
/* are we running? XXX wrong? */
|
||||
if (!s->busy)
|
||||
return -EIO;
|
||||
|
||||
return s->poll(dev, s);
|
||||
}
|
||||
|
||||
/* WARNING: not portable */
|
||||
int comedi_map(void *d, unsigned int subdevice, void *ptr)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
if (!s->async)
|
||||
return -EINVAL;
|
||||
|
||||
if (ptr)
|
||||
*((void **)ptr) = s->async->prealloc_buf;
|
||||
|
||||
/* XXX no reference counting */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* WARNING: not portable */
|
||||
int comedi_unmap(void *d, unsigned int subdevice)
|
||||
{
|
||||
struct comedi_device *dev = (struct comedi_device *)d;
|
||||
struct comedi_subdevice *s;
|
||||
|
||||
if (subdevice >= dev->n_subdevices)
|
||||
return -EINVAL;
|
||||
|
||||
s = dev->subdevices + subdevice;
|
||||
|
||||
if (!s->async)
|
||||
return -EINVAL;
|
||||
|
||||
/* XXX no reference counting */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue