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