Commit 91b59009 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Bjorn Andersson
Browse files

soc: qcom: ocmem: return -EPROBE_DEFER is ocmem is not available



If OCMEM is declared in DT, it is expected that it is present and
handled by the driver. The GPU driver will ignore -ENODEV error, which
typically means that OCMEM isn't defined in DT. Let ocmem return
-EPROBE_DEFER if it supposed to be used, but it is not probed (yet).

Fixes: 88c1e940 ("soc: qcom: add OCMEM driver")
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260323-ocmem-v1-3-ad9bcae44763@oss.qualcomm.com


[bjorn: s/ERR_PTR(dev_err_probe)/dev_err_ptr_probe/
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 9dfd69cd
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -203,10 +203,9 @@ struct ocmem *of_get_ocmem(struct device *dev)

	ocmem = platform_get_drvdata(pdev);
	put_device(&pdev->dev);
	if (!ocmem) {
		dev_err(dev, "Cannot get ocmem\n");
		return ERR_PTR(-ENODEV);
	}
	if (!ocmem)
		return dev_err_ptr_probe(dev, -EPROBE_DEFER, "Cannot get ocmem\n");

	return ocmem;
}
EXPORT_SYMBOL_GPL(of_get_ocmem);