Lines Matching refs:ssr

74 	struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev);  in qcom_glink_ssr_callback()  local
77 dev_err(ssr->dev, "message too short\n"); in qcom_glink_ssr_callback()
87 if (le32_to_cpu(msg->seq_num) != ssr->seq_num) { in qcom_glink_ssr_callback()
88 dev_err(ssr->dev, "invalid sequence number of response\n"); in qcom_glink_ssr_callback()
92 complete(&ssr->completion); in qcom_glink_ssr_callback()
101 struct glink_ssr *ssr = container_of(nb, struct glink_ssr, nb); in qcom_glink_ssr_notifier_call() local
106 ssr->seq_num++; in qcom_glink_ssr_notifier_call()
107 reinit_completion(&ssr->completion); in qcom_glink_ssr_notifier_call()
111 msg.seq_num = cpu_to_le32(ssr->seq_num); in qcom_glink_ssr_notifier_call()
115 ret = rpmsg_send(ssr->ept, &msg, sizeof(msg)); in qcom_glink_ssr_notifier_call()
117 dev_err(ssr->dev, "failed to send cleanup message\n"); in qcom_glink_ssr_notifier_call()
119 ret = wait_for_completion_timeout(&ssr->completion, HZ); in qcom_glink_ssr_notifier_call()
121 dev_err(ssr->dev, "timeout waiting for cleanup done message\n"); in qcom_glink_ssr_notifier_call()
128 struct glink_ssr *ssr; in qcom_glink_ssr_probe() local
130 ssr = devm_kzalloc(&rpdev->dev, sizeof(*ssr), GFP_KERNEL); in qcom_glink_ssr_probe()
131 if (!ssr) in qcom_glink_ssr_probe()
134 init_completion(&ssr->completion); in qcom_glink_ssr_probe()
136 ssr->dev = &rpdev->dev; in qcom_glink_ssr_probe()
137 ssr->ept = rpdev->ept; in qcom_glink_ssr_probe()
138 ssr->nb.notifier_call = qcom_glink_ssr_notifier_call; in qcom_glink_ssr_probe()
140 dev_set_drvdata(&rpdev->dev, ssr); in qcom_glink_ssr_probe()
142 return blocking_notifier_chain_register(&ssr_notifiers, &ssr->nb); in qcom_glink_ssr_probe()
147 struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev); in qcom_glink_ssr_remove() local
149 blocking_notifier_chain_unregister(&ssr_notifiers, &ssr->nb); in qcom_glink_ssr_remove()