#include <linux/module.h>
#include <linux/sched.h>
#include <linux/ctype.h>
#include <linux/fd.h>
#include <linux/tty.h>
#include <linux/suspend.h>
#include <linux/root_dev.h>
#include <linux/security.h>
#include <linux/delay.h>
#include <linux/mount.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/fs.h>
#include <linux/initrd.h>
#include <linux/async.h>
#include <linux/fs_struct.h>
#include <linux/slab.h>
#include <linux/ramfs.h>
#include <linux/shmem_fs.h>
#include <linux/ktime.h>
#include <linux/nfs_fs.h>
#include <linux/nfs_fs_sb.h>
#include <linux/nfs_mount.h>
#include <linux/raid/detect.h>
#include <uapi/linux/mount.h>
#include "do_mounts.h"
int root_mountflags = …;
static char __initdata saved_root_name[64];
static int root_wait;
dev_t ROOT_DEV;
static int __init load_ramdisk(char *str)
{ … }
__setup(…);
static int __init readonly(char *str)
{ … }
static int __init readwrite(char *str)
{ … }
__setup(…);
__setup(…);
static int __init root_dev_setup(char *line)
{ … }
__setup(…);
static int __init rootwait_setup(char *str)
{ … }
__setup(…);
static int __init rootwait_timeout_setup(char *str)
{ … }
__setup(…);
static char * __initdata root_mount_data;
static int __init root_data_setup(char *str)
{ … }
static char * __initdata root_fs_names;
static int __init fs_names_setup(char *str)
{ … }
static unsigned int __initdata root_delay;
static int __init root_delay_setup(char *str)
{ … }
__setup(…);
__setup(…);
__setup(…);
static int __init split_fs_names(char *page, size_t size)
{ … }
static int __init do_mount_root(const char *name, const char *fs,
const int flags, const void *data)
{ … }
void __init mount_root_generic(char *name, char *pretty_name, int flags)
{ … }
#ifdef CONFIG_ROOT_NFS
#define NFSROOT_TIMEOUT_MIN …
#define NFSROOT_TIMEOUT_MAX …
#define NFSROOT_RETRY_MAX …
static void __init mount_nfs_root(void)
{ … }
#else
static inline void mount_nfs_root(void)
{
}
#endif
#ifdef CONFIG_CIFS_ROOT
#define CIFSROOT_TIMEOUT_MIN …
#define CIFSROOT_TIMEOUT_MAX …
#define CIFSROOT_RETRY_MAX …
static void __init mount_cifs_root(void)
{ … }
#else
static inline void mount_cifs_root(void)
{
}
#endif
static bool __init fs_is_nodev(char *fstype)
{ … }
static int __init mount_nodev_root(char *root_device_name)
{ … }
#ifdef CONFIG_BLOCK
static void __init mount_block_root(char *root_device_name)
{ … }
#else
static inline void mount_block_root(char *root_device_name)
{
}
#endif
void __init mount_root(char *root_device_name)
{ … }
static void __init wait_for_root(char *root_device_name)
{ … }
static dev_t __init parse_root_device(char *root_device_name)
{ … }
void __init prepare_namespace(void)
{ … }
static bool is_tmpfs;
static int rootfs_init_fs_context(struct fs_context *fc)
{ … }
struct file_system_type rootfs_fs_type = …;
void __init init_rootfs(void)
{ … }