---
name: "device_create_drvdata"
section: "9"
platform: "linux"
package: "linux-manual-2.6.26"
version: "2.6.26-29"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/device_create_drvdata"
---

# device\_create\_drvdata(9)

creates a device and registers it with sysfs

## NAME

device\_create\_drvdata - creates a device and registers it with sysfs

## SYNOPSIS

**struct device \* device\_create\_drvdata(struct class \*** *class***, struct device \*** *parent***, dev\_t** *devt***, void \*** *drvdata***, const char \*** *fmt***,** *...***);**

## ARGUMENTS

*class*

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

*parent*

pointer to the parent struct device of this new device, if any

*devt*

the dev\_t for the char device to be added

*drvdata*

the data to be added to the device for callbacks

*fmt*

string for the device´s name

*...*

variable arguments

## DESCRIPTION

This function can be used by char device classes. A struct 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 device is passed in, the newly created struct device will be a child of that device in sysfs. The pointer to the struct 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
