Lines Matching refs:dev

66 	void		(*dev_release)(struct device *dev);
67 char * (*devnode)(struct device *dev, umode_t *mode);
71 int (*prepare)(struct device *dev);
72 void (*complete)(struct device *dev);
73 int (*suspend)(struct device *dev);
74 int (*suspend_late)(struct device *dev);
75 int (*resume)(struct device *dev);
76 int (*resume_early)(struct device *dev);
77 int (*freeze)(struct device *dev);
78 int (*freeze_late)(struct device *dev);
79 int (*thaw)(struct device *dev);
80 int (*thaw_early)(struct device *dev);
81 int (*poweroff)(struct device *dev);
82 int (*poweroff_late)(struct device *dev);
83 int (*restore)(struct device *dev);
84 int (*restore_early)(struct device *dev);
85 int (*suspend_noirq)(struct device *dev);
86 int (*runtime_suspend)(struct device *dev);
87 int (*runtime_resume)(struct device *dev);
88 int (*runtime_idle)(struct device *dev);
116 void (*release)(struct device *dev);
192 #define dev_printk(lvl, dev, fmt, ...) \
193 device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
195 #define dev_emerg(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
196 #define dev_alert(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
197 #define dev_crit(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
198 #define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
199 #define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
200 #define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
201 #define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
202 #define dev_dbg(dev, fmt, ...) do { } while (0)
204 #define dev_WARN(dev, fmt, ...) \
205 device_printf((dev)->bsddev, "%s:%d: " fmt, __func__, __LINE__, ##__VA_ARGS__)
207 #define dev_WARN_ONCE(dev, condition, fmt, ...) do { \
213 device_printf((dev)->bsddev, "%s:%d: " fmt, __func__, __LINE__, ##__VA_ARGS__); \
218 #define dev_info_once(dev, ...) do { \
222 dev_info(dev, __VA_ARGS__); \
226 #define dev_warn_once(dev, ...) do { \
230 dev_warn(dev, __VA_ARGS__); \
234 #define dev_err_once(dev, ...) do { \
238 dev_err(dev, __VA_ARGS__); \
242 #define dev_dbg_once(dev, ...) do { \
246 dev_dbg(dev, __VA_ARGS__); \
250 #define dev_err_ratelimited(dev, ...) do { \
253 dev_err(dev, __VA_ARGS__); \
256 #define dev_warn_ratelimited(dev, ...) do { \
259 dev_warn(dev, __VA_ARGS__); \
262 #define dev_dbg_ratelimited(dev, ...) do { \
265 dev_dbg(dev, __VA_ARGS__); \
289 dev_driver_string(const struct device *dev)
294 if (dev->bsddev != NULL) {
295 drv = device_get_driver(dev->bsddev);
304 dev_get_drvdata(const struct device *dev)
307 return dev->driver_data;
311 dev_set_drvdata(struct device *dev, void *data)
314 dev->driver_data = data;
318 get_device(struct device *dev)
321 if (dev)
322 kobject_get(&dev->kobj);
324 return (dev);
328 dev_name(const struct device *dev)
331 return kobject_name(&dev->kobj);
338 put_device(struct device *dev)
341 if (dev)
342 kobject_put(&dev->kobj);
386 device_initialize(struct device *dev)
391 if (dev->devt) {
392 unit = MINOR(dev->devt);
393 bsddev = devclass_get_device(dev->class->bsdclass, unit);
394 dev->bsddev_attached_here = false;
395 } else if (dev->parent == NULL) {
396 bsddev = devclass_get_device(dev->class->bsdclass, 0);
397 dev->bsddev_attached_here = false;
399 dev->bsddev_attached_here = true;
402 if (bsddev == NULL && dev->parent != NULL) {
403 bsddev = device_add_child(dev->parent->bsddev,
404 dev->class->kobj.name, unit);
408 device_set_softc(bsddev, dev);
410 dev->bsddev = bsddev;
411 MPASS(dev->bsddev != NULL);
412 kobject_init(&dev->kobj, &linux_dev_ktype);
414 spin_lock_init(&dev->devres_lock);
415 INIT_LIST_HEAD(&dev->devres_head);
419 device_add(struct device *dev)
421 if (dev->bsddev != NULL) {
422 if (dev->devt == 0)
423 dev->devt = makedev(0, device_get_unit(dev->bsddev));
425 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
427 if (dev->groups)
428 return (sysfs_create_groups(&dev->kobj, dev->groups));
434 device_create_release(struct device *dev)
436 kfree(dev);
445 struct device *dev;
448 dev = device_create_groups_vargs(class, parent, devt, drvdata,
451 return dev;
455 device_is_registered(struct device *dev)
458 return (dev->bsddev != NULL);
462 device_register(struct device *dev)
467 if (device_is_registered(dev))
470 if (dev->devt) {
471 unit = MINOR(dev->devt);
472 bsddev = devclass_get_device(dev->class->bsdclass, unit);
473 dev->bsddev_attached_here = false;
474 } else if (dev->parent == NULL) {
475 bsddev = devclass_get_device(dev->class->bsdclass, 0);
476 dev->bsddev_attached_here = false;
478 dev->bsddev_attached_here = true;
480 if (bsddev == NULL && dev->parent != NULL) {
481 bsddev = device_add_child(dev->parent->bsddev,
482 dev->class->kobj.name, unit);
485 if (dev->devt == 0)
486 dev->devt = makedev(0, device_get_unit(bsddev));
487 device_set_softc(bsddev, dev);
489 dev->bsddev = bsddev;
491 kobject_init(&dev->kobj, &linux_dev_ktype);
492 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev));
494 sysfs_create_groups(&dev->kobj, dev->class->dev_groups);
500 device_unregister(struct device *dev)
504 sysfs_remove_groups(&dev->kobj, dev->class->dev_groups);
506 bsddev = dev->bsddev;
507 dev->bsddev = NULL;
509 if (bsddev != NULL && dev->bsddev_attached_here) {
514 put_device(dev);
518 device_del(struct device *dev)
522 bsddev = dev->bsddev;
523 dev->bsddev = NULL;
525 if (bsddev != NULL && dev->bsddev_attached_here) {
545 device_release_driver(struct device *dev)
552 lkpi_devres_release_free_list(dev);
553 dev_set_drvdata(dev, NULL);
554 /* Do not call dev->release! */
557 if (device_is_attached(dev->bsddev))
558 device_detach(dev->bsddev);
564 device_reprobe(struct device *dev)
568 device_release_driver(dev);
570 error = device_probe_and_attach(dev->bsddev);
577 device_set_wakeup_enable(struct device *dev __unused, bool enable __unused)
587 device_wakeup_enable(struct device *dev)
590 device_set_wakeup_enable(dev, true);
595 device_iommu_mapped(struct device *dev __unused)
600 #define dev_pm_set_driver_flags(dev, flags) do { \
620 device_create_file(struct device *dev, const struct device_attribute *attr)
623 if (dev)
624 return sysfs_create_file(&dev->kobj, &attr->attr);
629 device_remove_file(struct device *dev, const struct device_attribute *attr)
632 if (dev)
633 sysfs_remove_file(&dev->kobj, &attr->attr);
653 #define dev_to_node(dev) linux_dev_to_node(dev)
665 devm_kmalloc(struct device *dev, size_t size, gfp_t gfp)
671 lkpi_devres_add(dev, p);
677 devm_kmemdup(struct device *dev, const void *src, size_t len, gfp_t gfp)
684 dst = devm_kmalloc(dev, len, gfp);
697 int lkpi_devm_add_action(struct device *dev, void (*action)(void *), void *data);
698 #define devm_add_action(dev, action, data) \
699 lkpi_devm_add_action(dev, action, data);
700 int lkpi_devm_add_action_or_reset(struct device *dev, void (*action)(void *), void *data);
701 #define devm_add_action_or_reset(dev, action, data) \
702 lkpi_devm_add_action_or_reset(dev, action, data)