The `async` member of `struct comedi_subdevice` may point to a `struct
comedi_async` or may be NULL.  The `subdevice` member of `struct
comedi_async` points back to the `struct comedi_subdevice` associated
with it in a one-to-one relationship.
All uses of the `subdevice` member of `struct comedi_async` apart from
its initialization have now been removed (by passing around a pointer to
the subdevice instead of to the "async" structure), so get rid of it.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 };
 
 struct comedi_async {
-       struct comedi_subdevice *subdevice;
-
        void *prealloc_buf;     /* pre-allocated buffer */
        unsigned int prealloc_bufsz;    /* buffer size, in bytes */
        struct comedi_buf_map *buf_map; /* map of buffer pages */
 
                return -ENOMEM;
 
        init_waitqueue_head(&async->wait_head);
-       async->subdevice = s;
        s->async = async;
 
        async->max_bufsize = comedi_default_buf_maxsize_kb * 1024;