Lines Matching refs:dev
58 void (*dev_release)(struct device *dev);
59 char * (*devnode)(struct device *dev, umode_t *mode);
64 int (*prepare)(struct device *dev);
66 int (*suspend)(struct device *dev);
67 int (*suspend_late)(struct device *dev);
68 int (*resume)(struct device *dev);
69 int (*resume_early)(struct device *dev);
70 int (*freeze)(struct device *dev);
71 int (*freeze_late)(struct device *dev);
72 int (*thaw)(struct device *dev);
73 int (*thaw_early)(struct device *dev);
74 int (*poweroff)(struct device *dev);
75 int (*poweroff_late)(struct device *dev);
76 int (*restore)(struct device *dev);
77 int (*restore_early)(struct device *dev);
78 int (*runtime_suspend)(struct device *dev);
79 int (*runtime_resume)(struct device *dev);
80 int (*runtime_idle)(struct device *dev);
108 void (*release)(struct device *dev);
180 #define dev_err(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
181 #define dev_warn(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
182 #define dev_info(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
183 #define dev_notice(dev, fmt, ...) device_printf((dev)->bsddev, fmt, ##__VA_ARGS__) argument
184 #define dev_dbg(dev, fmt, ...) do { } while (0) argument
185 #define dev_printk(lvl, dev, fmt, ...) \ argument
186 device_printf((dev)->bsddev, fmt, ##__VA_ARGS__)
188 #define dev_err_once(dev, ...) do { \ argument
192 dev_err(dev, __VA_ARGS__); \
196 #define dev_err_ratelimited(dev, ...) do { \ argument
199 dev_err(dev, __VA_ARGS__); \
202 #define dev_warn_ratelimited(dev, ...) do { \ argument
205 dev_warn(dev, __VA_ARGS__); \
209 dev_get_drvdata(const struct device *dev) in dev_get_drvdata() argument
212 return dev->driver_data; in dev_get_drvdata()
216 dev_set_drvdata(struct device *dev, void *data) in dev_set_drvdata() argument
219 dev->driver_data = data; in dev_set_drvdata()
223 get_device(struct device *dev) in get_device() argument
226 if (dev) in get_device()
227 kobject_get(&dev->kobj); in get_device()
229 return (dev); in get_device()
233 dev_name(const struct device *dev) in dev_name() argument
236 return kobject_name(&dev->kobj); in dev_name()
243 put_device(struct device *dev) in put_device() argument
246 if (dev) in put_device()
247 kobject_put(&dev->kobj); in put_device()
280 device_initialize(struct device *dev) in device_initialize() argument
285 if (dev->devt) { in device_initialize()
286 unit = MINOR(dev->devt); in device_initialize()
287 bsddev = devclass_get_device(dev->class->bsdclass, unit); in device_initialize()
288 dev->bsddev_attached_here = false; in device_initialize()
289 } else if (dev->parent == NULL) { in device_initialize()
290 bsddev = devclass_get_device(dev->class->bsdclass, 0); in device_initialize()
291 dev->bsddev_attached_here = false; in device_initialize()
293 dev->bsddev_attached_here = true; in device_initialize()
296 if (bsddev == NULL && dev->parent != NULL) { in device_initialize()
297 bsddev = device_add_child(dev->parent->bsddev, in device_initialize()
298 dev->class->kobj.name, unit); in device_initialize()
302 device_set_softc(bsddev, dev); in device_initialize()
304 dev->bsddev = bsddev; in device_initialize()
305 MPASS(dev->bsddev != NULL); in device_initialize()
306 kobject_init(&dev->kobj, &linux_dev_ktype); in device_initialize()
308 spin_lock_init(&dev->devres_lock); in device_initialize()
309 INIT_LIST_HEAD(&dev->devres_head); in device_initialize()
313 device_add(struct device *dev) in device_add() argument
315 if (dev->bsddev != NULL) { in device_add()
316 if (dev->devt == 0) in device_add()
317 dev->devt = makedev(0, device_get_unit(dev->bsddev)); in device_add()
319 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev)); in device_add()
321 if (dev->groups) in device_add()
322 return (sysfs_create_groups(&dev->kobj, dev->groups)); in device_add()
328 device_create_release(struct device *dev) in device_create_release() argument
330 kfree(dev); in device_create_release()
338 struct device *dev = NULL; in device_create_groups_vargs() local
344 dev = kzalloc(sizeof(*dev), GFP_KERNEL); in device_create_groups_vargs()
345 if (!dev) { in device_create_groups_vargs()
350 dev->devt = devt; in device_create_groups_vargs()
351 dev->class = class; in device_create_groups_vargs()
352 dev->parent = parent; in device_create_groups_vargs()
353 dev->groups = groups; in device_create_groups_vargs()
354 dev->release = device_create_release; in device_create_groups_vargs()
356 device_initialize(dev); in device_create_groups_vargs()
357 dev_set_drvdata(dev, drvdata); in device_create_groups_vargs()
359 retval = kobject_set_name_vargs(&dev->kobj, fmt, args); in device_create_groups_vargs()
363 retval = device_add(dev); in device_create_groups_vargs()
367 return dev; in device_create_groups_vargs()
370 put_device(dev); in device_create_groups_vargs()
380 struct device *dev; in device_create_with_groups() local
383 dev = device_create_groups_vargs(class, parent, devt, drvdata, in device_create_with_groups()
386 return dev; in device_create_with_groups()
390 device_is_registered(struct device *dev) in device_is_registered() argument
393 return (dev->bsddev != NULL); in device_is_registered()
397 device_register(struct device *dev) in device_register() argument
402 if (device_is_registered(dev)) in device_register()
405 if (dev->devt) { in device_register()
406 unit = MINOR(dev->devt); in device_register()
407 bsddev = devclass_get_device(dev->class->bsdclass, unit); in device_register()
408 dev->bsddev_attached_here = false; in device_register()
409 } else if (dev->parent == NULL) { in device_register()
410 bsddev = devclass_get_device(dev->class->bsdclass, 0); in device_register()
411 dev->bsddev_attached_here = false; in device_register()
413 dev->bsddev_attached_here = true; in device_register()
415 if (bsddev == NULL && dev->parent != NULL) { in device_register()
416 bsddev = device_add_child(dev->parent->bsddev, in device_register()
417 dev->class->kobj.name, unit); in device_register()
420 if (dev->devt == 0) in device_register()
421 dev->devt = makedev(0, device_get_unit(bsddev)); in device_register()
422 device_set_softc(bsddev, dev); in device_register()
424 dev->bsddev = bsddev; in device_register()
426 kobject_init(&dev->kobj, &linux_dev_ktype); in device_register()
427 kobject_add(&dev->kobj, &dev->class->kobj, dev_name(dev)); in device_register()
433 device_unregister(struct device *dev) in device_unregister() argument
437 bsddev = dev->bsddev; in device_unregister()
438 dev->bsddev = NULL; in device_unregister()
440 if (bsddev != NULL && dev->bsddev_attached_here) { in device_unregister()
445 put_device(dev); in device_unregister()
449 device_del(struct device *dev) in device_del() argument
453 bsddev = dev->bsddev; in device_del()
454 dev->bsddev = NULL; in device_del()
456 if (bsddev != NULL && dev->bsddev_attached_here) { in device_del()
478 #define dev_pm_set_driver_flags(dev, flags) do { \ argument
517 device_create_file(struct device *dev, const struct device_attribute *attr) in device_create_file() argument
520 if (dev) in device_create_file()
521 return sysfs_create_file(&dev->kobj, &attr->attr); in device_create_file()
526 device_remove_file(struct device *dev, const struct device_attribute *attr) in device_remove_file() argument
529 if (dev) in device_remove_file()
530 sysfs_remove_file(&dev->kobj, &attr->attr); in device_remove_file()
551 dev_to_node(struct device *dev) in dev_to_node() argument