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