]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: mite: pass subdevice to mite_sync_input_dma()
authorIan Abbott <abbotti@mev.co.uk>
Tue, 6 May 2014 12:12:16 +0000 (13:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 May 2014 12:25:50 +0000 (21:25 +0900)
`mite_sync_input_dma()` in the "mite" module currently takes a pointer
to a `struct comedi_async` and gets a pointer to the owning `struct
comedi_subdevice` from the `subdevice` member.  Change it to take a
pointer to a `struct comedi_subdevice` and use the `async` member.

The motivation for this is to eliminate the `subdevice` member of
`struct comedi_async`.

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>
drivers/staging/comedi/drivers/mite.c
drivers/staging/comedi/drivers/mite.h
drivers/staging/comedi/drivers/ni_660x.c
drivers/staging/comedi/drivers/ni_mio_common.c
drivers/staging/comedi/drivers/ni_pcidio.c
drivers/staging/comedi/drivers/ni_tiocmd.c

index 2d224cfe72e375fe8ffcfc9691e09152322526b4..f473841e18014e3707dc2c49b88a37b974cd22af 100644 (file)
@@ -526,9 +526,9 @@ void mite_dma_disarm(struct mite_channel *mite_chan)
 EXPORT_SYMBOL_GPL(mite_dma_disarm);
 
 int mite_sync_input_dma(struct mite_channel *mite_chan,
-                       struct comedi_async *async)
+                       struct comedi_subdevice *s)
 {
-       struct comedi_subdevice *s = async->subdevice;
+       struct comedi_async *async = s->async;
        int count;
        unsigned int nbytes, old_alloc_count;
 
index 929b9bb3fcedecfa9e3902ffd105b72d45ae125b..ba3ad0cf014faa4a2322870c9dfbd8df2128d895 100644 (file)
@@ -106,7 +106,7 @@ unsigned mite_dma_tcr(struct mite_channel *mite_chan);
 void mite_dma_arm(struct mite_channel *mite_chan);
 void mite_dma_disarm(struct mite_channel *mite_chan);
 int mite_sync_input_dma(struct mite_channel *mite_chan,
-                       struct comedi_async *async);
+                       struct comedi_subdevice *s);
 int mite_sync_output_dma(struct mite_channel *mite_chan,
                         struct comedi_async *async);
 u32 mite_bytes_written_to_memory_lb(struct mite_channel *mite_chan);
index 3901e3b5ba5115c1c3929eec2430ef251e363772..634cde83a02ba6eec64399cc546ca44781ffdab9 100644 (file)
@@ -823,7 +823,7 @@ static int ni_660x_input_poll(struct comedi_device *dev,
 
        /* lock to avoid race with comedi_poll */
        spin_lock_irqsave(&devpriv->interrupt_lock, flags);
-       mite_sync_input_dma(counter->mite_chan, s->async);
+       mite_sync_input_dma(counter->mite_chan, s);
        spin_unlock_irqrestore(&devpriv->interrupt_lock, flags);
        return comedi_buf_read_n_available(s);
 }
index e54488c2eb5ad125c8dd77844710a223e8c98d34..953130b37fdaeb1b535d9350b687fc0c3bd82fed 100644 (file)
@@ -864,7 +864,7 @@ static void ni_sync_ai_dma(struct comedi_device *dev)
 
        spin_lock_irqsave(&devpriv->mite_channel_lock, flags);
        if (devpriv->ai_mite_chan)
-               mite_sync_input_dma(devpriv->ai_mite_chan, s->async);
+               mite_sync_input_dma(devpriv->ai_mite_chan, s);
        spin_unlock_irqrestore(&devpriv->mite_channel_lock, flags);
 }
 
index 1f8423504031b15afd3c5539ea232ce5b0f3f7ab..14aaa58bbc9db3e838887ba108cb02682309c725 100644 (file)
@@ -359,7 +359,7 @@ static int ni_pcidio_poll(struct comedi_device *dev, struct comedi_subdevice *s)
        spin_lock_irqsave(&dev->spinlock, irq_flags);
        spin_lock(&devpriv->mite_channel_lock);
        if (devpriv->di_mite_chan)
-               mite_sync_input_dma(devpriv->di_mite_chan, s->async);
+               mite_sync_input_dma(devpriv->di_mite_chan, s);
        spin_unlock(&devpriv->mite_channel_lock);
        count = s->async->buf_write_count - s->async->buf_read_count;
        spin_unlock_irqrestore(&dev->spinlock, irq_flags);
@@ -405,7 +405,7 @@ static irqreturn_t nidio_interrupt(int irq, void *d)
                        writel(CHOR_CLRLC,
                               mite->mite_io_addr +
                               MITE_CHOR(devpriv->di_mite_chan->channel));
-                       mite_sync_input_dma(devpriv->di_mite_chan, s->async);
+                       mite_sync_input_dma(devpriv->di_mite_chan, s);
                        /* XXX need to byteswap */
                }
                if (m_status & ~(CHSR_INT | CHSR_LINKC | CHSR_DONE | CHSR_DRDY |
index 9cc77c0b2f0ff5ccd5a3ce2b3bc1521e60aefb23..2557ab48cb6caf33dccb9bdbe519e24ad02dc8cf 100644 (file)
@@ -464,7 +464,7 @@ void ni_tio_handle_interrupt(struct ni_gpct *counter,
                       counter->mite_chan->mite->mite_io_addr +
                       MITE_CHOR(counter->mite_chan->channel));
        }
-       mite_sync_input_dma(counter->mite_chan, s->async);
+       mite_sync_input_dma(counter->mite_chan, s);
        spin_unlock_irqrestore(&counter->lock, flags);
 }
 EXPORT_SYMBOL_GPL(ni_tio_handle_interrupt);