diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2007-12-16 09:59:31 -0500 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2007-12-26 12:15:17 -0500 |
commit | 9f961b57568960a150cc9781c52824c9093a0514 (patch) | |
tree | 345d60347d63bdc9973a2447d84024776b73dd2f /drivers/mtd/ubi/cdev.c | |
parent | 16f557ecbf96dd13d13788a6f62d4d97ae73b1f9 (diff) |
UBI: add UBI control device
This patch is a preparation to make UBI devices dynamic. It
adds an UBI control device which has dynamically allocated
major number and registers itself as "ubi_ctrl". It does not
do anything so far. The idea is that this device will allow
to attach/detach MTD devices from userspace.
This is symilar to what the Linux device mapper has.
The next things to do are:
* Fix UBI, because it now assumes UBI devices cannot go away
* Implement control device ioctls which will attach/detach MTD
devices
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers/mtd/ubi/cdev.c')
-rw-r--r-- | drivers/mtd/ubi/cdev.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/cdev.c b/drivers/mtd/ubi/cdev.c index 22c15a388f28..bc900d24cdba 100644 --- a/drivers/mtd/ubi/cdev.c +++ b/drivers/mtd/ubi/cdev.c | |||
@@ -28,6 +28,11 @@ | |||
28 | * | 28 | * |
29 | * Major and minor numbers are assigned dynamically to both UBI and volume | 29 | * Major and minor numbers are assigned dynamically to both UBI and volume |
30 | * character devices. | 30 | * character devices. |
31 | * | ||
32 | * Well, there is the third kind of character devices - the UBI control | ||
33 | * character device, which allows to manipulate by UBI devices - create and | ||
34 | * delete them. In other words, it is used for attaching and detaching MTD | ||
35 | * devices. | ||
31 | */ | 36 | */ |
32 | 37 | ||
33 | #include <linux/module.h> | 38 | #include <linux/module.h> |
@@ -693,6 +698,11 @@ static int ubi_cdev_ioctl(struct inode *inode, struct file *file, | |||
693 | return err; | 698 | return err; |
694 | } | 699 | } |
695 | 700 | ||
701 | /* UBI control character device operations */ | ||
702 | struct file_operations ubi_ctrl_cdev_operations = { | ||
703 | .owner = THIS_MODULE, | ||
704 | }; | ||
705 | |||
696 | /* UBI character device operations */ | 706 | /* UBI character device operations */ |
697 | struct file_operations ubi_cdev_operations = { | 707 | struct file_operations ubi_cdev_operations = { |
698 | .owner = THIS_MODULE, | 708 | .owner = THIS_MODULE, |