diff options
| author | Peter Korsgaard <jacmet@sunsite.dk> | 2010-03-16 16:55:21 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-05-21 12:37:30 -0400 |
| commit | da5e4ef7fdb8f2fb0878dee3bd9d4dd10cea8cf1 (patch) | |
| tree | 172df2771cbfbb8501aaf6e04c34b4fc1b3c7cca /drivers/base | |
| parent | 1653268b1b538981df9bb85d637456530938be6c (diff) | |
devtmpfs: support !CONFIG_TMPFS
Make devtmpfs available on (embedded) configurations without SHMEM/TMPFS,
using ramfs instead.
Saves ~15KB.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base')
| -rw-r--r-- | drivers/base/Kconfig | 7 | ||||
| -rw-r--r-- | drivers/base/devtmpfs.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index fd52c48ee76..ef38aff737e 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig | |||
| @@ -18,9 +18,9 @@ config UEVENT_HELPER_PATH | |||
| 18 | 18 | ||
| 19 | config DEVTMPFS | 19 | config DEVTMPFS |
| 20 | bool "Maintain a devtmpfs filesystem to mount at /dev" | 20 | bool "Maintain a devtmpfs filesystem to mount at /dev" |
| 21 | depends on HOTPLUG && SHMEM && TMPFS | 21 | depends on HOTPLUG |
| 22 | help | 22 | help |
| 23 | This creates a tmpfs filesystem instance early at bootup. | 23 | This creates a tmpfs/ramfs filesystem instance early at bootup. |
| 24 | In this filesystem, the kernel driver core maintains device | 24 | In this filesystem, the kernel driver core maintains device |
| 25 | nodes with their default names and permissions for all | 25 | nodes with their default names and permissions for all |
| 26 | registered devices with an assigned major/minor number. | 26 | registered devices with an assigned major/minor number. |
| @@ -33,6 +33,9 @@ config DEVTMPFS | |||
| 33 | functional /dev without any further help. It also allows simple | 33 | functional /dev without any further help. It also allows simple |
| 34 | rescue systems, and reliably handles dynamic major/minor numbers. | 34 | rescue systems, and reliably handles dynamic major/minor numbers. |
| 35 | 35 | ||
| 36 | Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs | ||
| 37 | file system will be used instead. | ||
| 38 | |||
| 36 | config DEVTMPFS_MOUNT | 39 | config DEVTMPFS_MOUNT |
| 37 | bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" | 40 | bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" |
| 38 | depends on DEVTMPFS | 41 | depends on DEVTMPFS |
diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index 057cf11326b..af0600143d1 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/namei.h> | 20 | #include <linux/namei.h> |
| 21 | #include <linux/fs.h> | 21 | #include <linux/fs.h> |
| 22 | #include <linux/shmem_fs.h> | 22 | #include <linux/shmem_fs.h> |
| 23 | #include <linux/ramfs.h> | ||
| 23 | #include <linux/cred.h> | 24 | #include <linux/cred.h> |
| 24 | #include <linux/sched.h> | 25 | #include <linux/sched.h> |
| 25 | #include <linux/init_task.h> | 26 | #include <linux/init_task.h> |
| @@ -45,7 +46,11 @@ __setup("devtmpfs.mount=", mount_param); | |||
| 45 | static int dev_get_sb(struct file_system_type *fs_type, int flags, | 46 | static int dev_get_sb(struct file_system_type *fs_type, int flags, |
| 46 | const char *dev_name, void *data, struct vfsmount *mnt) | 47 | const char *dev_name, void *data, struct vfsmount *mnt) |
| 47 | { | 48 | { |
| 49 | #ifdef CONFIG_TMPFS | ||
| 48 | return get_sb_single(fs_type, flags, data, shmem_fill_super, mnt); | 50 | return get_sb_single(fs_type, flags, data, shmem_fill_super, mnt); |
| 51 | #else | ||
| 52 | return get_sb_single(fs_type, flags, data, ramfs_fill_super, mnt); | ||
| 53 | #endif | ||
| 49 | } | 54 | } |
| 50 | 55 | ||
| 51 | static struct file_system_type dev_fs_type = { | 56 | static struct file_system_type dev_fs_type = { |
