diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2016-04-04 22:44:59 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-04-05 16:53:41 -0700 |
commit | f9cd476123ced488e628339becedb2cf3243a58a (patch) | |
tree | 7b017a4a63b94bcb7e032b75e5fd432dcd0c694d /include/linux/amba | |
parent | f55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff) | |
download | linux-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.h | 2 |
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 *); |