2005-04-17 02:20:36 +04:00
# include <linux/kernel.h>
2009-03-31 07:33:13 +04:00
# include <linux/blkdev.h>
2005-04-17 02:20:36 +04:00
# include <linux/init.h>
# include <linux/syscalls.h>
# include <linux/unistd.h>
# include <linux/slab.h>
# include <linux/mount.h>
# include <linux/major.h>
# include <linux/root_dev.h>
void change_floppy ( char * fmt , . . . ) ;
void mount_block_root ( char * name , int flags ) ;
void mount_root ( void ) ;
extern int root_mountflags ;
2005-06-21 08:15:16 +04:00
static inline int create_dev ( char * name , dev_t dev )
2005-04-17 02:20:36 +04:00
{
sys_unlink ( name ) ;
return sys_mknod ( name , S_IFBLK | 0600 , new_encode_dev ( dev ) ) ;
}
# if BITS_PER_LONG == 32
static inline u32 bstat ( char * name )
{
struct stat64 stat ;
if ( sys_stat64 ( name , & stat ) ! = 0 )
return 0 ;
if ( ! S_ISBLK ( stat . st_mode ) )
return 0 ;
if ( stat . st_rdev ! = ( u32 ) stat . st_rdev )
return 0 ;
return stat . st_rdev ;
}
# else
static inline u32 bstat ( char * name )
{
struct stat stat ;
if ( sys_newstat ( name , & stat ) ! = 0 )
return 0 ;
if ( ! S_ISBLK ( stat . st_mode ) )
return 0 ;
return stat . st_rdev ;
}
# endif
# ifdef CONFIG_BLK_DEV_RAM
int __init rd_load_disk ( int n ) ;
int __init rd_load_image ( char * from ) ;
# else
static inline int rd_load_disk ( int n ) { return 0 ; }
static inline int rd_load_image ( char * from ) { return 0 ; }
# endif
# ifdef CONFIG_BLK_DEV_INITRD
2016-01-21 01:59:29 +03:00
bool __init initrd_load ( void ) ;
2005-04-17 02:20:36 +04:00
# else
2016-01-21 01:59:29 +03:00
static inline bool initrd_load ( void ) { return false ; }
2005-04-17 02:20:36 +04:00
# endif
# ifdef CONFIG_BLK_DEV_MD
void md_run_setup ( void ) ;
# else
static inline void md_run_setup ( void ) { }
# endif