drivers: qcom: rpmh-rsc: Check cmd_db_ready() to help children
Children of RPMh will need access to cmd_db. Rather than having each child have code to check if cmd_db is ready let's add the check to RPMh. With this we'll be able to remove this boilerplate code from clk-rpmh.c and qcom-rpmh-regulator.c. Neither of these files has landed upstream yet but patches are pretty far along. === This code is based upon v11 of Lina and Raju's RPMh series. Suggested-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Acked-by: Lina Iyer <ilina@codeaurora.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
This commit is contained in:
parent
2de4b8d33e
commit
fdd102b52c
|
@ -18,6 +18,7 @@
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
|
|
||||||
|
#include <soc/qcom/cmd-db.h>
|
||||||
#include <soc/qcom/tcs.h>
|
#include <soc/qcom/tcs.h>
|
||||||
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
|
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
|
||||||
|
|
||||||
|
@ -621,6 +622,18 @@ static int rpmh_rsc_probe(struct platform_device *pdev)
|
||||||
struct rsc_drv *drv;
|
struct rsc_drv *drv;
|
||||||
int ret, irq;
|
int ret, irq;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Even though RPMh doesn't directly use cmd-db, all of its children
|
||||||
|
* do. To avoid adding this check to our children we'll do it now.
|
||||||
|
*/
|
||||||
|
ret = cmd_db_ready();
|
||||||
|
if (ret) {
|
||||||
|
if (ret != -EPROBE_DEFER)
|
||||||
|
dev_err(&pdev->dev, "Command DB not available (%d)\n",
|
||||||
|
ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
|
drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
|
||||||
if (!drv)
|
if (!drv)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue