cadence_qspi.c and cadence_ospi_versal.c call xilinx_pm_request()
directly in a few places, guarded by IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)
checks. This series replaces those with named weak/strong wrapper
pairs (zynqmp_pm_ospi_init(), zynqmp_pm_ospi_enable_linear_mode(),
zynqmp_pm_ospi_flash_reset()): a no-op or raw-MMIO weak default per
platform, and a firmware-backed override in firmware-zynqmp.c.

Akshay Belsare (6):
  power: firmware: zynqmp: add shared request_node() helper
  spi: cadence_qspi: Abstract PM node requests behind firmware helper
  spi: cadence_ospi_versal: decouple OSPI mux selection from firmware
    calls
  spi: cadence_qspi: propagate mux-select failure instead of only
    logging it
  firmware: zynqmp: add OSPI flash reset IOCTL wrapper
  spi: cadence_ospi_versal: route OSPI flash reset through firmware

 arch/arm/mach-versal-net/cpu.c                | 63 +++++++++++++++
 .../mach-versal-net/include/mach/sys_proto.h  |  8 ++
 arch/arm/mach-versal/cpu.c                    | 63 +++++++++++++++
 arch/arm/mach-versal/include/mach/sys_proto.h |  8 ++
 arch/arm/mach-versal2/cpu.c                   | 63 +++++++++++++++
 .../arm/mach-versal2/include/mach/sys_proto.h |  8 ++
 drivers/firmware/firmware-zynqmp.c            | 38 +++++++++
 drivers/power/domain/zynqmp-power-domain.c    |  7 --
 drivers/spi/cadence_ospi_versal.c             | 77 ++++---------------
 drivers/spi/cadence_qspi.c                    | 12 ++-
 drivers/spi/cadence_qspi.h                    |  3 +-
 drivers/spi/cadence_qspi_apb.c                | 15 +++-
 include/zynqmp_firmware.h                     | 17 ++--
 13 files changed, 298 insertions(+), 84 deletions(-)

--
2.25.1

Reply via email to