Lines Matching refs:dev
64 void (*dev_release)(struct device *dev);
65 char * (*devnode)(struct device *dev, umode_t *mode);
69 int (*prepare)(struct device *dev);
70 int (*suspend)(struct device *dev);
71 int (*suspend_late)(struct device *dev);
72 int (*resume)(struct device *dev);
73 int (*resume_early)(struct device *dev);
74 int (*freeze)(struct device *dev);
75 int (*freeze_late)(struct device *dev);
76 int (*thaw)(struct device *dev);
77 int (*thaw_early)(struct device *dev);
78 int (*poweroff)(struct device *dev);
79 int (*poweroff_late)(struct device *dev);
80 int (*restore)(struct device *dev);
81 int (*restore_early)(struct device *dev);
82 int (*runtime_suspend)(struct device *dev);
83 int (*runtime_resume)(struct device *dev);
84 int (*runtime_idle)(struct device *dev);
112 void (*release)(struct device *dev);
186 #define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
187 #define dev_crit(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
188 #define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
189 #define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
190 #define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
191 #define dev_emerg(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
192 #define dev_dbg(dev, fmt, ...) do { } while (0) argument
193 #define dev_printk(lvl, dev, fmt, ...) \ argument
194 device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
196 #define dev_err_once(dev, ...) do { \ argument
200 dev_err(dev, __VA_ARGS__); \
204 #define dev_err_ratelimited(dev, ...) do { \ argument
207 dev_err(dev, __VA_ARGS__); \
210 #define dev_warn_ratelimited(dev, ...) do { \ argument
213 dev_warn(dev, __VA_ARGS__); \
236 dev_driver_string(const struct device *dev) in dev_driver_string() argument
241 if (dev->bsddev != NULL) { in dev_driver_string()
242 drv = device_get_driver(dev->bsddev); in dev_driver_string()
251 dev_get_drvdata(const struct device *dev) in dev_get_drvdata() argument
254 return dev->driver_data; in dev_get_drvdata()
258 dev_set_drvdata(struct device *dev, void *data) in dev_set_drvdata() argument
261 dev->driver_data = data; in dev_set_drvdata()
265 get_device(struct device *dev) in get_device() argument
268 if (dev) in get_device()
269 kobject_get(&dev->kobj); in get_device()
271 return (dev); in get_device()
275 dev_name(const struct device *dev) in dev_name() argument
278 return kobject_name(&dev->kobj); in dev_name()
285 put_device(struct device *dev) in put_device() argument
288 if (dev) in put_device()
289 kobject_put(&dev->kobj); in put_device()
330 device_initialize(struct device *dev) in device_initialize() argument
335 if (dev->devt) { in device_initialize()
336 unit = MINOR(dev->devt); in device_initialize()
337 bsddev = devclass_get_device(dev->class->bsdclass, unit); in device_initialize()
338 dev->bsddev_attached_here = false; in device_initialize()
339 } else if (dev->parent == NULL) { in device_initialize()
340 bsddev = devclass_get_device(dev->class->bsdclass, 0); in device_initialize()
341 dev->bsddev_attached_here = false; in device_initialize()
343 dev->bsddev_attached_here = true; in device_initialize()
346 if (bsddev == NULL && dev->parent != NULL) { in device_initialize()
347 bsddev = device_add_child(dev->parent->bsddev, in device_initialize()
348 dev->class->kobj.name, unit); in device_initialize()
352 device_set_softc(bsddev, dev); in device_initialize()
354 dev->bsddev = bsddev; in device_initialize()
355 MPASS(dev->bsddev != NULL); in device_initialize()
356 kobject_init(&dev->kobj, &linux_dev_ktype); in device_initialize()
358 spin_lock_init(&dev->devres_lock); in device_initialize()
359 INIT_LIST_HEAD(&dev->devres_head); in device_initialize()
363 device_add(struct device *dev) in device_add() argument
365 if (dev->bsddev != NULL) { in device_add()
366 if (dev->devt == 0) in device_add()
367 dev->devt = makedev(0, device_get_unit(dev->bsddev)); in device_add()
369 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev)); in device_add()
371 if (dev->groups) in device_add()
372 return (sysfs_create_groups(&dev->kobj, dev->groups)); in device_add()
378 device_create_release(struct device *dev) in device_create_release() argument
380 kfree(dev); in device_create_release()
389 struct device *dev; in device_create_with_groups() local
392 dev = device_create_groups_vargs(class, parent, devt, drvdata, in device_create_with_groups()
395 return dev; in device_create_with_groups()
399 device_is_registered(struct device *dev) in device_is_registered() argument
402 return (dev->bsddev != NULL); in device_is_registered()
406 device_register(struct device *dev) in device_register() argument
411 if (device_is_registered(dev)) in device_register()
414 if (dev->devt) { in device_register()
415 unit = MINOR(dev->devt); in device_register()
416 bsddev = devclass_get_device(dev->class->bsdclass, unit); in device_register()
417 dev->bsddev_attached_here = false; in device_register()
418 } else if (dev->parent == NULL) { in device_register()
419 bsddev = devclass_get_device(dev->class->bsdclass, 0); in device_register()
420 dev->bsddev_attached_here = false; in device_register()
422 dev->bsddev_attached_here = true; in device_register()
424 if (bsddev == NULL && dev->parent != NULL) { in device_register()
425 bsddev = device_add_child(dev->parent->bsddev, in device_register()
426 dev->class->kobj.name, unit); in device_register()
429 if (dev->devt == 0) in device_register()
430 dev->devt = makedev(0, device_get_unit(bsddev)); in device_register()
431 device_set_softc(bsddev, dev); in device_register()
433 dev->bsddev = bsddev; in device_register()
435 kobject_init(&dev->kobj, &linux_dev_ktype); in device_register()
436 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev)); in device_register()
438 sysfs_create_groups(&dev->kobj, dev->class->dev_groups); in device_register()
444 device_unregister(struct device *dev) in device_unregister() argument
448 sysfs_remove_groups(&dev->kobj, dev->class->dev_groups); in device_unregister()
450 bsddev = dev->bsddev; in device_unregister()
451 dev->bsddev = NULL; in device_unregister()
453 if (bsddev != NULL && dev->bsddev_attached_here) { in device_unregister()
458 put_device(dev); in device_unregister()
462 device_del(struct device *dev) in device_del() argument
466 bsddev = dev->bsddev; in device_del()
467 dev->bsddev = NULL; in device_del()
469 if (bsddev != NULL && dev->bsddev_attached_here) { in device_del()
489 device_release_driver(struct device *dev) in device_release_driver() argument
496 lkpi_devres_release_free_list(dev); in device_release_driver()
497 dev_set_drvdata(dev, NULL); in device_release_driver()
501 if (device_is_attached(dev->bsddev)) in device_release_driver()
502 device_detach(dev->bsddev); in device_release_driver()
508 device_reprobe(struct device *dev) in device_reprobe() argument
512 device_release_driver(dev); in device_reprobe()
514 error = device_probe_and_attach(dev->bsddev); in device_reprobe()
520 #define dev_pm_set_driver_flags(dev, flags) do { \ argument
540 device_create_file(struct device *dev, const struct device_attribute *attr) in device_create_file() argument
543 if (dev) in device_create_file()
544 return sysfs_create_file(&dev->kobj, &attr->attr); in device_create_file()
549 device_remove_file(struct device *dev, const struct device_attribute *attr) in device_remove_file() argument
552 if (dev) in device_remove_file()
553 sysfs_remove_file(&dev->kobj, &attr->attr); in device_remove_file()
573 #define dev_to_node(dev) linux_dev_to_node(dev) argument
585 devm_kmalloc(struct device *dev, size_t size, gfp_t gfp) in devm_kmalloc() argument
591 lkpi_devres_add(dev, p); in devm_kmalloc()