Lines Matching defs:mtk_subdev

52 	struct mtk_rpmsg_rproc_subdev *mtk_subdev;
57 struct mtk_rpmsg_rproc_subdev *mtk_subdev;
85 __mtk_create_ept(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
91 struct platform_device *pdev = mtk_subdev->pdev;
97 mept->mtk_subdev = mtk_subdev;
108 ret = mtk_subdev->info->register_ipi(pdev, id, mtk_rpmsg_ipi_handler,
123 struct mtk_rpmsg_rproc_subdev *mtk_subdev =
124 to_mtk_rpmsg_device(rpdev)->mtk_subdev;
126 return __mtk_create_ept(mtk_subdev, rpdev, cb, priv, chinfo.src);
131 struct mtk_rpmsg_rproc_subdev *mtk_subdev =
132 to_mtk_rpmsg_endpoint(ept)->mtk_subdev;
134 mtk_subdev->info->unregister_ipi(mtk_subdev->pdev, ept->addr);
140 struct mtk_rpmsg_rproc_subdev *mtk_subdev =
141 to_mtk_rpmsg_endpoint(ept)->mtk_subdev;
143 return mtk_subdev->info->send_ipi(mtk_subdev->pdev, ept->addr, data,
149 struct mtk_rpmsg_rproc_subdev *mtk_subdev =
150 to_mtk_rpmsg_endpoint(ept)->mtk_subdev;
156 return mtk_subdev->info->send_ipi(mtk_subdev->pdev, ept->addr, data,
197 static int mtk_rpmsg_register_device(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
202 struct platform_device *pdev = mtk_subdev->pdev;
208 mdev->mtk_subdev = mtk_subdev;
250 static int mtk_rpmsg_create_device(struct mtk_rpmsg_rproc_subdev *mtk_subdev,
262 mutex_lock(&mtk_subdev->channels_lock);
263 list_add(&info->list, &mtk_subdev->channels);
264 mutex_unlock(&mtk_subdev->channels_lock);
266 schedule_work(&mtk_subdev->register_work);
274 struct mtk_rpmsg_rproc_subdev *mtk_subdev = priv;
275 struct device *dev = &mtk_subdev->pdev->dev;
300 ret = mtk_rpmsg_create_device(mtk_subdev, msg->name, msg->addr);
311 struct mtk_rpmsg_rproc_subdev *mtk_subdev = to_mtk_subdev(subdev);
314 if (mtk_subdev->info->ns_ipi_id >= 0) {
315 mtk_subdev->ns_ept =
316 __mtk_create_ept(mtk_subdev, NULL, mtk_rpmsg_ns_cb,
317 mtk_subdev,
318 mtk_subdev->info->ns_ipi_id);
319 if (!mtk_subdev->ns_ept) {
320 dev_err(&mtk_subdev->pdev->dev,
331 struct mtk_rpmsg_rproc_subdev *mtk_subdev = to_mtk_subdev(subdev);
333 if (mtk_subdev->ns_ept) {
334 mtk_rpmsg_destroy_ept(mtk_subdev->ns_ept);
335 mtk_subdev->ns_ept = NULL;
342 struct mtk_rpmsg_rproc_subdev *mtk_subdev = to_mtk_subdev(subdev);
343 struct device *dev = &mtk_subdev->pdev->dev;
349 if (mtk_subdev->ns_ept) {
350 mtk_rpmsg_destroy_ept(mtk_subdev->ns_ept);
351 mtk_subdev->ns_ept = NULL;
354 cancel_work_sync(&mtk_subdev->register_work);
356 mutex_lock(&mtk_subdev->channels_lock);
357 list_for_each_entry(info, &mtk_subdev->channels, list) {
370 &mtk_subdev->channels, list) {
374 mutex_unlock(&mtk_subdev->channels_lock);
381 struct mtk_rpmsg_rproc_subdev *mtk_subdev;
383 mtk_subdev = kzalloc(sizeof(*mtk_subdev), GFP_KERNEL);
384 if (!mtk_subdev)
387 mtk_subdev->pdev = pdev;
388 mtk_subdev->subdev.prepare = mtk_rpmsg_prepare;
389 mtk_subdev->subdev.stop = mtk_rpmsg_stop;
390 mtk_subdev->subdev.unprepare = mtk_rpmsg_unprepare;
391 mtk_subdev->info = info;
392 INIT_LIST_HEAD(&mtk_subdev->channels);
393 INIT_WORK(&mtk_subdev->register_work,
395 mutex_init(&mtk_subdev->channels_lock);
397 return &mtk_subdev->subdev;
403 struct mtk_rpmsg_rproc_subdev *mtk_subdev = to_mtk_subdev(subdev);
405 kfree(mtk_subdev);