I started out by augmenting the STE DMA40 driver to get its LCPA SRAM memory from a proper SRAM handle in the device tree instead of as a reg cell, and then I saw that the driver was in a bit of sad state so I did a bit of cleanups on top. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- Changes in v2: - Amendments to the bindings after review. - Link to v1: https://lore.kernel.org/r/20230417-ux500-dma40-cleanup-v1-0-b26324956e47@xxxxxxxxxx --- Linus Walleij (8): dt-bindings: dma: dma40: Prefer to pass sram through phandle dmaengine: ste_dma40: Get LCPA SRAM from SRAM node dmaengine: ste_dma40: Add dev helper variable dmaengine: ste_dma40: Remove platform data dmaengine: ste_dma40: Pass dev to OF function dmaengine: ste_dma40: Use managed resources dmaengine: ste_dma40: Return error codes properly ARM: dts: ux500: Add eSRAM nodes .../devicetree/bindings/dma/stericsson,dma40.yaml | 36 ++- arch/arm/boot/dts/ste-dbx5x0.dtsi | 73 ++++- drivers/dma/Kconfig | 1 + drivers/dma/ste_dma40.c | 336 +++++++++------------ .../dma-ste-dma40.h => drivers/dma/ste_dma40.h | 101 +------ drivers/dma/ste_dma40_ll.c | 3 +- 6 files changed, 254 insertions(+), 296 deletions(-) --- base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6 change-id: 20230417-ux500-dma40-cleanup-fe4f8d9b19c5 Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>