diff options
Diffstat (limited to 'fs/char_dev.c')
| -rw-r--r-- | fs/char_dev.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/fs/char_dev.c b/fs/char_dev.c index a4cbc6706ef0..3483d3cf8087 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c | |||
| @@ -182,6 +182,28 @@ int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, | |||
| 182 | return 0; | 182 | return 0; |
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | /** | ||
| 186 | * register_chrdev() - Register a major number for character devices. | ||
| 187 | * @major: major device number or 0 for dynamic allocation | ||
| 188 | * @name: name of this range of devices | ||
| 189 | * @fops: file operations associated with this devices | ||
| 190 | * | ||
| 191 | * If @major == 0 this functions will dynamically allocate a major and return | ||
| 192 | * its number. | ||
| 193 | * | ||
| 194 | * If @major > 0 this function will attempt to reserve a device with the given | ||
| 195 | * major number and will return zero on success. | ||
| 196 | * | ||
| 197 | * Returns a -ve errno on failure. | ||
| 198 | * | ||
| 199 | * The name of this device has nothing to do with the name of the device in | ||
| 200 | * /dev. It only helps to keep track of the different owners of devices. If | ||
| 201 | * your module name has only one type of devices it's ok to use e.g. the name | ||
| 202 | * of the module here. | ||
| 203 | * | ||
| 204 | * This function registers a range of 256 minor numbers. The first minor number | ||
| 205 | * is 0. | ||
| 206 | */ | ||
| 185 | int register_chrdev(unsigned int major, const char *name, | 207 | int register_chrdev(unsigned int major, const char *name, |
| 186 | const struct file_operations *fops) | 208 | const struct file_operations *fops) |
| 187 | { | 209 | { |
