Commit c265be01 authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman

staging: comedi: remove unused command callback support

The 'kcomedilib' module used to provide functions to allow asynchronous
comedi commands to be set up from another kernel module, but now
commands can only be set up by ioctls from user space via the core
comedi module.  Since support for commands initiated from kernel space
has been dropped, the `cb_func` and `cb_arg` members of `struct
comedi_async` are never set (although the `cb_mask` member is still used
to mask comedi events).  The `SRF_USER` bit of the comedi subdevice
runflags is no longer needed to distinguish commands from user and
kernel space since they only come from user space.

Don't bother setting or testing the `SRF_USER` flag, and get rid of it,
along with the `cb_func` and `cb_arg` members.
Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5fb0a2fa
...@@ -1469,8 +1469,7 @@ static int do_cmd_ioctl(struct comedi_device *dev, ...@@ -1469,8 +1469,7 @@ static int do_cmd_ioctl(struct comedi_device *dev,
if (async->cmd.flags & TRIG_WAKE_EOS) if (async->cmd.flags & TRIG_WAKE_EOS)
async->cb_mask |= COMEDI_CB_EOS; async->cb_mask |= COMEDI_CB_EOS;
comedi_set_subdevice_runflags(s, SRF_USER | SRF_ERROR | SRF_RUNNING, comedi_set_subdevice_runflags(s, SRF_ERROR | SRF_RUNNING, SRF_RUNNING);
SRF_USER | SRF_RUNNING);
/* set s->busy _after_ setting SRF_RUNNING flag to avoid race with /* set s->busy _after_ setting SRF_RUNNING flag to avoid race with
* comedi_read() or comedi_write() */ * comedi_read() or comedi_write() */
...@@ -1700,8 +1699,7 @@ static int do_cancel_ioctl(struct comedi_device *dev, unsigned int arg, ...@@ -1700,8 +1699,7 @@ static int do_cancel_ioctl(struct comedi_device *dev, unsigned int arg,
return -EBUSY; return -EBUSY;
ret = do_cancel(dev, s); ret = do_cancel(dev, s);
if (comedi_get_subdevice_runflags(s) & SRF_USER) wake_up_interruptible(&s->async->wait_head);
wake_up_interruptible(&s->async->wait_head);
return ret; return ret;
} }
...@@ -2368,16 +2366,11 @@ void comedi_event(struct comedi_device *dev, struct comedi_subdevice *s) ...@@ -2368,16 +2366,11 @@ void comedi_event(struct comedi_device *dev, struct comedi_subdevice *s)
} }
if (async->cb_mask & s->async->events) { if (async->cb_mask & s->async->events) {
if (comedi_get_subdevice_runflags(s) & SRF_USER) { wake_up_interruptible(&async->wait_head);
wake_up_interruptible(&async->wait_head); if (s->subdev_flags & SDF_CMD_READ)
if (s->subdev_flags & SDF_CMD_READ) kill_fasync(&dev->async_queue, SIGIO, POLL_IN);
kill_fasync(&dev->async_queue, SIGIO, POLL_IN); if (s->subdev_flags & SDF_CMD_WRITE)
if (s->subdev_flags & SDF_CMD_WRITE) kill_fasync(&dev->async_queue, SIGIO, POLL_OUT);
kill_fasync(&dev->async_queue, SIGIO, POLL_OUT);
} else {
if (async->cb_func)
async->cb_func(s->async->events, async->cb_arg);
}
} }
s->async->events = 0; s->async->events = 0;
} }
......
...@@ -141,10 +141,7 @@ struct comedi_async { ...@@ -141,10 +141,7 @@ struct comedi_async {
wait_queue_head_t wait_head; wait_queue_head_t wait_head;
/* callback stuff */
unsigned int cb_mask; unsigned int cb_mask;
int (*cb_func) (unsigned int flags, void *);
void *cb_arg;
int (*inttrig) (struct comedi_device *dev, struct comedi_subdevice *s, int (*inttrig) (struct comedi_device *dev, struct comedi_subdevice *s,
unsigned int x); unsigned int x);
...@@ -240,7 +237,6 @@ void stop_polling(struct comedi_device *); ...@@ -240,7 +237,6 @@ void stop_polling(struct comedi_device *);
/* subdevice runflags */ /* subdevice runflags */
enum subdevice_runflags { enum subdevice_runflags {
SRF_USER = 0x00000001,
SRF_RT = 0x00000002, SRF_RT = 0x00000002,
/* indicates an COMEDI_CB_ERROR event has occurred since the last /* indicates an COMEDI_CB_ERROR event has occurred since the last
* command was started */ * command was started */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment