Lines Matching refs:tsm_dev

17 	struct tsm_dev *tsm_dev = container_of(dev, struct tsm_dev, dev);  in match_id()  local
20 return tsm_dev->id == id; in match_id()
23 struct tsm_dev *find_tsm_dev(int id) in find_tsm_dev()
29 return container_of(dev, struct tsm_dev, dev); in find_tsm_dev()
32 static struct tsm_dev *alloc_tsm_dev(struct device *parent) in alloc_tsm_dev()
37 struct tsm_dev *tsm_dev __free(kfree) = in alloc_tsm_dev()
38 kzalloc_obj(*tsm_dev); in alloc_tsm_dev()
39 if (!tsm_dev) in alloc_tsm_dev()
46 tsm_dev->id = id; in alloc_tsm_dev()
47 dev = &tsm_dev->dev; in alloc_tsm_dev()
52 return no_free_ptr(tsm_dev); in alloc_tsm_dev()
55 static struct tsm_dev *tsm_register_pci_or_reset(struct tsm_dev *tsm_dev, in tsm_register_pci_or_reset() argument
61 return tsm_dev; in tsm_register_pci_or_reset()
63 tsm_dev->pci_ops = pci_ops; in tsm_register_pci_or_reset()
64 rc = pci_tsm_register(tsm_dev); in tsm_register_pci_or_reset()
66 dev_err(tsm_dev->dev.parent, in tsm_register_pci_or_reset()
68 device_unregister(&tsm_dev->dev); in tsm_register_pci_or_reset()
73 kobject_uevent(&tsm_dev->dev.kobj, KOBJ_CHANGE); in tsm_register_pci_or_reset()
74 return tsm_dev; in tsm_register_pci_or_reset()
77 struct tsm_dev *tsm_register(struct device *parent, struct pci_tsm_ops *pci_ops) in tsm_register()
79 struct tsm_dev *tsm_dev __free(put_tsm_dev) = alloc_tsm_dev(parent); in tsm_register()
83 if (IS_ERR(tsm_dev)) in tsm_register()
84 return tsm_dev; in tsm_register()
86 dev = &tsm_dev->dev; in tsm_register()
87 rc = dev_set_name(dev, "tsm%d", tsm_dev->id); in tsm_register()
95 return tsm_register_pci_or_reset(no_free_ptr(tsm_dev), pci_ops); in tsm_register()
99 void tsm_unregister(struct tsm_dev *tsm_dev) in tsm_unregister() argument
101 if (tsm_dev->pci_ops) in tsm_unregister()
102 pci_tsm_unregister(tsm_dev); in tsm_unregister()
103 device_unregister(&tsm_dev->dev); in tsm_unregister()
109 struct tsm_dev *tsm_dev = container_of(dev, typeof(*tsm_dev), dev); in tsm_release() local
111 ida_free(&tsm_ida, tsm_dev->id); in tsm_release()
112 kfree(tsm_dev); in tsm_release()