1 #include <linux/config.h> 2 #include <linux/kernel.h> 3 #include <linux/devfs_fs_kernel.h> 4 #include <linux/init.h> 5 #include <linux/syscalls.h> 6 #include <linux/unistd.h> 7 #include <linux/slab.h> 8 #include <linux/mount.h> 9 #include <linux/major.h> 10 #include <linux/root_dev.h> 11 12 dev_t name_to_dev_t(char *name); 13 void change_floppy(char *fmt, ...); 14 void mount_block_root(char *name, int flags); 15 void mount_root(void); 16 extern int root_mountflags; 17 extern char *root_device_name; 18 19 #ifdef CONFIG_DEVFS_FS 20 21 void mount_devfs(void); 22 void umount_devfs(char *path); 23 int create_dev(char *name, dev_t dev, char *devfs_name); 24 25 #else 26 27 static inline void mount_devfs(void) {} 28 static inline void umount_devfs(const char *path) {} 29 30 static inline int create_dev(char *name, dev_t dev, char *devfs_name) 31 { 32 sys_unlink(name); 33 return sys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); 34 } 35 36 #endif 37 38 #if BITS_PER_LONG == 32 39 static inline u32 bstat(char *name) 40 { 41 struct stat64 stat; 42 if (sys_stat64(name, &stat) != 0) 43 return 0; 44 if (!S_ISBLK(stat.st_mode)) 45 return 0; 46 if (stat.st_rdev != (u32)stat.st_rdev) 47 return 0; 48 return stat.st_rdev; 49 } 50 #else 51 static inline u32 bstat(char *name) 52 { 53 struct stat stat; 54 if (sys_newstat(name, &stat) != 0) 55 return 0; 56 if (!S_ISBLK(stat.st_mode)) 57 return 0; 58 return stat.st_rdev; 59 } 60 #endif 61 62 #ifdef CONFIG_BLK_DEV_RAM 63 64 int __init rd_load_disk(int n); 65 int __init rd_load_image(char *from); 66 67 #else 68 69 static inline int rd_load_disk(int n) { return 0; } 70 static inline int rd_load_image(char *from) { return 0; } 71 72 #endif 73 74 #ifdef CONFIG_BLK_DEV_INITRD 75 76 int __init initrd_load(void); 77 78 #else 79 80 static inline int initrd_load(void) { return 0; } 81 82 #endif 83 84 #ifdef CONFIG_BLK_DEV_MD 85 86 void md_run_setup(void); 87 88 #else 89 90 static inline void md_run_setup(void) {} 91 92 #endif 93