Lines Matching refs:devcd

47 	struct devcd_entry *devcd = dev_to_devcd(dev);  in devcd_dev_release()  local
49 devcd->free(devcd->data); in devcd_dev_release()
50 module_put(devcd->owner); in devcd_dev_release()
56 if (devcd->failing_dev->kobj.sd) in devcd_dev_release()
57 sysfs_delete_link(&devcd->failing_dev->kobj, &dev->kobj, in devcd_dev_release()
60 put_device(devcd->failing_dev); in devcd_dev_release()
61 kfree(devcd); in devcd_dev_release()
66 struct devcd_entry *devcd; in devcd_del() local
68 devcd = container_of(wk, struct devcd_entry, del_wk.work); in devcd_del()
70 device_del(&devcd->devcd_dev); in devcd_del()
71 put_device(&devcd->devcd_dev); in devcd_del()
79 struct devcd_entry *devcd = dev_to_devcd(dev); in devcd_data_read() local
81 return devcd->read(buffer, offset, count, devcd->data, devcd->datalen); in devcd_data_read()
89 struct devcd_entry *devcd = dev_to_devcd(dev); in devcd_data_write() local
91 mod_delayed_work(system_wq, &devcd->del_wk, 0); in devcd_data_write()
117 struct devcd_entry *devcd = dev_to_devcd(dev); in devcd_free() local
119 flush_delayed_work(&devcd->del_wk); in devcd_free()
194 struct devcd_entry *devcd = dev_to_devcd(dev); in devcd_match_failing() local
196 return devcd->failing_dev == failing; in devcd_match_failing()
259 struct devcd_entry *devcd; in dev_coredumpm() local
275 devcd = kzalloc(sizeof(*devcd), gfp); in dev_coredumpm()
276 if (!devcd) in dev_coredumpm()
279 devcd->owner = owner; in dev_coredumpm()
280 devcd->data = data; in dev_coredumpm()
281 devcd->datalen = datalen; in dev_coredumpm()
282 devcd->read = read; in dev_coredumpm()
283 devcd->free = free; in dev_coredumpm()
284 devcd->failing_dev = get_device(dev); in dev_coredumpm()
286 device_initialize(&devcd->devcd_dev); in dev_coredumpm()
288 dev_set_name(&devcd->devcd_dev, "devcd%d", in dev_coredumpm()
290 devcd->devcd_dev.class = &devcd_class; in dev_coredumpm()
292 if (device_add(&devcd->devcd_dev)) in dev_coredumpm()
295 if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj, in dev_coredumpm()
299 if (sysfs_create_link(&dev->kobj, &devcd->devcd_dev.kobj, in dev_coredumpm()
303 INIT_DELAYED_WORK(&devcd->del_wk, devcd_del); in dev_coredumpm()
304 schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT); in dev_coredumpm()
308 put_device(&devcd->devcd_dev); in dev_coredumpm()