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> --- Linus Walleij (7): 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 .../devicetree/bindings/dma/stericsson,dma40.yaml | 35 ++- 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 +- 5 files changed, 182 insertions(+), 294 deletions(-) --- base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6 change-id: 20230417-ux500-dma40-cleanup-fe4f8d9b19c5 Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>