When the k3 socinfo driver is built as a module, there is a possibility that it will probe after the k3 udma driver and the later returns -ENODEV. By deferring the k3 udma probe we allow the k3 socinfo to probe and register the soc_device_attribute structure needed by the k3 udma driver. Removed the dev_err() message as well as it's deferring and not failing. Signed-off-by: Nicolas Frayer <nfrayer@xxxxxxxxxxxx> --- v1->v2: Extracted this patch from the following series: https://lore.kernel.org/all/20221108181144.433087-1-nfrayer@xxxxxxxxxxxx/ v2->v3: Removed the dev_err() message drivers/dma/ti/k3-udma.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index ce8b80bb34d7..ca1512eb9910 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -5271,10 +5271,10 @@ static int udma_probe(struct platform_device *pdev) ud->match_data = match->data; soc = soc_device_match(k3_soc_devices); - if (!soc) { - dev_err(dev, "No compatible SoC found\n"); - return -ENODEV; - } + + if (!soc) + return -EPROBE_DEFER; + ud->soc_data = soc->data; ret = udma_get_mmrs(pdev, ud); -- 2.25.1