---
name: "class_device_create"
section: "9"
platform: "linux"
package: "linux-manual-2.6.24"
version: "2.6.24-6~etchnhalf.9etch3"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/class_device_create"
---

# class\_device\_create(9)

creates a class device and registers it with sysfs

## NAME

class\_device\_create - creates a class device and registers it with sysfs

## SYNOPSIS

**struct class\_device \* class\_device\_create(struct class \*** *cls***, struct class\_device \*** *parent***, dev\_t** *devt***, struct device \*** *device***, const char \*** *fmt***,** *...***);**

## ARGUMENTS

*cls*

pointer to the struct class that this device should be registered to.

*parent*

pointer to the parent struct class\_device of this new device, if any.

*devt*

the dev\_t for the char device to be added.

*device*

a pointer to a struct device that is assiociated with this class device.

*fmt*

string for the class device's name

*...*

variable arguments

## DESCRIPTION

This function can be used by char device classes. A struct class\_device will be created in sysfs, registered to the specified class. A “dev” file will be created, showing the dev\_t for the device, if the dev\_t is not 0,0. If a pointer to a parent struct class\_device is passed in, the newly created struct class\_device will be a child of that device in sysfs. The pointer to the struct class\_device will be returned from the call. Any further sysfs files that might be required can be created using this pointer.

## NOTE

the struct class passed to this function must have previously been created with a call to **class\_create**.

## COPYRIGHT
