Scroll to navigation

DEVICE_CREATE_VARGS(9) Device drivers infrastructure DEVICE_CREATE_VARGS(9)

NAME

device_create_vargs - creates a device and registers it with sysfs

SYNOPSIS

struct device * device_create_vargs(struct class * class, struct device * parent, dev_t devt, void * drvdata, const char * fmt, va_list args);

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

args

va_list for the device's name

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.

Returns struct device pointer on success, or ERR_PTR on error.

NOTE

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

COPYRIGHT

June 2024 Kernel Hackers Manual 3.10