Lines Matching defs:gdev
51 * @gdev: HTE abstract device that this timestamp information belongs to.
68 struct hte_device *gdev;
107 static void hte_chip_dbgfs_init(struct hte_device *gdev)
109 const struct hte_chip *chip = gdev->chip;
112 gdev->dbg_root = debugfs_create_dir(name, hte_root);
114 debugfs_create_atomic_t("ts_requested", 0444, gdev->dbg_root,
115 &gdev->ts_req);
116 debugfs_create_u32("total_ts", 0444, gdev->dbg_root,
117 &gdev->nlines);
122 if (!ei->gdev->dbg_root || !name)
125 ei->ts_dbg_root = debugfs_create_dir(name, ei->gdev->dbg_root);
133 static void hte_chip_dbgfs_init(struct hte_device *gdev)
156 struct hte_device *gdev;
164 if (!ei || !ei->gdev)
167 gdev = ei->gdev;
173 dev_info(gdev->sdev, "id:%d is not requested\n",
181 dev_info(gdev->sdev, "id:%d is registered but not requested\n",
195 ret = gdev->chip->ops->release(gdev->chip, desc, ei->xlated_id);
197 dev_err(gdev->sdev, "id: %d free failed\n",
216 atomic_dec(&gdev->ts_req);
230 module_put(gdev->owner);
233 dev_dbg(gdev->sdev, "release id: %d\n", desc->attr.line_id);
242 struct hte_device *gdev;
252 if (!ei || !ei->gdev)
255 gdev = ei->gdev;
261 dev_dbg(gdev->sdev, "id:%d is not registered", ts_id);
275 ret = gdev->chip->ops->enable(gdev->chip, ei->xlated_id);
277 dev_warn(gdev->sdev, "id: %d enable failed\n",
291 ret = gdev->chip->ops->disable(gdev->chip, ei->xlated_id);
293 dev_warn(gdev->sdev, "id: %d disable failed\n",
358 struct hte_device *gdev;
361 gdev = ei->gdev;
370 dev_dbg(gdev->chip->dev, "id:%u req failed\n",
381 ret = gdev->chip->ops->request(gdev->chip, desc, ei->xlated_id);
383 dev_err(gdev->chip->dev, "ts request failed\n");
390 atomic_inc(&gdev->ts_req);
404 dev_dbg(gdev->chip->dev, "id: %u, xlated id:%u",
423 dev_dbg(ei->gdev->chip->dev, "id:%u is already requested\n",
441 struct hte_device *gdev;
445 list_for_each_entry(gdev, &hte_devices, list)
446 if (gdev->chip && gdev->chip->dev &&
447 device_match_of_node(gdev->chip->dev, np)) {
449 return gdev;
459 struct hte_device *gdev;
463 list_for_each_entry(gdev, &hte_devices, list)
464 if (gdev->chip && gdev->chip->match_from_linedata) {
465 if (!gdev->chip->match_from_linedata(gdev->chip, desc))
468 return gdev;
569 struct hte_device *gdev;
583 gdev = hte_of_get_dev(dev, desc, index, &args, &free_name);
585 gdev = hte_get_dev(desc);
587 if (IS_ERR(gdev)) {
589 return PTR_ERR(gdev);
592 if (!try_module_get(gdev->owner))
595 if (!gdev->chip) {
603 if (!gdev->chip->xlate_of)
606 ret = gdev->chip->xlate_of(gdev->chip, &args,
609 if (!gdev->chip->xlate_plat)
612 ret = gdev->chip->xlate_plat(gdev->chip, desc,
619 ei = &gdev->ei[xlated_id];
630 module_put(gdev->owner);
666 if (!ei || !ei->gdev)
671 dev_err(ei->gdev->chip->dev,
780 if (!ei->gdev || !ei->gdev->chip)
783 chip = ei->gdev->chip;
811 if (!chip || !data || !chip->gdev)
817 ei = &chip->gdev->ei[xlated_id];
847 struct hte_device *gdev;
858 gdev = kzalloc(struct_size(gdev, ei, chip->nlines), GFP_KERNEL);
859 if (!gdev)
862 gdev->chip = chip;
863 chip->gdev = gdev;
864 gdev->nlines = chip->nlines;
865 gdev->sdev = chip->dev;
868 gdev->ei[i].gdev = gdev;
869 mutex_init(&gdev->ei[i].req_mlock);
870 spin_lock_init(&gdev->ei[i].slock);
874 gdev->owner = chip->dev->driver->owner;
876 gdev->owner = THIS_MODULE;
880 INIT_LIST_HEAD(&gdev->list);
883 list_add_tail(&gdev->list, &hte_devices);
886 hte_chip_dbgfs_init(gdev);
895 struct hte_device *gdev;
900 gdev = chip->gdev;
903 list_del(&gdev->list);
906 gdev->chip = NULL;
909 debugfs_remove_recursive(gdev->dbg_root);
910 kfree(gdev);