diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2012-10-18 17:34:12 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-01-07 22:04:52 -0800 |
commit | e63a47a361e03eaf79e0f2f6cdaca8e7679d1867 (patch) | |
tree | 0cbd9b8403484048fbf97f5d4efa3a6df1d53274 | |
parent | ba84bd7146b9244de0ce04cdc668521a73f5336f (diff) | |
download | op-kernel-dev-e63a47a361e03eaf79e0f2f6cdaca8e7679d1867.zip op-kernel-dev-e63a47a361e03eaf79e0f2f6cdaca8e7679d1867.tar.gz |
dw_dmac: introduce to_dw_desc() macro
The to_dw_desc() macro helps to retrieve the dw_desc node from the
corresponding list_head structure.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
-rw-r--r-- | drivers/dma/dw_dmac.c | 6 | ||||
-rw-r--r-- | drivers/dma/dw_dmac_regs.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index 9a27fb7..476e9c8 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c @@ -93,7 +93,7 @@ static struct device *chan2parent(struct dma_chan *chan) static struct dw_desc *dwc_first_active(struct dw_dma_chan *dwc) { - return list_entry(dwc->active_list.next, struct dw_desc, desc_node); + return to_dw_desc(dwc->active_list.next); } static struct dw_desc *dwc_desc_get(struct dw_dma_chan *dwc) @@ -600,9 +600,7 @@ static void dw_dma_tasklet(unsigned long data) if (test_bit(DW_DMA_IS_SOFT_LLP, &dwc->flags)) { if (dwc->tx_node_active != dwc->tx_list) { struct dw_desc *desc = - list_entry(dwc->tx_node_active, - struct dw_desc, - desc_node); + to_dw_desc(dwc->tx_node_active); dma_writel(dw, CLEAR.XFER, dwc->mask); diff --git a/drivers/dma/dw_dmac_regs.h b/drivers/dma/dw_dmac_regs.h index 88a069f..8881e9b 100644 --- a/drivers/dma/dw_dmac_regs.h +++ b/drivers/dma/dw_dmac_regs.h @@ -299,6 +299,8 @@ struct dw_desc { size_t len; }; +#define to_dw_desc(h) list_entry(h, struct dw_desc, desc_node) + static inline struct dw_desc * txd_to_dw_desc(struct dma_async_tx_descriptor *txd) { |