summaryrefslogtreecommitdiffstats
path: root/include/linux/amba
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2016-04-04 22:44:59 +0200
committerVinod Koul <vinod.koul@intel.com>2016-04-05 16:53:41 -0700
commitf9cd476123ced488e628339becedb2cf3243a58a (patch)
tree7b017a4a63b94bcb7e032b75e5fd432dcd0c694d /include/linux/amba
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
downloadlinux-f9cd476123ced488e628339becedb2cf3243a58a.tar.gz
linux-f9cd476123ced488e628339becedb2cf3243a58a.tar.bz2
linux-f9cd476123ced488e628339becedb2cf3243a58a.zip
dmaengine: pl08x: allocate OF slave channel data at probe time
The current OF translation of channels can never work with any DMA client using the DMA channels directly: the only way to get the channels initialized properly is in the dma_async_device_register() call, where chan->dev etc is allocated and initialized. Allocate and initialize all possible DMA channels and only augment a target channel with the periph_buses at of_xlate(). Remove some const settings to make things work. Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Tested-by: Joachim Eastwood <manabian@gmail.com> Tested-by: Johannes Stezenbach <js@sig21.net> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'include/linux/amba')
-rw-r--r--include/linux/amba/pl08x.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/amba/pl08x.h b/include/linux/amba/pl08x.h
index 10fe2a211c2e..27e9ec8778eb 100644
--- a/include/linux/amba/pl08x.h
+++ b/include/linux/amba/pl08x.h
@@ -86,7 +86,7 @@ struct pl08x_channel_data {
* @mem_buses: buses which memory can be accessed from: PL08X_AHB1 | PL08X_AHB2
*/
struct pl08x_platform_data {
- const struct pl08x_channel_data *slave_channels;
+ struct pl08x_channel_data *slave_channels;
unsigned int num_slave_channels;
struct pl08x_channel_data memcpy_channel;
int (*get_xfer_signal)(const struct pl08x_channel_data *);