Skip to content

class_create()

Purpose

Creates a device class used with device_create() so udev can create /dev nodes.

#include <linux/device.h>

Prototype

struct class *class_create(const char *name);

Parameters

  • name: class name shown under /sys/class/.

Return Value

  • Success: returns a class pointer.
  • Failure: returns an error pointer; check with IS_ERR().

Minimal Example

my_class = class_create("mygpio");
if (IS_ERR(my_class))
    return PTR_ERR(my_class);

Common Pitfalls

  • Destroy the class with class_destroy().
  • Create the class after allocating the device number.
  • API signature may differ on older kernels; check the target kernel headers.