Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #include <linux/kernel.h> 3 : : #include <linux/blkdev.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 : : 17 : 3 : static inline int create_dev(char *name, dev_t dev) 18 : : { 19 : 3 : ksys_unlink(name); 20 : 3 : return ksys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); 21 : : } 22 : : 23 : : static inline u32 bstat(char *name) 24 : : { 25 : : struct kstat stat; 26 : : if (vfs_stat(name, &stat) != 0) 27 : : return 0; 28 : : if (!S_ISBLK(stat.mode)) 29 : : return 0; 30 : : return stat.rdev; 31 : : } 32 : : 33 : : #ifdef CONFIG_BLK_DEV_RAM 34 : : 35 : : int __init rd_load_disk(int n); 36 : : int __init rd_load_image(char *from); 37 : : 38 : : #else 39 : : 40 : : static inline int rd_load_disk(int n) { return 0; } 41 : : static inline int rd_load_image(char *from) { return 0; } 42 : : 43 : : #endif 44 : : 45 : : #ifdef CONFIG_BLK_DEV_INITRD 46 : : 47 : : bool __init initrd_load(void); 48 : : 49 : : #else 50 : : 51 : : static inline bool initrd_load(void) { return false; } 52 : : 53 : : #endif 54 : : 55 : : #ifdef CONFIG_BLK_DEV_MD 56 : : 57 : : void md_run_setup(void); 58 : : 59 : : #else 60 : : 61 : : static inline void md_run_setup(void) {} 62 : : 63 : : #endif