]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: spear: update for PL08x dma engine changes
authorRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 8 Jun 2012 08:46:23 +0000 (09:46 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 1 Jul 2012 13:15:39 +0000 (14:15 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/plat-spear/include/plat/pl080.h
arch/arm/plat-spear/pl080.c

index 2bc6b54460a80245db72a745e75de6237ae11405..eb6590ded40dfdaec09b08a7eaf415b4211733ee 100644 (file)
@@ -14,8 +14,8 @@
 #ifndef __PLAT_PL080_H
 #define __PLAT_PL080_H
 
-struct pl08x_dma_chan;
-int pl080_get_signal(struct pl08x_dma_chan *ch);
-void pl080_put_signal(struct pl08x_dma_chan *ch);
+struct pl08x_channel_data;
+int pl080_get_signal(const struct pl08x_channel_data *cd);
+void pl080_put_signal(const struct pl08x_channel_data *cd, int signal);
 
 #endif /* __PLAT_PL080_H */
index 12cf27f935f97372854cc1a0bd2c41251971499f..cfa1199d0f4a86152fddfae9f83d3074c330e3a8 100644 (file)
@@ -27,9 +27,8 @@ struct {
        unsigned char val;
 } signals[16] = {{0, 0}, };
 
-int pl080_get_signal(struct pl08x_dma_chan *ch)
+int pl080_get_signal(const struct pl08x_channel_data *cd)
 {
-       const struct pl08x_channel_data *cd = ch->cd;
        unsigned int signal = cd->min_signal, val;
        unsigned long flags;
 
@@ -63,18 +62,17 @@ int pl080_get_signal(struct pl08x_dma_chan *ch)
        return signal;
 }
 
-void pl080_put_signal(struct pl08x_dma_chan *ch)
+void pl080_put_signal(const struct pl08x_channel_data *cd, int signal)
 {
-       const struct pl08x_channel_data *cd = ch->cd;
        unsigned long flags;
 
        spin_lock_irqsave(&lock, flags);
 
        /* if signal is not used */
-       if (!signals[cd->min_signal].busy)
+       if (!signals[signal].busy)
                BUG();
 
-       signals[cd->min_signal].busy--;
+       signals[signal].busy--;
 
        spin_unlock_irqrestore(&lock, flags);
 }