Loading arch/arm/plat-spear/include/plat/pl080.h +3 −3 Original line number Diff line number Diff line Loading @@ -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 */ arch/arm/plat-spear/pl080.c +4 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading
arch/arm/plat-spear/include/plat/pl080.h +3 −3 Original line number Diff line number Diff line Loading @@ -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 */
arch/arm/plat-spear/pl080.c +4 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); }