Lines Matching refs:scm

1362 static int qcom_scm_waitq_wakeup(struct qcom_scm *scm, unsigned int wq_ctx)  in qcom_scm_waitq_wakeup()  argument
1378 struct qcom_scm *scm = data; in qcom_scm_irq_handler() local
1384 dev_err(scm->dev, "GET_WQ_CTX SMC call failed: %d\n", ret); in qcom_scm_irq_handler()
1390 dev_err(scm->dev, "Invalid flags found for wq_ctx: %u\n", flags); in qcom_scm_irq_handler()
1394 ret = qcom_scm_waitq_wakeup(scm, wq_ctx); in qcom_scm_irq_handler()
1405 struct qcom_scm *scm; in qcom_scm_probe() local
1409 scm = devm_kzalloc(&pdev->dev, sizeof(*scm), GFP_KERNEL); in qcom_scm_probe()
1410 if (!scm) in qcom_scm_probe()
1413 ret = qcom_scm_find_dload_address(&pdev->dev, &scm->dload_mode_addr); in qcom_scm_probe()
1417 mutex_init(&scm->scm_bw_lock); in qcom_scm_probe()
1421 scm->path = devm_of_icc_get(&pdev->dev, NULL); in qcom_scm_probe()
1422 if (IS_ERR(scm->path)) in qcom_scm_probe()
1423 return dev_err_probe(&pdev->dev, PTR_ERR(scm->path), in qcom_scm_probe()
1426 scm->core_clk = devm_clk_get(&pdev->dev, "core"); in qcom_scm_probe()
1427 if (IS_ERR(scm->core_clk)) { in qcom_scm_probe()
1428 if (PTR_ERR(scm->core_clk) == -EPROBE_DEFER) in qcom_scm_probe()
1429 return PTR_ERR(scm->core_clk); in qcom_scm_probe()
1433 return PTR_ERR(scm->core_clk); in qcom_scm_probe()
1436 scm->core_clk = NULL; in qcom_scm_probe()
1439 scm->iface_clk = devm_clk_get(&pdev->dev, "iface"); in qcom_scm_probe()
1440 if (IS_ERR(scm->iface_clk)) { in qcom_scm_probe()
1441 if (PTR_ERR(scm->iface_clk) == -EPROBE_DEFER) in qcom_scm_probe()
1442 return PTR_ERR(scm->iface_clk); in qcom_scm_probe()
1446 return PTR_ERR(scm->iface_clk); in qcom_scm_probe()
1449 scm->iface_clk = NULL; in qcom_scm_probe()
1452 scm->bus_clk = devm_clk_get(&pdev->dev, "bus"); in qcom_scm_probe()
1453 if (IS_ERR(scm->bus_clk)) { in qcom_scm_probe()
1454 if (PTR_ERR(scm->bus_clk) == -EPROBE_DEFER) in qcom_scm_probe()
1455 return PTR_ERR(scm->bus_clk); in qcom_scm_probe()
1459 return PTR_ERR(scm->bus_clk); in qcom_scm_probe()
1462 scm->bus_clk = NULL; in qcom_scm_probe()
1465 scm->reset.ops = &qcom_scm_pas_reset_ops; in qcom_scm_probe()
1466 scm->reset.nr_resets = 1; in qcom_scm_probe()
1467 scm->reset.of_node = pdev->dev.of_node; in qcom_scm_probe()
1468 ret = devm_reset_controller_register(&pdev->dev, &scm->reset); in qcom_scm_probe()
1473 ret = clk_set_rate(scm->core_clk, INT_MAX); in qcom_scm_probe()
1477 __scm = scm; in qcom_scm_probe()
1490 return dev_err_probe(scm->dev, ret, "Failed to request qcom-scm irq\n"); in qcom_scm_probe()