Skip to content

device_create()

Purpose

device_create() registers a device object with the Linux device model and normally causes a /dev/<name> node to appear through devtmpfs or udev.

Typical Usage

my_class = class_create("mygpio_class");
my_device = device_create(my_class, NULL, devno, NULL, "mygpio");

This creates:

/dev/mygpio

Important Notes

Item Meaning
class Groups related devices under /sys/class
dev_t Major/minor device number
name User-space /dev node name

Common Pitfalls

Warning

The /dev node name is not determined by the Device Tree node name. It is determined by the name passed to device_create().

Warning

Always destroy the device and class during module cleanup.