MCPcopy Create free account
hub / github.com/F-Stack/f-stack / device_set_devclass

Function device_set_devclass

freebsd/kern/subr_bus.c:2728–2753  ·  view source on GitHub ↗

* @brief Set the devclass of a device * @see devclass_add_device(). */

Source from the content-addressed store, hash-verified

2726 * @see devclass_add_device().
2727 */
2728int
2729device_set_devclass(device_t dev, const char *classname)
2730{
2731 devclass_t dc;
2732 int error;
2733
2734 if (!classname) {
2735 if (dev->devclass)
2736 devclass_delete_device(dev->devclass, dev);
2737 return (0);
2738 }
2739
2740 if (dev->devclass) {
2741 printf("device_set_devclass: device class already set\n");
2742 return (EINVAL);
2743 }
2744
2745 dc = devclass_find_internal(classname, NULL, TRUE);
2746 if (!dc)
2747 return (ENOMEM);
2748
2749 error = devclass_add_device(dc, dev);
2750
2751 bus_data_generation_update();
2752 return (error);
2753}
2754
2755/**
2756 * @brief Set the devclass of a device and mark the devclass fixed.

Callers 2

device_probe_childFunction · 0.85

Calls 5

devclass_delete_deviceFunction · 0.85
devclass_find_internalFunction · 0.85
devclass_add_deviceFunction · 0.85
printfFunction · 0.70

Tested by

no test coverage detected