Lines Matching refs:scmi_dev

23 scmi_dev_match_id(struct scmi_device *scmi_dev, struct scmi_driver *scmi_drv)  in scmi_dev_match_id()  argument
31 if (id->protocol_id == scmi_dev->protocol_id) in scmi_dev_match_id()
40 struct scmi_device *scmi_dev = to_scmi_dev(dev); in scmi_dev_match() local
43 id = scmi_dev_match_id(scmi_dev, scmi_drv); in scmi_dev_match()
62 struct scmi_device *scmi_dev = to_scmi_dev(dev); in scmi_dev_probe() local
66 id = scmi_dev_match_id(scmi_dev, scmi_drv); in scmi_dev_probe()
70 if (!scmi_dev->handle) in scmi_dev_probe()
73 ret = scmi_protocol_init(scmi_dev->protocol_id, scmi_dev->handle); in scmi_dev_probe()
77 return scmi_drv->probe(scmi_dev); in scmi_dev_probe()
83 struct scmi_device *scmi_dev = to_scmi_dev(dev); in scmi_dev_remove() local
86 scmi_drv->remove(scmi_dev); in scmi_dev_remove()
126 struct scmi_device *scmi_dev; in scmi_device_create() local
128 scmi_dev = kzalloc(sizeof(*scmi_dev), GFP_KERNEL); in scmi_device_create()
129 if (!scmi_dev) in scmi_device_create()
136 scmi_dev->id = id; in scmi_device_create()
137 scmi_dev->protocol_id = protocol; in scmi_device_create()
138 scmi_dev->dev.parent = parent; in scmi_device_create()
139 scmi_dev->dev.of_node = np; in scmi_device_create()
140 scmi_dev->dev.bus = &scmi_bus_type; in scmi_device_create()
141 dev_set_name(&scmi_dev->dev, "scmi_dev.%d", id); in scmi_device_create()
143 retval = device_register(&scmi_dev->dev); in scmi_device_create()
147 return scmi_dev; in scmi_device_create()
149 put_device(&scmi_dev->dev); in scmi_device_create()
152 kfree(scmi_dev); in scmi_device_create()
156 void scmi_device_destroy(struct scmi_device *scmi_dev) in scmi_device_destroy() argument
158 scmi_handle_put(scmi_dev->handle); in scmi_device_destroy()
159 device_unregister(&scmi_dev->dev); in scmi_device_destroy()
160 ida_simple_remove(&scmi_bus_id, scmi_dev->id); in scmi_device_destroy()
161 kfree(scmi_dev); in scmi_device_destroy()
164 void scmi_set_handle(struct scmi_device *scmi_dev) in scmi_set_handle() argument
166 scmi_dev->handle = scmi_handle_get(&scmi_dev->dev); in scmi_set_handle()
194 struct scmi_device *scmi_dev = to_scmi_dev(dev); in __scmi_devices_unregister() local
196 scmi_device_destroy(scmi_dev); in __scmi_devices_unregister()