@ -101,8 +101,34 @@ int get_partition_info(struct blk_desc *dev_desc, int part,
void print_part ( struct blk_desc * dev_desc ) ;
void init_part ( struct blk_desc * dev_desc ) ;
void dev_print ( struct blk_desc * dev_desc ) ;
int get_device ( const char * ifname , const char * dev_str ,
struct blk_desc * * dev_desc ) ;
/**
* blk_get_device_by_str ( ) - Get a block device given its interface / hw partition
*
* Each interface allocates its own devices and typically struct blk_desc is
* contained with the interface ' s data structure . There is no global
* numbering for block devices , so the interface name must be provided .
*
* The hardware parition is not related to the normal software partitioning
* of a device - each hardware partition is effectively a separately
* accessible block device . When a hardware parition is selected on MMC the
* other hardware partitions become inaccessible . The same block device is
* used to access all hardware partitions , but its capacity may change when a
* different hardware partition is selected .
*
* When a hardware partition number is given , the block device switches to
* that hardware partition .
*
* @ ifname : Interface name ( e . g . " ide " , " scsi " )
* @ dev_str : Device and optional hw partition . This can either be a string
* containing the device number ( e . g . " 2 " ) or the device number
* and hardware partition number ( e . g . " 2.4 " ) for devices that
* support it ( currently only MMC ) .
* @ dev_desc : Returns a pointer to the block device on success
* @ return block device number ( local to the interface ) , or - 1 on error
*/
int blk_get_device_by_str ( const char * ifname , const char * dev_str ,
struct blk_desc * * dev_desc ) ;
int get_device_and_partition ( const char * ifname , const char * dev_part_str ,
struct blk_desc * * dev_desc ,
disk_partition_t * info , int allow_whole_dev ) ;
@ -124,8 +150,8 @@ static inline int get_partition_info(struct blk_desc *dev_desc, int part,
static inline void print_part ( struct blk_desc * dev_desc ) { }
static inline void init_part ( struct blk_desc * dev_desc ) { }
static inline void dev_print ( struct blk_desc * dev_desc ) { }
static inline int get_device ( const char * ifname , const char * dev_str ,
struct blk_desc * * dev_desc )
static inline int blk_ get_device_by_str ( const char * ifname , const char * dev_str ,
struct blk_desc * * dev_desc )
{ return - 1 ; }
static inline int get_device_and_partition ( const char * ifname ,
const char * dev_part_str ,