diff options
| author | Linus Walleij <linus.walleij@linaro.org> | 2016-04-04 16:44:59 -0400 |
|---|---|---|
| committer | Vinod Koul <vinod.koul@intel.com> | 2016-04-05 19:53:41 -0400 |
| commit | f9cd476123ced488e628339becedb2cf3243a58a (patch) | |
| tree | 7b017a4a63b94bcb7e032b75e5fd432dcd0c694d /include/linux | |
| parent | f55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff) | |
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')
| -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 { | |||
| 86 | * @mem_buses: buses which memory can be accessed from: PL08X_AHB1 | PL08X_AHB2 | 86 | * @mem_buses: buses which memory can be accessed from: PL08X_AHB1 | PL08X_AHB2 |
| 87 | */ | 87 | */ |
| 88 | struct pl08x_platform_data { | 88 | struct pl08x_platform_data { |
| 89 | const struct pl08x_channel_data *slave_channels; | 89 | struct pl08x_channel_data *slave_channels; |
| 90 | unsigned int num_slave_channels; | 90 | unsigned int num_slave_channels; |
| 91 | struct pl08x_channel_data memcpy_channel; | 91 | struct pl08x_channel_data memcpy_channel; |
| 92 | int (*get_xfer_signal)(const struct pl08x_channel_data *); | 92 | int (*get_xfer_signal)(const struct pl08x_channel_data *); |
