From: Alice Guo <alice.guo@xxxxxxx> In patch "soc: imx8m: change to use platform driver", change soc-imx8m.c to use module platform driver and use NVMEM APIs to ocotp register, the reason is that directly reading ocotp egister causes kexec kernel hang because kernel will disable unused clks after kernel boots up. This patch makes the SoC driver ready. This patch makes the SoC driver ready later than before, and causes device depends on soc_device_match() for initialization are affected, resulting in kernel boot error. CAAM driver is one of these affected drivers. It uses soc_device_match() to find the first matching entry of caam_imx_soc_table, if none of them match, the next instruction will be executed without any processing because CAAM driver is used not only on i.MX and LS, but also PPC and Vybrid. We hope that soc_device_match() could support to return -EPROBE_DEFER(or some other error code, e.g. -ENODEV, but not NULL) in case of “no SoC device registered” to SoC bus. We tried it and updated all the code that is using soc_device_match() throughout the tree. Alice Guo (3): drivers: soc: add support for soc_device_match returning -EPROBE_DEFER caam: add defer probe when the caam driver cannot identify SoC driver: update all the code that use soc_device_match drivers/base/soc.c | 5 +++++ drivers/bus/ti-sysc.c | 2 +- drivers/clk/renesas/r8a7795-cpg-mssr.c | 4 +++- drivers/clk/renesas/rcar-gen2-cpg.c | 2 +- drivers/clk/renesas/rcar-gen3-cpg.c | 2 +- drivers/crypto/caam/ctrl.c | 3 +++ drivers/dma/fsl-dpaa2-qdma/dpaa2-qdma.c | 7 ++++++- drivers/dma/ti/k3-psil.c | 3 +++ drivers/dma/ti/k3-udma.c | 2 +- drivers/gpu/drm/bridge/nwl-dsi.c | 2 +- drivers/gpu/drm/meson/meson_drv.c | 4 +++- drivers/gpu/drm/omapdrm/dss/dispc.c | 2 +- drivers/gpu/drm/omapdrm/dss/dpi.c | 4 +++- drivers/gpu/drm/omapdrm/dss/dsi.c | 3 +++ drivers/gpu/drm/omapdrm/dss/dss.c | 3 +++ drivers/gpu/drm/omapdrm/dss/hdmi4_core.c | 3 +++ drivers/gpu/drm/omapdrm/dss/venc.c | 4 +++- drivers/gpu/drm/omapdrm/omap_drv.c | 3 +++ drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 4 +++- drivers/gpu/drm/rcar-du/rcar_lvds.c | 2 +- drivers/gpu/drm/tidss/tidss_dispc.c | 4 +++- drivers/iommu/ipmmu-vmsa.c | 7 +++++-- drivers/media/platform/rcar-vin/rcar-core.c | 2 +- drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +- drivers/media/platform/vsp1/vsp1_uif.c | 4 +++- drivers/mmc/host/renesas_sdhi_core.c | 2 +- drivers/mmc/host/renesas_sdhi_internal_dmac.c | 2 +- drivers/mmc/host/sdhci-of-esdhc.c | 21 ++++++++++++++----- drivers/mmc/host/sdhci-omap.c | 2 +- drivers/mmc/host/sdhci_am654.c | 2 +- drivers/net/ethernet/renesas/ravb_main.c | 4 +++- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +- drivers/net/ethernet/ti/cpsw.c | 2 +- drivers/net/ethernet/ti/cpsw_new.c | 2 +- drivers/phy/ti/phy-omap-usb2.c | 4 +++- drivers/pinctrl/renesas/core.c | 2 +- drivers/pinctrl/renesas/pfc-r8a7790.c | 5 ++++- drivers/pinctrl/renesas/pfc-r8a7794.c | 5 ++++- drivers/soc/fsl/dpio/dpio-driver.c | 13 ++++++++---- drivers/soc/renesas/r8a774c0-sysc.c | 5 ++++- drivers/soc/renesas/r8a7795-sysc.c | 2 +- drivers/soc/renesas/r8a77990-sysc.c | 5 ++++- drivers/soc/ti/k3-ringacc.c | 2 +- drivers/staging/mt7621-pci/pci-mt7621.c | 2 +- drivers/thermal/rcar_gen3_thermal.c | 4 +++- drivers/thermal/ti-soc-thermal/ti-bandgap.c | 10 +++++++-- drivers/usb/gadget/udc/renesas_usb3.c | 2 +- drivers/usb/host/ehci-platform.c | 4 +++- drivers/usb/host/xhci-rcar.c | 2 +- drivers/watchdog/renesas_wdt.c | 2 +- 50 files changed, 139 insertions(+), 52 deletions(-) -- 2.17.1