Hi all, The Renesas RPC-IF provides either HyperFlash or SPI host access. To handle this, three drivers are used: 1. The RPC-IF core diver, 2. An HyperFlash child driver, 3. An SPI child driver. Currently this driver collection suffers from a sub-optimal division of roles and reponsibilities, leading to (un)bind issues: after manually unbinding the child driver, rebinding the child driver fails with -EBUSY. This patch series aims to fix this, by splitting off private data and making the RPC-IF core driver responsible for resource acquisition. After that, a few customary cleanups are provided. This has been tested on the Salvator-X(S) and Ebisu-4D (HyperFlash) and White-Hawk (QSPI FLASH) development boards. Changes compared to v1[1]: - Move the two fixes forward and add Fixes-tags to ease backporting, as requested by Krzysztof, - Add Acked-by, - Rebased cleanups, - Remove Runtime PM wrappers, - Drop patch to add system suspend/resume support to the RPC-IF core driver, as this is apparently not needed on R-Car M3-N and R-Car E3, nor fixes the issue on R-Car H3 ES2.0. I will reply to the original patch with my latest investigation results. Thanks for your comments! [1] [PATCH 0/7] memory: renesas-rpc-if: Rebind and s2ram fixes https://lore.kernel.org/r/cover.1656341824.git.geert+renesas@xxxxxxxxx Geert Uytterhoeven (6): memory: renesas-rpc-if: Split-off private data from struct rpcif memory: renesas-rpc-if: Move resource acquisition to .probe() memory: renesas-rpc-if: Always use dev in rpcif_probe() memory: renesas-rpc-if: Improve Runtime PM handling memory: renesas-rpc-if: Pass device instead of rpcif to rpcif_*() memory: renesas-rpc-if: Remove Runtime PM wrappers drivers/memory/renesas-rpc-if.c | 152 ++++++++++++++++++++------------ drivers/mtd/hyperbus/rpc-if.c | 18 ++-- drivers/spi/spi-rpc-if.c | 14 +-- include/memory/renesas-rpc-if.h | 34 +------ 4 files changed, 118 insertions(+), 100 deletions(-) -- 2.25.1 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds