The probe function of the atmel-quadspi driver got quite convoluted, especially since the addition of SAMA7G5 support, that was forward-ported from an older vendor kernel. To alleivate this - and similar problems in the future - an effort was made to migrate as many functions as possible, to their devm_ managed counterparts. The few functions, which did not yet have a devm_ variant, are added in patch 1 and 2 of this series. Patch 3 and 4 then use these APIs to simplify and fix the probe() function. Change in v2: rebased onto Linus' master, which is: commit bc8198dc7ebc ("Merge tag 'sched_ext-for-6.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext") Bence Csókás (4): dma: Add devm_dma_request_chan() pm: runtime: Add new devm functions spi: atmel-quadspi: Use `devm_dma_request_chan()` spi: atmel-quadspi: Fix unbalanced pm_runtime by using devm_ API drivers/base/power/runtime.c | 36 +++++++++++++++++++++ drivers/dma/dmaengine.c | 30 +++++++++++++++++ drivers/spi/atmel-quadspi.c | 62 ++++++++++-------------------------- include/linux/dmaengine.h | 7 ++++ include/linux/pm_runtime.h | 4 +++ 5 files changed, 93 insertions(+), 46 deletions(-) -- 2.48.1