Lines Matching refs:dev
65 void (*dev_release)(struct device *dev);
66 char * (*devnode)(struct device *dev, umode_t *mode);
70 int (*prepare)(struct device *dev);
71 void (*complete)(struct device *dev);
72 int (*suspend)(struct device *dev);
73 int (*suspend_late)(struct device *dev);
74 int (*resume)(struct device *dev);
75 int (*resume_early)(struct device *dev);
76 int (*freeze)(struct device *dev);
77 int (*freeze_late)(struct device *dev);
78 int (*thaw)(struct device *dev);
79 int (*thaw_early)(struct device *dev);
80 int (*poweroff)(struct device *dev);
81 int (*poweroff_late)(struct device *dev);
82 int (*restore)(struct device *dev);
83 int (*restore_early)(struct device *dev);
84 int (*suspend_noirq)(struct device *dev);
85 int (*runtime_suspend)(struct device *dev);
86 int (*runtime_resume)(struct device *dev);
87 int (*runtime_idle)(struct device *dev);
115 void (*release)(struct device *dev);
191 #define dev_printk(lvl, dev, fmt, ...) \
192 device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
194 #define dev_emerg(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
195 #define dev_alert(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
196 #define dev_crit(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
197 #define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
198 #define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
199 #define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
200 #define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
201 #define dev_dbg(dev, fmt, ...) do { } while (0)
203 #define dev_WARN(dev, fmt, ...) \
204 device_printf((dev)->bsddev, "%s:%d: " fmt, __func__, __LINE__, ##__VA_ARGS__)
206 #define dev_WARN_ONCE(dev, condition, fmt, ...) do { \
212 device_printf((dev)->bsddev, "%s:%d: " fmt, __func__, __LINE__, ##__VA_ARGS__); \
217 #define dev_info_once(dev, ...) do { \
221 dev_info(dev, __VA_ARGS__); \
225 #define dev_warn_once(dev, ...) do { \
229 dev_warn(dev, __VA_ARGS__); \
233 #define dev_err_once(dev, ...) do { \
237 dev_err(dev, __VA_ARGS__); \
241 #define dev_dbg_once(dev, ...) do { \
245 dev_dbg(dev, __VA_ARGS__); \
249 #define dev_err_ratelimited(dev, ...) do { \
252 dev_err(dev, __VA_ARGS__); \
255 #define dev_warn_ratelimited(dev, ...) do { \
258 dev_warn(dev, __VA_ARGS__); \
261 #define dev_dbg_ratelimited(dev, ...) do { \
264 dev_dbg(dev, __VA_ARGS__); \
288 dev_driver_string(const struct device *dev)
293 if (dev->bsddev != NULL) {
294 drv = device_get_driver(dev->bsddev);
303 dev_get_drvdata(const struct device *dev)
306 return dev->driver_data;
310 dev_set_drvdata(struct device *dev, void *data)
313 dev->driver_data = data;
317 get_device(struct device *dev)
320 if (dev)
321 kobject_get(&dev->kobj);
323 return (dev);
327 dev_name(const struct device *dev)
330 return kobject_name(&dev->kobj);
337 put_device(struct device *dev)
340 if (dev)
341 kobject_put(&dev->kobj);
387 device_initialize(struct device *dev)
392 if (dev->devt) {
393 unit = MINOR(dev->devt);
394 bsddev = devclass_get_device(dev->class->bsdclass, unit);
395 dev->bsddev_attached_here = false;
396 } else if (dev->parent == NULL) {
397 bsddev = devclass_get_device(dev->class->bsdclass, 0);
398 dev->bsddev_attached_here = false;
400 dev->bsddev_attached_here = true;
403 if (bsddev == NULL && dev->parent != NULL) {
404 bsddev = device_add_child(dev->parent->bsddev,
405 dev->class->kobj.name, unit);
409 device_set_softc(bsddev, dev);
411 dev->bsddev = bsddev;
412 MPASS(dev->bsddev != NULL);
413 kobject_init(&dev->kobj, &linux_dev_ktype);
415 spin_lock_init(&dev->devres_lock);
416 INIT_LIST_HEAD(&dev->devres_head);
420 device_add(struct device *dev)
422 if (dev->bsddev != NULL) {
423 if (dev->devt == 0)
424 dev->devt = makedev(0, device_get_unit(dev->bsddev));
426 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
428 if (dev->groups)
429 return (sysfs_create_groups(&dev->kobj, dev->groups));
435 device_create_release(struct device *dev)
437 kfree(dev);
446 struct device *dev;
449 dev = device_create_groups_vargs(class, parent, devt, drvdata,
452 return dev;
456 device_is_registered(struct device *dev)
459 return (dev->bsddev != NULL);
463 device_register(struct device *dev)
468 if (device_is_registered(dev))
471 if (dev->devt) {
472 unit = MINOR(dev->devt);
473 bsddev = devclass_get_device(dev->class->bsdclass, unit);
474 dev->bsddev_attached_here = false;
475 } else if (dev->parent == NULL) {
476 bsddev = devclass_get_device(dev->class->bsdclass, 0);
477 dev->bsddev_attached_here = false;
479 dev->bsddev_attached_here = true;
481 if (bsddev == NULL && dev->parent != NULL) {
482 bsddev = device_add_child(dev->parent->bsddev,
483 dev->class->kobj.name, unit);
486 if (dev->devt == 0)
487 dev->devt = makedev(0, device_get_unit(bsddev));
488 device_set_softc(bsddev, dev);
490 dev->bsddev = bsddev;
492 kobject_init(&dev->kobj, &linux_dev_ktype);
493 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
495 sysfs_create_groups(&dev->kobj, dev->class->dev_groups);
501 device_unregister(struct device *dev)
505 sysfs_remove_groups(&dev->kobj, dev->class->dev_groups);
507 bsddev = dev->bsddev;
508 dev->bsddev = NULL;
510 if (bsddev != NULL && dev->bsddev_attached_here) {
515 put_device(dev);
519 device_del(struct device *dev)
523 bsddev = dev->bsddev;
524 dev->bsddev = NULL;
526 if (bsddev != NULL && dev->bsddev_attached_here) {
546 device_release_driver(struct device *dev)
553 lkpi_devres_release_free_list(dev);
554 dev_set_drvdata(dev, NULL);
555 /* Do not call dev->release! */
558 if (device_is_attached(dev->bsddev))
559 device_detach(dev->bsddev);
565 device_reprobe(struct device *dev)
569 device_release_driver(dev);
571 error = device_probe_and_attach(dev->bsddev);
578 device_set_wakeup_enable(struct device *dev __unused, bool enable __unused)
588 device_wakeup_enable(struct device *dev)
591 device_set_wakeup_enable(dev, true);
596 device_iommu_mapped(struct device *dev __unused)
601 #define dev_pm_set_driver_flags(dev, flags) do { \
621 device_create_file(struct device *dev, const struct device_attribute *attr)
624 if (dev)
625 return sysfs_create_file(&dev->kobj, &attr->attr);
630 device_remove_file(struct device *dev, const struct device_attribute *attr)
633 if (dev)
634 sysfs_remove_file(&dev->kobj, &attr->attr);
654 #define dev_to_node(dev) linux_dev_to_node(dev)
666 devm_kmalloc(struct device *dev, size_t size, gfp_t gfp)
672 lkpi_devres_add(dev, p);
678 devm_kmemdup(struct device *dev, const void *src, size_t len, gfp_t gfp)
685 dst = devm_kmalloc(dev, len, gfp);
698 int lkpi_devm_add_action(struct device *dev, void (*action)(void *), void *data);
699 #define devm_add_action(dev, action, data) \
700 lkpi_devm_add_action(dev, action, data);
701 int lkpi_devm_add_action_or_reset(struct device *dev, void (*action)(void *), void *data);
702 #define devm_add_action_or_reset(dev, action, data) \
703 lkpi_devm_add_action_or_reset(dev, action, data)
705 int lkpi_devm_device_add_group(struct device *dev, const struct attribute_group *group);
706 #define devm_device_add_group(dev, group) \
707 lkpi_devm_device_add_group(dev, group)