The introduced include/linux/dma/dw.h is going to contain the private extensions and structures which are shared for dw_dmac users in the kernel. Meanwhile include/linux/platform_data/dma-dw.h keeps only platform related data types and definitions. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- drivers/dma/dw/internal.h | 2 ++ include/linux/dma/dw.h | 37 ++++++++++++++++++++++++++++++++++++ include/linux/platform_data/dma-dw.h | 27 ++++---------------------- sound/atmel/abdac.c | 4 +++- sound/atmel/ac97c.c | 1 + 5 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 include/linux/dma/dw.h diff --git a/drivers/dma/dw/internal.h b/drivers/dma/dw/internal.h index 82258a1..9a886e3 100644 --- a/drivers/dma/dw/internal.h +++ b/drivers/dma/dw/internal.h @@ -12,6 +12,8 @@ #define _DW_DMAC_INTERNAL_H #include <linux/device.h> + +#include <linux/dma/dw.h> #include <linux/platform_data/dma-dw.h> #include "regs.h" diff --git a/include/linux/dma/dw.h b/include/linux/dma/dw.h new file mode 100644 index 0000000..2475613 --- /dev/null +++ b/include/linux/dma/dw.h @@ -0,0 +1,37 @@ +/* + * Driver for the Synopsys DesignWare DMA Controller + * + * Copyright (C) 2007 Atmel Corporation + * Copyright (C) 2010-2011 ST Microelectronics + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef _DMA_DW_H +#define _DMA_DW_H + +#include <linux/dmaengine.h> + +/* DMA API extensions */ +struct dw_desc; + +struct dw_cyclic_desc { + struct dw_desc **desc; + unsigned long periods; + void (*period_callback)(void *param); + void *period_callback_param; +}; + +struct dw_cyclic_desc *dw_dma_cyclic_prep(struct dma_chan *chan, + dma_addr_t buf_addr, size_t buf_len, size_t period_len, + enum dma_transfer_direction direction); +void dw_dma_cyclic_free(struct dma_chan *chan); +int dw_dma_cyclic_start(struct dma_chan *chan); +void dw_dma_cyclic_stop(struct dma_chan *chan); + +dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); + +dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); + +#endif /* _DMA_DW_H */ diff --git a/include/linux/platform_data/dma-dw.h b/include/linux/platform_data/dma-dw.h index d0c97da..d8155c0 100644 --- a/include/linux/platform_data/dma-dw.h +++ b/include/linux/platform_data/dma-dw.h @@ -8,10 +8,10 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#ifndef DW_DMAC_H -#define DW_DMAC_H +#ifndef _PLATFORM_DATA_DMA_DW_H +#define _PLATFORM_DATA_DMA_DW_H -#include <linux/dmaengine.h> +#include <linux/device.h> /** * struct dw_dma_slave - Controller-specific information about a slave @@ -56,23 +56,4 @@ struct dw_dma_platform_data { unsigned char data_width[4]; }; -/* DMA API extensions */ -struct dw_cyclic_desc { - struct dw_desc **desc; - unsigned long periods; - void (*period_callback)(void *param); - void *period_callback_param; -}; - -struct dw_cyclic_desc *dw_dma_cyclic_prep(struct dma_chan *chan, - dma_addr_t buf_addr, size_t buf_len, size_t period_len, - enum dma_transfer_direction direction); -void dw_dma_cyclic_free(struct dma_chan *chan); -int dw_dma_cyclic_start(struct dma_chan *chan); -void dw_dma_cyclic_stop(struct dma_chan *chan); - -dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); - -dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); - -#endif /* DW_DMAC_H */ +#endif /* _PLATFORM_DATA_DMA_DW_H */ diff --git a/sound/atmel/abdac.c b/sound/atmel/abdac.c index 154a7c4..31061e3 100644 --- a/sound/atmel/abdac.c +++ b/sound/atmel/abdac.c @@ -9,7 +9,6 @@ */ #include <linux/clk.h> #include <linux/bitmap.h> -#include <linux/platform_data/dma-dw.h> #include <linux/dmaengine.h> #include <linux/dma-mapping.h> #include <linux/init.h> @@ -25,6 +24,9 @@ #include <sound/pcm_params.h> #include <sound/atmel-abdac.h> +#include <linux/platform_data/dma-dw.h> +#include <linux/dma/dw.h> + /* DAC register offsets */ #define DAC_DATA 0x0000 #define DAC_CTRL 0x0008 diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index 1dfb35a..b59427d 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -32,6 +32,7 @@ #include <sound/memalloc.h> #include <linux/platform_data/dma-dw.h> +#include <linux/dma/dw.h> #include <mach/cpu.h> -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html