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