Lines Matching refs:gdev

66 	struct hte_device *gdev;  member
105 static void hte_chip_dbgfs_init(struct hte_device *gdev) in hte_chip_dbgfs_init() argument
107 const struct hte_chip *chip = gdev->chip; in hte_chip_dbgfs_init()
110 gdev->dbg_root = debugfs_create_dir(name, hte_root); in hte_chip_dbgfs_init()
112 debugfs_create_atomic_t("ts_requested", 0444, gdev->dbg_root, in hte_chip_dbgfs_init()
113 &gdev->ts_req); in hte_chip_dbgfs_init()
114 debugfs_create_u32("total_ts", 0444, gdev->dbg_root, in hte_chip_dbgfs_init()
115 &gdev->nlines); in hte_chip_dbgfs_init()
120 if (!ei->gdev->dbg_root || !name) in hte_ts_dbgfs_init()
123 ei->ts_dbg_root = debugfs_create_dir(name, ei->gdev->dbg_root); in hte_ts_dbgfs_init()
131 static void hte_chip_dbgfs_init(struct hte_device *gdev) in hte_chip_dbgfs_init() argument
154 struct hte_device *gdev; in hte_ts_put() local
162 if (!ei || !ei->gdev) in hte_ts_put()
165 gdev = ei->gdev; in hte_ts_put()
171 dev_info(gdev->sdev, "id:%d is not requested\n", in hte_ts_put()
179 dev_info(gdev->sdev, "id:%d is registered but not requested\n", in hte_ts_put()
193 ret = gdev->chip->ops->release(gdev->chip, desc, ei->xlated_id); in hte_ts_put()
195 dev_err(gdev->sdev, "id: %d free failed\n", in hte_ts_put()
214 atomic_dec(&gdev->ts_req); in hte_ts_put()
228 module_put(gdev->owner); in hte_ts_put()
231 dev_dbg(gdev->sdev, "release id: %d\n", desc->attr.line_id); in hte_ts_put()
240 struct hte_device *gdev; in hte_ts_dis_en_common() local
250 if (!ei || !ei->gdev) in hte_ts_dis_en_common()
253 gdev = ei->gdev; in hte_ts_dis_en_common()
259 dev_dbg(gdev->sdev, "id:%d is not registered", ts_id); in hte_ts_dis_en_common()
273 ret = gdev->chip->ops->enable(gdev->chip, ei->xlated_id); in hte_ts_dis_en_common()
275 dev_warn(gdev->sdev, "id: %d enable failed\n", in hte_ts_dis_en_common()
289 ret = gdev->chip->ops->disable(gdev->chip, ei->xlated_id); in hte_ts_dis_en_common()
291 dev_warn(gdev->sdev, "id: %d disable failed\n", in hte_ts_dis_en_common()
356 struct hte_device *gdev; in __hte_req_ts() local
359 gdev = ei->gdev; in __hte_req_ts()
368 dev_dbg(gdev->chip->dev, "id:%u req failed\n", in __hte_req_ts()
379 ret = gdev->chip->ops->request(gdev->chip, desc, ei->xlated_id); in __hte_req_ts()
381 dev_err(gdev->chip->dev, "ts request failed\n"); in __hte_req_ts()
388 atomic_inc(&gdev->ts_req); in __hte_req_ts()
399 dev_dbg(gdev->chip->dev, "id: %u, xlated id:%u", in __hte_req_ts()
418 dev_dbg(ei->gdev->chip->dev, "id:%u is already requested\n", in hte_bind_ts_info_locked()
436 struct hte_device *gdev; in of_node_to_htedevice() local
440 list_for_each_entry(gdev, &hte_devices, list) in of_node_to_htedevice()
441 if (gdev->chip && gdev->chip->dev && in of_node_to_htedevice()
442 device_match_of_node(gdev->chip->dev, np)) { in of_node_to_htedevice()
444 return gdev; in of_node_to_htedevice()
454 struct hte_device *gdev; in hte_find_dev_from_linedata() local
458 list_for_each_entry(gdev, &hte_devices, list) in hte_find_dev_from_linedata()
459 if (gdev->chip && gdev->chip->match_from_linedata) { in hte_find_dev_from_linedata()
460 if (!gdev->chip->match_from_linedata(gdev->chip, desc)) in hte_find_dev_from_linedata()
463 return gdev; in hte_find_dev_from_linedata()
564 struct hte_device *gdev; in hte_ts_get() local
578 gdev = hte_of_get_dev(dev, desc, index, &args, &free_name); in hte_ts_get()
580 gdev = hte_get_dev(desc); in hte_ts_get()
582 if (IS_ERR(gdev)) { in hte_ts_get()
584 return PTR_ERR(gdev); in hte_ts_get()
587 if (!try_module_get(gdev->owner)) in hte_ts_get()
590 if (!gdev->chip) { in hte_ts_get()
598 if (!gdev->chip->xlate_of) in hte_ts_get()
601 ret = gdev->chip->xlate_of(gdev->chip, &args, in hte_ts_get()
604 if (!gdev->chip->xlate_plat) in hte_ts_get()
607 ret = gdev->chip->xlate_plat(gdev->chip, desc, in hte_ts_get()
614 ei = &gdev->ei[xlated_id]; in hte_ts_get()
625 module_put(gdev->owner); in hte_ts_get()
661 if (!ei || !ei->gdev) in hte_request_ts_ns()
666 dev_err(ei->gdev->chip->dev, in hte_request_ts_ns()
775 if (!ei->gdev || !ei->gdev->chip) in hte_get_clk_src_info()
778 chip = ei->gdev->chip; in hte_get_clk_src_info()
806 if (!chip || !data || !chip->gdev) in hte_push_ts_ns()
812 ei = &chip->gdev->ei[xlated_id]; in hte_push_ts_ns()
842 struct hte_device *gdev; in hte_register_chip() local
853 gdev = kzalloc(struct_size(gdev, ei, chip->nlines), GFP_KERNEL); in hte_register_chip()
854 if (!gdev) in hte_register_chip()
857 gdev->chip = chip; in hte_register_chip()
858 chip->gdev = gdev; in hte_register_chip()
859 gdev->nlines = chip->nlines; in hte_register_chip()
860 gdev->sdev = chip->dev; in hte_register_chip()
863 gdev->ei[i].gdev = gdev; in hte_register_chip()
864 mutex_init(&gdev->ei[i].req_mlock); in hte_register_chip()
865 spin_lock_init(&gdev->ei[i].slock); in hte_register_chip()
869 gdev->owner = chip->dev->driver->owner; in hte_register_chip()
871 gdev->owner = THIS_MODULE; in hte_register_chip()
875 INIT_LIST_HEAD(&gdev->list); in hte_register_chip()
878 list_add_tail(&gdev->list, &hte_devices); in hte_register_chip()
881 hte_chip_dbgfs_init(gdev); in hte_register_chip()
890 struct hte_device *gdev; in hte_unregister_chip() local
895 gdev = chip->gdev; in hte_unregister_chip()
898 list_del(&gdev->list); in hte_unregister_chip()
901 gdev->chip = NULL; in hte_unregister_chip()
904 debugfs_remove_recursive(gdev->dbg_root); in hte_unregister_chip()
905 kfree(gdev); in hte_unregister_chip()