Lines Matching refs:ssr

61 	struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev);  in qcom_glink_ssr_callback()  local
64 dev_err(ssr->dev, "message too short\n"); in qcom_glink_ssr_callback()
74 if (le32_to_cpu(msg->seq_num) != ssr->seq_num) { in qcom_glink_ssr_callback()
75 dev_err(ssr->dev, "invalid sequence number of response\n"); in qcom_glink_ssr_callback()
79 complete(&ssr->completion); in qcom_glink_ssr_callback()
87 struct glink_ssr *ssr = container_of(nb, struct glink_ssr, nb); in qcom_glink_ssr_notify() local
92 ssr->seq_num++; in qcom_glink_ssr_notify()
93 reinit_completion(&ssr->completion); in qcom_glink_ssr_notify()
97 msg.seq_num = cpu_to_le32(ssr->seq_num); in qcom_glink_ssr_notify()
101 ret = rpmsg_send(ssr->ept, &msg, sizeof(msg)); in qcom_glink_ssr_notify()
103 dev_err(ssr->dev, "failed to send cleanup message\n"); in qcom_glink_ssr_notify()
105 ret = wait_for_completion_timeout(&ssr->completion, HZ); in qcom_glink_ssr_notify()
107 dev_err(ssr->dev, "timeout waiting for cleanup done message\n"); in qcom_glink_ssr_notify()
114 struct glink_ssr *ssr; in qcom_glink_ssr_probe() local
116 ssr = devm_kzalloc(&rpdev->dev, sizeof(*ssr), GFP_KERNEL); in qcom_glink_ssr_probe()
117 if (!ssr) in qcom_glink_ssr_probe()
120 init_completion(&ssr->completion); in qcom_glink_ssr_probe()
122 ssr->dev = &rpdev->dev; in qcom_glink_ssr_probe()
123 ssr->ept = rpdev->ept; in qcom_glink_ssr_probe()
124 ssr->nb.notifier_call = qcom_glink_ssr_notify; in qcom_glink_ssr_probe()
126 dev_set_drvdata(&rpdev->dev, ssr); in qcom_glink_ssr_probe()
128 return qcom_register_ssr_notifier(&ssr->nb); in qcom_glink_ssr_probe()
133 struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev); in qcom_glink_ssr_remove() local
135 qcom_unregister_ssr_notifier(&ssr->nb); in qcom_glink_ssr_remove()