Lines Matching defs:dev

59 	void		(*dev_release)(struct device *dev);
60 char * (*devnode)(struct device *dev, umode_t *mode);
64 int (*suspend)(struct device *dev);
65 int (*suspend_late)(struct device *dev);
66 int (*resume)(struct device *dev);
67 int (*resume_early)(struct device *dev);
68 int (*freeze)(struct device *dev);
69 int (*freeze_late)(struct device *dev);
70 int (*thaw)(struct device *dev);
71 int (*thaw_early)(struct device *dev);
72 int (*poweroff)(struct device *dev);
73 int (*poweroff_late)(struct device *dev);
74 int (*restore)(struct device *dev);
75 int (*restore_early)(struct device *dev);
76 int (*runtime_suspend)(struct device *dev);
77 int (*runtime_resume)(struct device *dev);
78 int (*runtime_idle)(struct device *dev);
106 void (*release)(struct device *dev);
178 #define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
179 #define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
180 #define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
181 #define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
182 #define dev_dbg(dev, fmt, ...) do { } while (0)
183 #define dev_printk(lvl, dev, fmt, ...) \
184 device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
186 #define dev_err_once(dev, ...) do { \
190 dev_err(dev, __VA_ARGS__); \
194 #define dev_err_ratelimited(dev, ...) do { \
197 dev_err(dev, __VA_ARGS__); \
200 #define dev_warn_ratelimited(dev, ...) do { \
203 dev_warn(dev, __VA_ARGS__); \
207 dev_get_drvdata(const struct device *dev)
210 return dev->driver_data;
214 dev_set_drvdata(struct device *dev, void *data)
217 dev->driver_data = data;
221 get_device(struct device *dev)
224 if (dev)
225 kobject_get(&dev->kobj);
227 return (dev);
231 dev_name(const struct device *dev)
234 return kobject_name(&dev->kobj);
241 put_device(struct device *dev)
244 if (dev)
245 kobject_put(&dev->kobj);
278 device_initialize(struct device *dev)
283 if (dev->devt) {
284 unit = MINOR(dev->devt);
285 bsddev = devclass_get_device(dev->class->bsdclass, unit);
286 dev->bsddev_attached_here = false;
287 } else if (dev->parent == NULL) {
288 bsddev = devclass_get_device(dev->class->bsdclass, 0);
289 dev->bsddev_attached_here = false;
291 dev->bsddev_attached_here = true;
294 if (bsddev == NULL && dev->parent != NULL) {
295 bsddev = device_add_child(dev->parent->bsddev,
296 dev->class->kobj.name, unit);
300 device_set_softc(bsddev, dev);
302 dev->bsddev = bsddev;
303 MPASS(dev->bsddev != NULL);
304 kobject_init(&dev->kobj, &linux_dev_ktype);
306 spin_lock_init(&dev->devres_lock);
307 INIT_LIST_HEAD(&dev->devres_head);
311 device_add(struct device *dev)
313 if (dev->bsddev != NULL) {
314 if (dev->devt == 0)
315 dev->devt = makedev(0, device_get_unit(dev->bsddev));
317 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
319 if (dev->groups)
320 return (sysfs_create_groups(&dev->kobj, dev->groups));
326 device_create_release(struct device *dev)
328 kfree(dev);
336 struct device *dev = NULL;
342 dev = kzalloc(sizeof(*dev), GFP_KERNEL);
343 if (!dev) {
348 dev->devt = devt;
349 dev->class = class;
350 dev->parent = parent;
351 dev->groups = groups;
352 dev->release = device_create_release;
354 device_initialize(dev);
355 dev_set_drvdata(dev, drvdata);
357 retval = kobject_set_name_vargs(&dev->kobj, fmt, args);
361 retval = device_add(dev);
365 return dev;
368 put_device(dev);
378 struct device *dev;
381 dev = device_create_groups_vargs(class, parent, devt, drvdata,
384 return dev;
388 device_is_registered(struct device *dev)
391 return (dev->bsddev != NULL);
395 device_register(struct device *dev)
400 if (device_is_registered(dev))
403 if (dev->devt) {
404 unit = MINOR(dev->devt);
405 bsddev = devclass_get_device(dev->class->bsdclass, unit);
406 dev->bsddev_attached_here = false;
407 } else if (dev->parent == NULL) {
408 bsddev = devclass_get_device(dev->class->bsdclass, 0);
409 dev->bsddev_attached_here = false;
411 dev->bsddev_attached_here = true;
413 if (bsddev == NULL && dev->parent != NULL) {
414 bsddev = device_add_child(dev->parent->bsddev,
415 dev->class->kobj.name, unit);
418 if (dev->devt == 0)
419 dev->devt = makedev(0, device_get_unit(bsddev));
420 device_set_softc(bsddev, dev);
422 dev->bsddev = bsddev;
424 kobject_init(&dev->kobj, &linux_dev_ktype);
425 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
427 sysfs_create_groups(&dev->kobj, dev->class->dev_groups);
433 device_unregister(struct device *dev)
437 sysfs_remove_groups(&dev->kobj, dev->class->dev_groups);
439 bsddev = dev->bsddev;
440 dev->bsddev = NULL;
442 if (bsddev != NULL && dev->bsddev_attached_here) {
447 put_device(dev);
451 device_del(struct device *dev)
455 bsddev = dev->bsddev;
456 dev->bsddev = NULL;
458 if (bsddev != NULL && dev->bsddev_attached_here) {
480 #define dev_pm_set_driver_flags(dev, flags) do { \
519 device_create_file(struct device *dev, const struct device_attribute *attr)
522 if (dev)
523 return sysfs_create_file(&dev->kobj, &attr->attr);
528 device_remove_file(struct device *dev, const struct device_attribute *attr)
531 if (dev)
532 sysfs_remove_file(&dev->kobj, &attr->attr);
553 dev_to_node(struct device *dev)