Lines Matching refs:ssr

75 	struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev);  in qcom_glink_ssr_callback()  local
78 dev_err(ssr->dev, "message too short\n"); in qcom_glink_ssr_callback()
88 if (le32_to_cpu(msg->seq_num) != ssr->seq_num) { in qcom_glink_ssr_callback()
89 dev_err(ssr->dev, "invalid sequence number of response\n"); in qcom_glink_ssr_callback()
93 complete(&ssr->completion); in qcom_glink_ssr_callback()
102 struct glink_ssr *ssr = container_of(nb, struct glink_ssr, nb); in qcom_glink_ssr_notifier_call() local
107 ssr->seq_num++; in qcom_glink_ssr_notifier_call()
108 reinit_completion(&ssr->completion); in qcom_glink_ssr_notifier_call()
112 msg.seq_num = cpu_to_le32(ssr->seq_num); in qcom_glink_ssr_notifier_call()
116 ret = rpmsg_send(ssr->ept, &msg, sizeof(msg)); in qcom_glink_ssr_notifier_call()
118 dev_err(ssr->dev, "failed to send cleanup message\n"); in qcom_glink_ssr_notifier_call()
120 ret = wait_for_completion_timeout(&ssr->completion, HZ); in qcom_glink_ssr_notifier_call()
122 dev_err(ssr->dev, "timeout waiting for cleanup done message\n"); in qcom_glink_ssr_notifier_call()
129 struct glink_ssr *ssr; in qcom_glink_ssr_probe() local
131 ssr = devm_kzalloc(&rpdev->dev, sizeof(*ssr), GFP_KERNEL); in qcom_glink_ssr_probe()
132 if (!ssr) in qcom_glink_ssr_probe()
135 init_completion(&ssr->completion); in qcom_glink_ssr_probe()
137 ssr->dev = &rpdev->dev; in qcom_glink_ssr_probe()
138 ssr->ept = rpdev->ept; in qcom_glink_ssr_probe()
139 ssr->nb.notifier_call = qcom_glink_ssr_notifier_call; in qcom_glink_ssr_probe()
141 dev_set_drvdata(&rpdev->dev, ssr); in qcom_glink_ssr_probe()
143 return blocking_notifier_chain_register(&ssr_notifiers, &ssr->nb); in qcom_glink_ssr_probe()
148 struct glink_ssr *ssr = dev_get_drvdata(&rpdev->dev); in qcom_glink_ssr_remove() local
150 blocking_notifier_chain_unregister(&ssr_notifiers, &ssr->nb); in qcom_glink_ssr_remove()