dm: Drop the block_dev_desc_t typedef
Subsystems (11)
PATCH v2 1/32 dm: Drop the block_dev_desc_t typedef
Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long and causes 80-column violations, rename it to struct blk_desc.
---
Changes in v2: None
api/api.c | 2 +- api/api_storage.c | 14 ++--- board/cm5200/fwupdate.c | 2 +- board/mpl/pip405/README | 4 +- cmd/disk.c | 2 +- cmd/fat.c | 4 +- cmd/gpt.c | 8 +-- cmd/host.c | 4 +- cmd/ide.c | 22 ++++---- cmd/mmc.c | 2 +- cmd/part.c | 8 +-- cmd/read.c | 4 +- cmd/reiser.c | 4 +- cmd/sata.c | 10 ++-- cmd/scsi.c | 12 ++--- cmd/unzip.c | 2 +- cmd/usb.c | 2 +- cmd/usb_mass_storage.c | 6 +-- cmd/zfs.c | 4 +- common/env_fat.c | 4 +- common/fb_mmc.c | 12 ++--- common/spl/spl_ext.c | 6 +-- common/spl/spl_fat.c | 8 +-- common/spl/spl_sata.c | 2 +- common/spl/spl_usb.c | 2 +- common/usb_storage.c | 22 ++++---- disk/part.c | 28 +++++----- disk/part_amiga.c | 14 ++--- disk/part_dos.c | 19 +++---- disk/part_efi.c | 38 ++++++------- disk/part_iso.c | 10 ++-- disk/part_mac.c | 19 ++++--- drivers/block/dwc_ahsata.c | 4 +- drivers/block/sandbox.c | 12 ++--- drivers/block/systemace.c | 8 +-- drivers/dfu/dfu_mmc.c | 2 +- drivers/mmc/mmc.c | 4 +- drivers/mmc/mmc_private.h | 8 +-- drivers/mmc/mmc_write.c | 4 +- fs/ext4/dev.c | 53 +++++++++--------- fs/ext4/ext4fs.c | 2 +- fs/fat/fat.c | 6 +-- fs/fs.c | 6 +-- fs/reiserfs/dev.c | 33 +++++------- fs/sandbox/sandboxfs.c | 4 +- fs/ubifs/ubifs.c | 2 +- fs/zfs/dev.c | 35 ++++++------ fs/zfs/zfs.c | 2 +- include/common.h | 2 +- include/ext4fs.h | 6 +-- include/fat.h | 4 +- include/ide.h | 6 +-- include/mmc.h | 2 +- include/part.h | 130 ++++++++++++++++++++++++--------------------- include/reiserfs.h | 2 +- include/sandboxblockdev.h | 2 +- include/sandboxfs.h | 2 +- include/sata.h | 2 +- include/spl.h | 10 ++-- include/systemace.h | 2 +- include/ubifs_uboot.h | 2 +- include/usb.h | 2 +- include/usb_mass_storage.h | 2 +- include/zfs_common.h | 4 +- lib/gunzip.c | 2 +- test/dm/usb.c | 2 +- 66 files changed, 338 insertions(+), 331 deletions(-)
api/api.c +1 -1
@@ -189,7 +189,7 @@ static int API_get_timer(va_list ap)* * - net: ð_device struct address from list pointed to by eth_devices * -* - storage: block_dev_desc_t struct address from &ide_dev_desc[n], +* - storage: struct blk_desc struct address from &ide_dev_desc[n], * &scsi_dev_desc[n] and similar tables * ****************************************************************************/
api/api_storage.c +7 -7
@@ -103,7 +103,7 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)int i; -block_dev_desc_t *dd; +struct blk_desc *dd;if (first) { di->cookie = (void *)get_dev (specs[type].name,0 );
@@ -148,7 +148,7 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di) di->type = specs[type].type;if (di->cookie !=NULL ) { - dd = (block_dev_desc_t *)di->cookie; + dd = (struct blk_desc *)di->cookie;if (dd->type ==DEV_TYPE_UNKNOWN ) {debugf ("device instance exists, but is not active.." ); found =0 ;
@@ -166,9 +166,9 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)/* -* returns: ENUM_IDE, ENUM_USB etc. based on block_dev_desc_t +* returns: ENUM_IDE, ENUM_USB etc. based on struct blk_desc */ -static int dev_stor_type (block_dev_desc_t *dd) +static int dev_stor_type (struct blk_desc *dd) {int i, j;
@@ -308,7 +308,7 @@ int dev_enum_storage(struct device_info *di)return 0 ; } -static int dev_stor_is_valid (int type,block_dev_desc_t *dd) +static int dev_stor_is_valid (int type,struct blk_desc *dd) {int i;
@@ -328,7 +328,7 @@ int dev_open_stor(void *cookie)if (type ==ENUM_MAX )return API_ENODEV ; -if (dev_stor_is_valid (type, (block_dev_desc_t *)cookie)) +if (dev_stor_is_valid (type, (struct blk_desc *)cookie))return 0 ;return API_ENODEV ;
@@ -348,7 +348,7 @@ int dev_close_stor(void *cookie)lbasize_t dev_read_stor (void *cookie,void *buf,lbasize_t len,lbastart_t start) {int type; -block_dev_desc_t *dd = (block_dev_desc_t *)cookie; +struct blk_desc *dd = (struct blk_desc *)cookie;if ((type =dev_stor_type (dd)) ==ENUM_MAX )return 0 ;
board/cm5200/fwupdate.c +1 -1
@@ -81,7 +81,7 @@ static int load_rescue_image(ulong addr)char dev[7 ];char addr_str[16 ];char *const argv[6 ] = {"fatload" ,"usb" , dev, addr_str, nxri,NULL }; -block_dev_desc_t *stor_dev =NULL ; +struct blk_desc *stor_dev =NULL ;cmd_tbl_t *bcmd;/* Get name of firmware directory */
board/mpl/pip405/README +2 -2
@@ -217,8 +217,8 @@ Added files: Block device changes: --------------------- To allow the use of dos_part.c, mac_part.c and iso_part.c, the parameter -block_dev_desc will be used when accessing the functions in these files. The block -device descriptor (block_dev_desc) contains a pointer to the read routine of the +blk_desc will be used when accessing the functions in these files. The block +device descriptor (blk_desc) contains a pointer to the read routine of the device, which will be used to read blocks from the device. Renamed function ide_print to dev_print and moved it to the file disk/part.c to use it for IDE ATAPI and SCSI devices.
cmd/disk.c +1 -1
@@ -20,7 +20,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,#if defined(CONFIG_IMAGE_FORMAT_LEGACY )image_header_t *hdr;#endif -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;#if defined(CONFIG_FIT )const void *fit_hdr =NULL ;
cmd/fat.c +2 -2
@@ -69,7 +69,7 @@ static int do_fat_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {int dev, part; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;disk_partition_t info;if (argc <2 ) {
@@ -105,7 +105,7 @@ static int do_fat_fswrite(cmd_tbl_t *cmdtp, int flag,int ret;unsigned long addr;unsigned long count; -block_dev_desc_t *dev_desc =NULL ; +struct blk_desc *dev_desc =NULL ;disk_partition_t info;int dev =0 ;int part =1 ;
cmd/gpt.c +4 -4
@@ -168,7 +168,7 @@ static bool found_key(const char *str, const char *key)* @return - zero on success, otherwise error * */ -static int set_gpt_info(block_dev_desc_t *dev_desc, +static int set_gpt_info(struct blk_desc *dev_desc, const char *str_part, char **str_disk_guid, disk_partition_t **partitions,
@@ -328,7 +328,7 @@ err:return errno; } -static int gpt_default (block_dev_desc_t *blk_dev_desc,const char *str_part) +static int gpt_default (struct blk_desc *blk_dev_desc,const char *str_part) {int ret;char *str_disk_guid;
@@ -356,7 +356,7 @@ static int gpt_default(block_dev_desc_t *blk_dev_desc, const char *str_part)return ret; } -static int gpt_verify (block_dev_desc_t *blk_dev_desc,const char *str_part) +static int gpt_verify (struct blk_desc *blk_dev_desc,const char *str_part) {ALLOC_CACHE_ALIGN_BUFFER_PAD (gpt_header, gpt_head,1 , blk_dev_desc->blksz);
@@ -408,7 +408,7 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])int ret =CMD_RET_SUCCESS ;int dev =0 ;char *ep; -block_dev_desc_t *blk_dev_desc =NULL ; +struct blk_desc *blk_dev_desc =NULL ;if (argc <4 || argc >5 )return CMD_RET_USAGE ;
cmd/host.c +2 -2
@@ -67,7 +67,7 @@ static int do_host_info(cmd_tbl_t *cmdtp, int flag, int argc,int dev;printf ("%3s %12s %s\n" ,"dev" ,"blocks" ,"path" );for (dev = min_dev; dev <= max_dev; dev++) { -block_dev_desc_t *blk_dev; +struct blk_desc *blk_dev;int ret;printf ("%3d " , dev);
@@ -92,7 +92,7 @@ static int do_host_dev(cmd_tbl_t *cmdtp, int flag, int argc, {int dev;char *ep; -block_dev_desc_t *blk_dev; +struct blk_desc *blk_dev;int ret;if (argc <1 || argc >3 )
cmd/ide.c +11 -11
@@ -53,7 +53,7 @@ ulong ide_bus_offset[CONFIG_SYS_IDE_MAXBUS] = {static int ide_bus_ok[CONFIG_SYS_IDE_MAXBUS ]; -block_dev_desc_t ide_dev_desc[CONFIG_SYS_IDE_MAXDEVICE ]; +struct blk_desc ide_dev_desc[CONFIG_SYS_IDE_MAXDEVICE ];/* ------------------------------------------------------------------------- */ #ifdef CONFIG_IDE_RESET
@@ -62,7 +62,7 @@ static void ide_reset (void);#define ide_reset ()/* dummy */ #endif -static void ide_ident (block_dev_desc_t *dev_desc); +static void ide_ident (struct blk_desc *dev_desc);static uchar ide_wait (int dev,ulong t);#define IDE_TIME_OUT 2000/* 2 sec timeout */
@@ -78,8 +78,8 @@ static void ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len#endif #ifdef CONFIG_ATAPI -static void atapi_inquiry (block_dev_desc_t *dev_desc); -static ulong atapi_read (block_dev_desc_t *block_dev,lbaint_t blknr, +static void atapi_inquiry (struct blk_desc *dev_desc); +static ulong atapi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer);#endif
@@ -187,7 +187,7 @@ int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])if (strcmp (argv[1 ],"read" ) ==0 ) {ulong addr =simple_strtoul (argv[2 ],NULL ,16 );ulong cnt =simple_strtoul (argv[4 ],NULL ,16 ); -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;ulong n;#ifdef CONFIG_SYS_64BIT_LBA
@@ -446,7 +446,7 @@ void ide_init(void)/* ------------------------------------------------------------------------- */ #ifdef CONFIG_PARTITIONS -block_dev_desc_t *ide_get_dev (int dev) +struct blk_desc *ide_get_dev (int dev) {return (dev <CONFIG_SYS_IDE_MAXDEVICE ) ? &ide_dev_desc[dev] :NULL ; }
@@ -541,7 +541,7 @@ __weak void ide_input_data(int dev, ulong *sect_buf, int words)/* ------------------------------------------------------------------------- */ -static void ide_ident (block_dev_desc_t *dev_desc) +static void ide_ident (struct blk_desc *dev_desc) {unsigned char c;hd_driveid_t iop;
@@ -713,7 +713,7 @@ static void ide_ident(block_dev_desc_t *dev_desc)/* ------------------------------------------------------------------------- */ -ulong ide_read (block_dev_desc_t *block_dev,lbaint_t blknr,lbaint_t blkcnt, +ulong ide_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) {int device = block_dev->dev;
@@ -839,7 +839,7 @@ IDE_READ_E:/* ------------------------------------------------------------------------- */ -ulong ide_write (block_dev_desc_t *block_dev,lbaint_t blknr,lbaint_t blkcnt, +ulong ide_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) {int device = block_dev->dev;
@@ -1301,7 +1301,7 @@ error: } -static void atapi_inquiry (block_dev_desc_t *dev_desc) +static void atapi_inquiry (struct blk_desc *dev_desc) {unsigned char ccb[12 ];/* Command descriptor block */ unsigned char iobuf[64 ];/* temp buf */
@@ -1394,7 +1394,7 @@ static void atapi_inquiry(block_dev_desc_t *dev_desc)#define ATAPI_READ_BLOCK_SIZE 2048/* assuming CD part */ #define ATAPI_READ_MAX_BLOCK (ATAPI_READ_MAX_BYTES/ATAPI_READ_BLOCK_SIZE) -ulong atapi_read (block_dev_desc_t *block_dev,lbaint_t blknr,lbaint_t blkcnt, +ulong atapi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) {int device = block_dev->dev;
cmd/mmc.c +1 -1
@@ -424,7 +424,7 @@ static int do_mmc_rescan(cmd_tbl_t *cmdtp, int flag,static int do_mmc_part (cmd_tbl_t *cmdtp,int flag,int argc,char *const argv[]) { -block_dev_desc_t *mmc_dev; +struct blk_desc *mmc_dev;struct mmc *mmc; mmc =init_mmc_device (curr_device, false);
cmd/part.c +4 -4
@@ -29,7 +29,7 @@static int do_part_uuid (int argc,char *const argv[]) {int part; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;disk_partition_t info;if (argc <2 )
@@ -52,7 +52,7 @@ static int do_part_uuid(int argc, char * const argv[])static int do_part_list (int argc,char *const argv[]) {int ret; -block_dev_desc_t *desc; +struct blk_desc *desc;char *var =NULL ;bool bootable = false;int i;
@@ -114,7 +114,7 @@ static int do_part_list(int argc, char * const argv[])static int do_part_start (int argc,char *const argv[]) { -block_dev_desc_t *desc; +struct blk_desc *desc;disk_partition_t info;char buf[512 ] = {0 };int part;
@@ -148,7 +148,7 @@ static int do_part_start(int argc, char * const argv[])static int do_part_size (int argc,char *const argv[]) { -block_dev_desc_t *desc; +struct blk_desc *desc;disk_partition_t info;char buf[512 ] = {0 };int part;
cmd/read.c +2 -2
@@ -15,7 +15,7 @@int do_read (cmd_tbl_t *cmdtp,int flag,int argc,char *const argv[]) {char *ep; -block_dev_desc_t *dev_desc =NULL ; +struct blk_desc *dev_desc =NULL ;int dev;int part =0 ;disk_partition_t part_info;
@@ -57,7 +57,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) offset = part_info.start; limit = part_info.size; }else { -/* Largest address not available in block_dev_desc_t. */ +/* Largest address not available in struct blk_desc. */ limit = ~0 ; }
cmd/reiser.c +2 -2
@@ -34,7 +34,7 @@ int do_reiserls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {char *filename ="/" ;int dev, part; -block_dev_desc_t *dev_desc=NULL ; +struct blk_desc *dev_desc =NULL ;disk_partition_t info;if (argc <3 )
@@ -82,7 +82,7 @@ int do_reiserload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])int dev, part;ulong addr =0 , filelen;disk_partition_t info; -block_dev_desc_t *dev_desc =NULL ; +struct blk_desc *dev_desc =NULL ;unsigned long count;char *addr_str;
cmd/sata.c +5 -5
@@ -16,15 +16,15 @@#include <sata.h> static int sata_curr_device =-1 ; -block_dev_desc_t sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE ]; +struct blk_desc sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE ]; -static unsigned long sata_bread (block_dev_desc_t *block_dev,lbaint_t start, +static unsigned long sata_bread (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,void *dst) {return sata_read (block_dev->dev, start, blkcnt, dst); } -static unsigned long sata_bwrite (block_dev_desc_t *block_dev,lbaint_t start, +static unsigned long sata_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *buffer) {return sata_write (block_dev->dev, start, blkcnt, buffer);
@@ -36,7 +36,7 @@ int __sata_initialize(void)int i;for (i =0 ; i <CONFIG_SYS_SATA_MAX_DEVICE ; i++) { -memset (&sata_dev_desc[i],0 ,sizeof (struct block_dev_desc )); +memset (&sata_dev_desc[i],0 ,sizeof (struct blk_desc )); sata_dev_desc[i].if_type =IF_TYPE_SATA ; sata_dev_desc[i].dev = i; sata_dev_desc[i].part_type =PART_TYPE_UNKNOWN ;
@@ -75,7 +75,7 @@ __weak int __sata_stop(void)int sata_stop (void ) __attribute__((weak,alias ("__sata_stop" )));#ifdef CONFIG_PARTITIONS -block_dev_desc_t *sata_get_dev (int dev) +struct blk_desc *sata_get_dev (int dev) {return (dev <CONFIG_SYS_SATA_MAX_DEVICE ) ? &sata_dev_desc[dev] :NULL ; }
cmd/scsi.c +6 -6
@@ -48,7 +48,7 @@ static int scsi_max_devs; /* number of highest available scsi device */static int scsi_curr_dev;/* current device */ -static block_dev_desc_t scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE ]; +static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE ];/******************************************************************************** * forward declerations of some Setup Routines
@@ -66,9 +66,9 @@ void scsi_ident_cpy (unsigned char *dest, unsigned char *src, unsigned int len);static int scsi_read_capacity (ccb *pccb,lbaint_t *capacity,unsigned long *blksz); -static ulong scsi_read (block_dev_desc_t *block_dev,lbaint_t blknr, +static ulong scsi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer); -static ulong scsi_write (block_dev_desc_t *block_dev,lbaint_t blknr, +static ulong scsi_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer);
@@ -239,7 +239,7 @@ void scsi_init(void)#endif #ifdef CONFIG_PARTITIONS -block_dev_desc_t *scsi_get_dev (int dev) +struct blk_desc *scsi_get_dev (int dev) {return (dev <CONFIG_SYS_SCSI_MAX_DEVICE ) ? &scsi_dev_desc[dev] :NULL ; }
@@ -376,7 +376,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])#define SCSI_MAX_READ_BLK 0xFFFF#define SCSI_LBA48_READ 0xFFFFFFF -static ulong scsi_read (block_dev_desc_t *block_dev,lbaint_t blknr, +static ulong scsi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) {int device = block_dev->dev;
@@ -443,7 +443,7 @@ static ulong scsi_read(block_dev_desc_t *block_dev, lbaint_t blknr,/* Almost the maximum amount of the scsi_ext command.. */ #define SCSI_MAX_WRITE_BLK 0xFFFF -static ulong scsi_write (block_dev_desc_t *block_dev,lbaint_t blknr, +static ulong scsi_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) {int device = block_dev->dev;
cmd/unzip.c +1 -1
@@ -43,7 +43,7 @@ U_BOOT_CMD(static int do_gzwrite (cmd_tbl_t *cmdtp,int flag,int argc,char *const argv[]) { -block_dev_desc_t *bdev; +struct blk_desc *bdev;int ret;unsigned char *addr;unsigned long length;
cmd/usb.c +1 -1
@@ -625,7 +625,7 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])int i;extern char usb_started;#ifdef CONFIG_USB_STORAGE -block_dev_desc_t *stor_dev; +struct blk_desc *stor_dev;#endif if (argc <2 )
cmd/usb_mass_storage.c +3 -3
@@ -19,7 +19,7 @@static int ums_read_sector (struct ums *ums_dev,ulong start,lbaint_t blkcnt,void *buf) { -block_dev_desc_t *block_dev = &ums_dev->block_dev; +struct blk_desc *block_dev = &ums_dev->block_dev;lbaint_t blkstart = start + ums_dev->start_sector;return block_dev->block_read (block_dev, blkstart, blkcnt, buf);
@@ -28,7 +28,7 @@ static int ums_read_sector(struct ums *ums_dev,static int ums_write_sector (struct ums *ums_dev,ulong start,lbaint_t blkcnt,const void *buf) { -block_dev_desc_t *block_dev = &ums_dev->block_dev; +struct blk_desc *block_dev = &ums_dev->block_dev;lbaint_t blkstart = start + ums_dev->start_sector;return block_dev->block_write (block_dev, blkstart, blkcnt, buf);
@@ -53,7 +53,7 @@ static void ums_fini(void)static int ums_init (const char *devtype,const char *devnums) {char *s, *t, *devnum, *name; -block_dev_desc_t *block_dev; +struct blk_desc *block_dev;int ret;struct ums *ums_new;
cmd/zfs.c +2 -2
@@ -39,7 +39,7 @@ static int do_zfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]int part;ulong addr =0 ;disk_partition_t info; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;char buf[12 ];unsigned long count;const char *addr_str;
@@ -135,7 +135,7 @@ static int do_zfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {const char *filename ="/" ;int part; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;disk_partition_t info;struct device_s vdev;
common/env_fat.c +2 -2
@@ -38,7 +38,7 @@ int env_init(void)int saveenv (void ) {env_t env_new; -block_dev_desc_t *dev_desc =NULL ; +struct blk_desc *dev_desc =NULL ;disk_partition_t info;int dev, part;int err;
@@ -77,7 +77,7 @@ int saveenv(void)void env_relocate_spec (void ) {ALLOC_CACHE_ALIGN_BUFFER (char, buf,CONFIG_ENV_SIZE ); -block_dev_desc_t *dev_desc =NULL ; +struct blk_desc *dev_desc =NULL ;disk_partition_t info;int dev, part;int err;
common/fb_mmc.c +6 -6
@@ -22,10 +22,10 @@static char *response_str;struct fb_mmc_sparse { -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc; }; -static int get_partition_info_efi_by_name_or_alias (block_dev_desc_t *dev_desc, +static int get_partition_info_efi_by_name_or_alias (struct blk_desc *dev_desc,const char *name,disk_partition_t *info) {int ret;
@@ -55,7 +55,7 @@ static int fb_mmc_sparse_write(struct sparse_storage *storage, char *data) {struct fb_mmc_sparse *sparse = priv; -block_dev_desc_t *dev_desc = sparse->dev_desc; +struct blk_desc *dev_desc = sparse->dev_desc;int ret; ret = dev_desc->block_write (dev_desc, offset, size, data);
@@ -65,7 +65,7 @@ static int fb_mmc_sparse_write(struct sparse_storage *storage,return ret; } -static void write_raw_image (block_dev_desc_t *dev_desc,disk_partition_t *info, +static void write_raw_image (struct blk_desc *dev_desc,disk_partition_t *info,const char *part_name,void *buffer,unsigned int download_bytes) {
@@ -100,7 +100,7 @@ void fb_mmc_flash_write(const char *cmd, unsigned int session_id, void *download_buffer, unsigned int download_bytes, char *response) { - block_dev_desc_t *dev_desc; + struct blk_desc *dev_desc;disk_partition_t info;/* initialize the response buffer */
@@ -165,7 +165,7 @@ void fb_mmc_flash_write(const char *cmd, unsigned int session_id,void fb_mmc_erase (const char *cmd,char *response) {int ret; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;disk_partition_t info;lbaint_t blks, blks_start, blks_size, grp_size;struct mmc *mmc =find_mmc_device (CONFIG_FASTBOOT_FLASH_MMC_DEV );
common/spl/spl_ext.c +3 -3
@@ -10,7 +10,7 @@#include <image.h> #ifdef CONFIG_SPL_EXT_SUPPORT -int spl_load_image_ext (block_dev_desc_t *block_dev, +int spl_load_image_ext (struct blk_desc *block_dev,int partition,const char *filename) {
@@ -64,7 +64,7 @@ end: }#ifdef CONFIG_SPL_OS_BOOT -int spl_load_image_ext_os (block_dev_desc_t *block_dev,int partition) +int spl_load_image_ext_os (struct blk_desc *block_dev,int partition) {int err;__maybe_unused loff_t filelen, actlen;
@@ -137,7 +137,7 @@ defaults: CONFIG_SPL_FS_LOAD_KERNEL_NAME); }#else -int spl_load_image_ext_os (block_dev_desc_t *block_dev,int partition) +int spl_load_image_ext_os (struct blk_desc *block_dev,int partition) {return -ENOSYS ; }
common/spl/spl_fat.c +4 -4
@@ -19,7 +19,7 @@static int fat_registered;#ifdef CONFIG_SPL_FAT_SUPPORT -static int spl_register_fat_device (block_dev_desc_t *block_dev,int partition) +static int spl_register_fat_device (struct blk_desc *block_dev,int partition) {int err =0 ;
@@ -39,7 +39,7 @@ static int spl_register_fat_device(block_dev_desc_t *block_dev, int partition)return err; } -int spl_load_image_fat (block_dev_desc_t *block_dev, +int spl_load_image_fat (struct blk_desc *block_dev,int partition,const char *filename) {
@@ -72,7 +72,7 @@ end: }#ifdef CONFIG_SPL_OS_BOOT -int spl_load_image_fat_os (block_dev_desc_t *block_dev,int partition) +int spl_load_image_fat_os (struct blk_desc *block_dev,int partition) {int err;__maybe_unused char *file;
@@ -121,7 +121,7 @@ defaults: CONFIG_SPL_FS_LOAD_KERNEL_NAME); }#else -int spl_load_image_fat_os (block_dev_desc_t *block_dev,int partition) +int spl_load_image_fat_os (struct blk_desc *block_dev,int partition) {return -ENOSYS ; }
common/spl/spl_sata.c +1 -1
@@ -23,7 +23,7 @@ DECLARE_GLOBAL_DATA_PTR;int spl_sata_load_image (void ) {int err; -block_dev_desc_t *stor_dev; +struct blk_desc *stor_dev; err =init_sata (CONFIG_SPL_SATA_BOOT_DEVICE );if (err) {
common/spl/spl_usb.c +1 -1
@@ -25,7 +25,7 @@ static int usb_stor_curr_dev = -1; /* current device */int spl_usb_load_image (void ) {int err; -block_dev_desc_t *stor_dev; +struct blk_desc *stor_dev;usb_stop (); err =usb_init ();
common/usb_storage.c +11 -11
@@ -67,7 +67,7 @@ static __u32 CBWTag;static int usb_max_devs;/* number of highest available usb device */ -static block_dev_desc_t usb_dev_desc[USB_MAX_STOR_DEV ]; +static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV ];struct us_data ;typedef int (*trans_cmnd )(ccb *cb,struct us_data *data);
@@ -115,17 +115,17 @@ static struct us_data usb_stor[USB_MAX_STOR_DEV];#define USB_STOR_TRANSPORT_ERROR -2int usb_stor_get_info (struct usb_device *dev,struct us_data *us, -block_dev_desc_t *dev_desc); +struct blk_desc *dev_desc);int usb_storage_probe (struct usb_device *dev,unsigned int ifnum,struct us_data *ss); -static unsigned long usb_stor_read (block_dev_desc_t *block_dev,lbaint_t blknr, +static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer); -static unsigned long usb_stor_write (block_dev_desc_t *block_dev,lbaint_t blknr, +static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer);void uhci_show_temp_int_td (void );#ifdef CONFIG_PARTITIONS -block_dev_desc_t *usb_stor_get_dev (int index) +struct blk_desc *usb_stor_get_dev (int index) {return (index < usb_max_devs) ? &usb_dev_desc[index] :NULL ; }
@@ -187,10 +187,10 @@ static int usb_stor_probe_device(struct usb_device *dev)for (lun =0 ; lun <= max_lun && usb_max_devs <USB_MAX_STOR_DEV ; lun++) { -struct block_dev_desc *blkdev; +struct blk_desc *blkdev; blkdev = &usb_dev_desc[usb_max_devs]; -memset (blkdev,'\0' ,sizeof (block_dev_desc_t)); +memset (blkdev,'\0' ,sizeof (struct blk_desc )); blkdev->if_type =IF_TYPE_USB ; blkdev->dev = usb_max_devs; blkdev->part_type =PART_TYPE_UNKNOWN ;
@@ -1011,7 +1011,7 @@ static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start,* device with proper values (as reported by 'usb info'). * * Vendor and product length limits are taken from the definition of -* block_dev_desc_t in include/part.h. +* struct blk_desc in include/part.h. */ static void usb_bin_fixup(struct usb_device_descriptor descriptor, unsigned char vendor[],
@@ -1026,7 +1026,7 @@ static void usb_bin_fixup(struct usb_device_descriptor descriptor, }#endif /* CONFIG_USB_BIN_FIXUP */ -static unsigned long usb_stor_read (block_dev_desc_t *block_dev,lbaint_t blknr, +static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) {int device = block_dev->dev;
@@ -1097,7 +1097,7 @@ retry_it:return blkcnt; } -static unsigned long usb_stor_write (block_dev_desc_t *block_dev,lbaint_t blknr, +static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) {int device = block_dev->dev;
@@ -1289,7 +1289,7 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum, }int usb_stor_get_info (struct usb_device *dev,struct us_data *ss, -block_dev_desc_t *dev_desc) +struct blk_desc *dev_desc) {unsigned char perq, modi;ALLOC_CACHE_ALIGN_BUFFER (u32, cap,2 );
disk/part.c +14 -14
@@ -22,7 +22,7 @@struct block_drvr {char *name; -block_dev_desc_t * (*get_dev)(int dev); +struct blk_desc * (*get_dev)(int dev);int (*select_hwpart)(int dev_num,int hwpart); };
@@ -58,10 +58,10 @@ static const struct block_drvr block_drvr[] = {DECLARE_GLOBAL_DATA_PTR ;#ifdef HAVE_BLOCK_DEVICE -static block_dev_desc_t *get_dev_hwpart (const char *ifname,int dev,int hwpart) +static struct blk_desc *get_dev_hwpart (const char *ifname,int dev,int hwpart) {const struct block_drvr *drvr = block_drvr; -block_dev_desc_t * (*reloc_get_dev)(int dev); +struct blk_desc * (*reloc_get_dev)(int dev);int (*select_hwpart)(int dev_num,int hwpart);char *name;int ret;
@@ -84,7 +84,7 @@ static block_dev_desc_t *get_dev_hwpart(const char *ifname, int dev, int hwpart) select_hwpart += gd->reloc_off;#endif if (strncmp (ifname, name,strlen (name)) ==0 ) { -block_dev_desc_t *dev_desc =reloc_get_dev (dev); +struct blk_desc *dev_desc =reloc_get_dev (dev);if (!dev_desc)return NULL ;if (hwpart ==0 && !select_hwpart)
@@ -101,17 +101,17 @@ static block_dev_desc_t *get_dev_hwpart(const char *ifname, int dev, int hwpart) return NULL; } -block_dev_desc_t *get_dev (const char *ifname,int dev) +struct blk_desc *get_dev (const char *ifname,int dev) {return get_dev_hwpart (ifname, dev,0 ); }#else -block_dev_desc_t *get_dev_hwpart (const char *ifname,int dev,int hwpart) +struct blk_desc *get_dev_hwpart (const char *ifname,int dev,int hwpart) {return NULL ; } -block_dev_desc_t *get_dev (const char *ifname,int dev) +struct blk_desc *get_dev (const char *ifname,int dev) {return NULL ; }
@@ -144,7 +144,7 @@ static lba512_t lba512_muldiv(lba512_t block_count, lba512_t mul_by, lba512_t direturn bc_quot * mul_by + (bc_rem * mul_by) / div_by; } -void dev_print (block_dev_desc_t *dev_desc) +void dev_print (struct blk_desc *dev_desc) {lba512_t lba512;/* number of blocks if 512bytes block size */
@@ -250,7 +250,7 @@ void dev_print (block_dev_desc_t *dev_desc)#ifdef HAVE_BLOCK_DEVICE -void init_part (block_dev_desc_t *dev_desc) +void init_part (struct blk_desc *dev_desc) {#ifdef CONFIG_ISO_PARTITION if (test_part_iso (dev_desc) ==0 ) {
@@ -297,7 +297,7 @@ void init_part(block_dev_desc_t *dev_desc)defined (CONFIG_AMIGA_PARTITION ) || \ defined(CONFIG_EFI_PARTITION) -static void print_part_header (const char *type,block_dev_desc_t *dev_desc) +static void print_part_header (const char *type,struct blk_desc *dev_desc) {puts ("\nPartition Map for " );switch (dev_desc->if_type) {
@@ -335,7 +335,7 @@ static void print_part_header(const char *type, block_dev_desc_t *dev_desc)#endif /* any CONFIG_..._PARTITION */ -void print_part (block_dev_desc_t * dev_desc) +void print_part (struct blk_desc *dev_desc) {switch (dev_desc->part_type) {
@@ -383,7 +383,7 @@ void print_part(block_dev_desc_t * dev_desc)#endif /* HAVE_BLOCK_DEVICE */ -int get_partition_info (block_dev_desc_t *dev_desc,int part, +int get_partition_info (struct blk_desc *dev_desc,int part,disk_partition_t *info) {#ifdef HAVE_BLOCK_DEVICE
@@ -450,7 +450,7 @@ int get_partition_info(block_dev_desc_t *dev_desc, int part, }int get_device (const char *ifname,const char *dev_hwpart_str, -block_dev_desc_t **dev_desc) +struct blk_desc **dev_desc) {char *ep;char *dup_str =NULL ;
@@ -512,7 +512,7 @@ cleanup:#define PART_AUTO -1#define MAX_SEARCH_PARTITIONS 16int get_device_and_partition (const char *ifname,const char *dev_part_str, -block_dev_desc_t **dev_desc, +struct blk_desc **dev_desc,disk_partition_t *info,int allow_whole_dev) {int ret =-1 ;
disk/part_amiga.c +8 -6
@@ -126,7 +126,7 @@ static void print_part_info(struct partition_block *p)* the ID AMIGA_ID_RDISK ('RDSK') and needs to have a valid * sum-to-zero checksum */ -struct rigid_disk_block *get_rdisk (block_dev_desc_t *dev_desc) +struct rigid_disk_block *get_rdisk (struct blk_desc *dev_desc) {int i;int limit;
@@ -166,7 +166,7 @@ struct rigid_disk_block *get_rdisk(block_dev_desc_t *dev_desc)* Ridgid disk block */ -struct bootcode_block *get_bootcode (block_dev_desc_t *dev_desc) +struct bootcode_block *get_bootcode (struct blk_desc *dev_desc) {int i;int limit;
@@ -207,7 +207,7 @@ struct bootcode_block *get_bootcode(block_dev_desc_t *dev_desc)* Test if the given partition has an Amiga partition table/Rigid * Disk block */ -int test_part_amiga (block_dev_desc_t *dev_desc) +int test_part_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *bootcode;
@@ -236,7 +236,8 @@ int test_part_amiga(block_dev_desc_t *dev_desc)/* * Find partition number partnum on the given drive. */ -static struct partition_block *find_partition (block_dev_desc_t *dev_desc,int partnum) +static struct partition_block *find_partition (struct blk_desc *dev_desc, +int partnum) {struct rigid_disk_block *rdb;struct partition_block *p;
@@ -290,7 +291,8 @@ static struct partition_block *find_partition(block_dev_desc_t *dev_desc, int pa/* * Get info about a partition */ -int get_partition_info_amiga (block_dev_desc_t *dev_desc,int part,disk_partition_t *info) +int get_partition_info_amiga (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {struct partition_block *p =find_partition (dev_desc, part-1 );struct amiga_part_geometry *g;
@@ -317,7 +319,7 @@ int get_partition_info_amiga (block_dev_desc_t *dev_desc, int part, disk_partitireturn 0 ; } -void print_part_amiga (block_dev_desc_t *dev_desc) +void print_part_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *boot;
disk/part_dos.c +10 -9
@@ -87,7 +87,7 @@ static int test_block_type(unsigned char *buffer) } -int test_part_dos (block_dev_desc_t *dev_desc) +int test_part_dos (struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
@@ -102,7 +102,7 @@ int test_part_dos (block_dev_desc_t *dev_desc)/* Print a partition that is relative to its Extended partition table */ -static void print_partition_extended (block_dev_desc_t *dev_desc, +static void print_partition_extended (struct blk_desc *dev_desc,lbaint_t ext_part_sector,lbaint_t relative,int part_num,unsigned int disksig)
@@ -167,11 +167,11 @@ static void print_partition_extended(block_dev_desc_t *dev_desc,/* Print a partition that is relative to its Extended partition table */ -static int get_partition_info_extended (block_dev_desc_t *dev_desc, -lbaint_t ext_part_sector, -lbaint_t relative,int part_num, -int which_part,disk_partition_t *info, -unsigned int disksig) +static int get_partition_info_extended (struct blk_desc *dev_desc, +lbaint_t ext_part_sector, +lbaint_t relative,int part_num, +int which_part,disk_partition_t *info, +unsigned int disksig) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);dos_partition_t *pt;
@@ -283,13 +283,14 @@ static int get_partition_info_extended (block_dev_desc_t *dev_desc,return -1 ; } -void print_part_dos (block_dev_desc_t *dev_desc) +void print_part_dos (struct blk_desc *dev_desc) {printf ("Part\tStart Sector\tNum Sectors\tUUID\t\tType\n" );print_partition_extended (dev_desc,0 ,0 ,1 ,0 ); } -int get_partition_info_dos (block_dev_desc_t *dev_desc,int part,disk_partition_t * info) +int get_partition_info_dos (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {return get_partition_info_extended (dev_desc,0 ,0 ,1 , part, info,0 ); }
disk/part_efi.c +19 -19
@@ -41,10 +41,10 @@ static inline u32 efi_crc32(const void *buf, u32 len)static int pmbr_part_valid (struct partition *part);static int is_pmbr_valid (legacy_mbr * mbr); -static int is_gpt_valid (block_dev_desc_t *dev_desc,u64 lba, +static int is_gpt_valid (struct blk_desc *dev_desc,u64 lba,gpt_header *pgpt_head,gpt_entry **pgpt_pte); -static gpt_entry *alloc_read_gpt_entries (block_dev_desc_t * dev_desc, -gpt_header * pgpt_head); +static gpt_entry *alloc_read_gpt_entries (struct blk_desc *dev_desc, +gpt_header *pgpt_head);static int is_pte_valid (gpt_entry * pte);static char *print_efiname (gpt_entry *pte)
@@ -176,7 +176,7 @@ static void prepare_backup_gpt_header(gpt_header *gpt_h)* Public Functions (include/part.h) */ -void print_part_efi (block_dev_desc_t * dev_desc) +void print_part_efi (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER_PAD (gpt_header, gpt_head,1 , dev_desc->blksz);gpt_entry *gpt_pte =NULL ;
@@ -237,8 +237,8 @@ void print_part_efi(block_dev_desc_t * dev_desc)return ; } -int get_partition_info_efi (block_dev_desc_t * dev_desc,int part, -disk_partition_t * info) +int get_partition_info_efi (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {ALLOC_CACHE_ALIGN_BUFFER_PAD (gpt_header, gpt_head,1 , dev_desc->blksz);gpt_entry *gpt_pte =NULL ;
@@ -300,7 +300,7 @@ int get_partition_info_efi(block_dev_desc_t * dev_desc, int part,return 0 ; } -int get_partition_info_efi_by_name (block_dev_desc_t *dev_desc, +int get_partition_info_efi_by_name (struct blk_desc *dev_desc,const char *name,disk_partition_t *info) {int ret;
@@ -319,7 +319,7 @@ int get_partition_info_efi_by_name(block_dev_desc_t *dev_desc,return -2 ; } -int test_part_efi (block_dev_desc_t * dev_desc) +int test_part_efi (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER_PAD (legacy_mbr, legacymbr,1 , dev_desc->blksz);
@@ -337,7 +337,7 @@ int test_part_efi(block_dev_desc_t * dev_desc)* * @return - zero on success, otherwise error */ -static int set_protective_mbr (block_dev_desc_t *dev_desc) +static int set_protective_mbr (struct blk_desc *dev_desc) {/* Setup the Protective MBR */ ALLOC_CACHE_ALIGN_BUFFER (legacy_mbr, p_mbr,1 );
@@ -363,7 +363,7 @@ static int set_protective_mbr(block_dev_desc_t *dev_desc)return 0 ; } -int write_gpt_table (block_dev_desc_t *dev_desc, +int write_gpt_table (struct blk_desc *dev_desc,gpt_header *gpt_h,gpt_entry *gpt_e) { const int pte_blk_cnt = BLOCK_CNT((gpt_h->num_partition_entries
@@ -517,7 +517,7 @@ int gpt_fill_pte(gpt_header *gpt_h, gpt_entry *gpt_e,return 0 ; } -int gpt_fill_header (block_dev_desc_t *dev_desc,gpt_header *gpt_h, +int gpt_fill_header (struct blk_desc *dev_desc,gpt_header *gpt_h,char *str_guid,int parts_count) { gpt_h->signature =cpu_to_le64 (GPT_HEADER_SIGNATURE );
@@ -539,7 +539,7 @@ int gpt_fill_header(block_dev_desc_t *dev_desc, gpt_header *gpt_h,return 0 ; } -int gpt_restore (block_dev_desc_t *dev_desc,char *str_disk_guid, +int gpt_restore (struct blk_desc *dev_desc,char *str_disk_guid,disk_partition_t *partitions,int parts_count) {int ret;
@@ -595,7 +595,7 @@ static void gpt_convert_efi_name_to_char(char *s, efi_char16_t *es, int n) } } -int gpt_verify_headers (block_dev_desc_t *dev_desc,gpt_header *gpt_head, +int gpt_verify_headers (struct blk_desc *dev_desc,gpt_header *gpt_head,gpt_entry **gpt_pte) {/*
@@ -619,7 +619,7 @@ int gpt_verify_headers(block_dev_desc_t *dev_desc, gpt_header *gpt_head,return 0 ; } -int gpt_verify_partitions (block_dev_desc_t *dev_desc, +int gpt_verify_partitions (struct blk_desc *dev_desc,disk_partition_t *partitions,int parts,gpt_header *gpt_head,gpt_entry **gpt_pte) {
@@ -691,7 +691,7 @@ int gpt_verify_partitions(block_dev_desc_t *dev_desc,return 0 ; } -int is_valid_gpt_buf (block_dev_desc_t *dev_desc,void *buf) +int is_valid_gpt_buf (struct blk_desc *dev_desc,void *buf) {gpt_header *gpt_h;gpt_entry *gpt_e;
@@ -712,7 +712,7 @@ int is_valid_gpt_buf(block_dev_desc_t *dev_desc, void *buf)return 0 ; } -int write_mbr_and_gpt_partitions (block_dev_desc_t *dev_desc,void *buf) +int write_mbr_and_gpt_partitions (struct blk_desc *dev_desc,void *buf) {gpt_header *gpt_h;gpt_entry *gpt_e;
@@ -834,7 +834,7 @@ static int is_pmbr_valid(legacy_mbr * mbr)* Description: returns 1 if valid, 0 on error. * If valid, returns pointers to PTEs. */ -static int is_gpt_valid (block_dev_desc_t *dev_desc,u64 lba, +static int is_gpt_valid (struct blk_desc *dev_desc,u64 lba,gpt_header *pgpt_head,gpt_entry **pgpt_pte) {if (!dev_desc || !pgpt_head) {
@@ -876,8 +876,8 @@ static int is_gpt_valid(block_dev_desc_t *dev_desc, u64 lba,* Allocates space for PTEs based on information found in @gpt. * Notes: remember to free pte when you're done! */ -static gpt_entry *alloc_read_gpt_entries (block_dev_desc_t * dev_desc, -gpt_header * pgpt_head) +static gpt_entry *alloc_read_gpt_entries (struct blk_desc *dev_desc, +gpt_header *pgpt_head) {size_t count =0 , blk_cnt;lbaint_t blk;
disk/part_iso.c +6 -4
@@ -46,7 +46,8 @@ static inline unsigned short le16_to_int(unsigned char *le16)/* only boot records will be listed as valid partitions */ -int get_partition_info_iso_verb (block_dev_desc_t * dev_desc,int part_num,disk_partition_t * info,int verb) +int get_partition_info_iso_verb (struct blk_desc *dev_desc,int part_num, +disk_partition_t *info,int verb) {int i,offset,entry_num;unsigned short *chksumbuf;
@@ -216,13 +217,14 @@ found:return 0 ; } -int get_partition_info_iso (block_dev_desc_t * dev_desc,int part_num,disk_partition_t * info) +int get_partition_info_iso (struct blk_desc *dev_desc,int part_num, +disk_partition_t *info) {return (get_partition_info_iso_verb (dev_desc, part_num, info,1 )); } -void print_part_iso (block_dev_desc_t * dev_desc) +void print_part_iso (struct blk_desc *dev_desc) {disk_partition_t info;int i;
@@ -239,7 +241,7 @@ void print_part_iso(block_dev_desc_t * dev_desc) }while (get_partition_info_iso_verb (dev_desc,i,&info,0 )!=-1 ); } -int test_part_iso (block_dev_desc_t *dev_desc) +int test_part_iso (struct blk_desc *dev_desc) {disk_partition_t info;
disk/part_mac.c +12 -7
@@ -32,13 +32,15 @@ extern ldiv_t ldiv (long int __numer, long int __denom);#endif -static int part_mac_read_ddb (block_dev_desc_t *dev_desc,mac_driver_desc_t *ddb_p); -static int part_mac_read_pdb (block_dev_desc_t *dev_desc,int part,mac_partition_t *pdb_p); +static int part_mac_read_ddb (struct blk_desc *dev_desc, +mac_driver_desc_t *ddb_p); +static int part_mac_read_pdb (struct blk_desc *dev_desc,int part, +mac_partition_t *pdb_p);/* * Test for a valid MAC partition */ -int test_part_mac (block_dev_desc_t *dev_desc) +int test_part_mac (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );ALLOC_CACHE_ALIGN_BUFFER (mac_partition_t, mpart,1 );
@@ -63,7 +65,7 @@ int test_part_mac (block_dev_desc_t *dev_desc) } -void print_part_mac (block_dev_desc_t *dev_desc) +void print_part_mac (struct blk_desc *dev_desc) {ulong i, n;ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );
@@ -149,7 +151,8 @@ void print_part_mac (block_dev_desc_t *dev_desc)/* * Read Device Descriptor Block */ -static int part_mac_read_ddb (block_dev_desc_t *dev_desc,mac_driver_desc_t *ddb_p) +static int part_mac_read_ddb (struct blk_desc *dev_desc, +mac_driver_desc_t *ddb_p) {if (dev_desc->block_read (dev_desc,0 ,1 , (ulong *)ddb_p) !=1 ) {printf ("** Can't read Driver Desriptor Block **\n" );
@@ -169,7 +172,8 @@ static int part_mac_read_ddb (block_dev_desc_t *dev_desc, mac_driver_desc_t *ddb/* * Read Partition Descriptor Block */ -static int part_mac_read_pdb (block_dev_desc_t *dev_desc,int part,mac_partition_t *pdb_p) +static int part_mac_read_pdb (struct blk_desc *dev_desc,int part, +mac_partition_t *pdb_p) {int n =1 ;
@@ -210,7 +214,8 @@ static int part_mac_read_pdb (block_dev_desc_t *dev_desc, int part, mac_partitio/* NOTREACHED */ } -int get_partition_info_mac (block_dev_desc_t *dev_desc,int part,disk_partition_t *info) +int get_partition_info_mac (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );ALLOC_CACHE_ALIGN_BUFFER (mac_partition_t, mpart,1 );
drivers/block/dwc_ahsata.c +2 -2
@@ -620,7 +620,7 @@ int reset_sata(int dev)static void dwc_ahsata_print_info (int dev) { -block_dev_desc_t *pdev = &(sata_dev_desc[dev]); +struct blk_desc *pdev = &(sata_dev_desc[dev]);printf ("SATA Device Info:\n\r" );#ifdef CONFIG_SYS_64BIT_LBA
@@ -956,7 +956,7 @@ int scan_sata(int dev)struct ahci_probe_ent *probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv;u8 port = probe_ent->hard_port_no; -block_dev_desc_t *pdev = &(sata_dev_desc[dev]); +struct blk_desc *pdev = &(sata_dev_desc[dev]); id = (u16 *)memalign(ARCH_DMA_MINALIGN, roundup(ARCH_DMA_MINALIGN,
drivers/block/sandbox.c +6 -6
@@ -22,7 +22,7 @@ static struct host_block_dev *find_host_device(int dev)return NULL ; } -static unsigned long host_block_read (block_dev_desc_t *block_dev, +static unsigned long host_block_read (struct blk_desc *block_dev,unsigned long start,lbaint_t blkcnt,void *buffer) {
@@ -44,7 +44,7 @@ static unsigned long host_block_read(block_dev_desc_t *block_dev,return -1 ; } -static unsigned long host_block_write (block_dev_desc_t *block_dev, +static unsigned long host_block_write (struct blk_desc *block_dev,unsigned long start,lbaint_t blkcnt,const void *buffer) {
@@ -89,7 +89,7 @@ int host_dev_bind(int dev, char *filename)return 1 ; } -block_dev_desc_t *blk_dev = &host_dev->blk_dev; +struct blk_desc *blk_dev = &host_dev->blk_dev; blk_dev->if_type =IF_TYPE_HOST ; blk_dev->priv = host_dev; blk_dev->blksz =512 ;
@@ -103,7 +103,7 @@ int host_dev_bind(int dev, char *filename)return 0 ; } -int host_get_dev_err (int dev,block_dev_desc_t **blk_devp) +int host_get_dev_err (int dev,struct blk_desc **blk_devp) {struct host_block_dev *host_dev =find_host_device (dev);
@@ -117,9 +117,9 @@ int host_get_dev_err(int dev, block_dev_desc_t **blk_devp)return 0 ; } -block_dev_desc_t *host_get_dev (int dev) +struct blk_desc *host_get_dev (int dev) { -block_dev_desc_t *blk_dev; +struct blk_desc *blk_dev;if (host_get_dev_err (dev, &blk_dev))return NULL ;
drivers/block/systemace.c +4 -4
@@ -69,11 +69,11 @@ static u16 ace_readw(unsigned off)return in16 (base + off); } -static unsigned long systemace_read (block_dev_desc_t *block_dev, +static unsigned long systemace_read (struct blk_desc *block_dev,unsigned long start,lbaint_t blkcnt,void *buffer); -static block_dev_desc_t systemace_dev = {0 }; +static struct blk_desc systemace_dev = {0 };static int get_cf_lock (void ) {
@@ -105,7 +105,7 @@ static void release_cf_lock(void) }#ifdef CONFIG_PARTITIONS -block_dev_desc_t *systemace_get_dev (int dev) +struct blk_desc *systemace_get_dev (int dev) {/* The first time through this, the systemace_dev object is not yet initialized. In that case, fill it in. */
@@ -137,7 +137,7 @@ block_dev_desc_t *systemace_get_dev(int dev)* the dev_desc) to read blocks of data. The return value is the * number of blocks read. A zero return indicates an error. */ -static unsigned long systemace_read (block_dev_desc_t *block_dev, +static unsigned long systemace_read (struct blk_desc *block_dev,unsigned long start,lbaint_t blkcnt,void *buffer) {
drivers/dfu/dfu_mmc.c +1 -1
@@ -351,7 +351,7 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char *s) }else if (!strcmp (entity_type,"part" )) {disk_partition_t partinfo; -block_dev_desc_t *blk_dev = &mmc->block_dev; +struct blk_desc *blk_dev = &mmc->block_dev;int mmcdev = second_arg;int mmcpart = third_arg;
drivers/mmc/mmc.c +2 -2
@@ -234,7 +234,7 @@ static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start,return blkcnt; } -static ulong mmc_bread (block_dev_desc_t *block_dev,lbaint_t start, +static ulong mmc_bread (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,void *dst) {int dev_num = block_dev->dev;
@@ -1579,7 +1579,7 @@ void mmc_destroy(struct mmc *mmc) }#ifdef CONFIG_PARTITIONS -block_dev_desc_t *mmc_get_dev (int dev) +struct blk_desc *mmc_get_dev (int dev) {struct mmc *mmc =find_mmc_device (dev);if (!mmc ||mmc_init (mmc))
drivers/mmc/mmc_private.h +4 -4
@@ -22,23 +22,23 @@ void mmc_adapter_card_type_ident(void);#ifndef CONFIG_SPL_BUILD -unsigned long mmc_berase (block_dev_desc_t *block_dev,lbaint_t start, +unsigned long mmc_berase (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt); -unsigned long mmc_bwrite (block_dev_desc_t *block_dev,lbaint_t start, +unsigned long mmc_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *src);#else /* CONFIG_SPL_BUILD */ /* SPL will never write or erase, declare dummies to reduce code size. */ -static inline unsigned long mmc_berase (block_dev_desc_t *block_dev, +static inline unsigned long mmc_berase (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt) {return 0 ; } -static inline ulong mmc_bwrite (block_dev_desc_t *block_dev,lbaint_t start, +static inline ulong mmc_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *src) {return 0 ;
drivers/mmc/mmc_write.c +2 -2
@@ -65,7 +65,7 @@ err_out:return err; } -unsigned long mmc_berase (block_dev_desc_t *block_dev,lbaint_t start, +unsigned long mmc_berase (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt) {int dev_num = block_dev->dev;
@@ -171,7 +171,7 @@ static ulong mmc_write_blocks(struct mmc *mmc, lbaint_t start,return blkcnt; } -ulong mmc_bwrite (block_dev_desc_t *block_dev,lbaint_t start,lbaint_t blkcnt, +ulong mmc_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *src) {int dev_num = block_dev->dev;
fs/ext4/dev.c +25 -28
108 lines not on this page · raw message
fs/ext4/ext4fs.c +1 -1
@@ -198,7 +198,7 @@ int ext4fs_read(char *buf, loff_t len, loff_t *actread)return ext4fs_read_file (ext4fs_file,0 , len, buf, actread); } -int ext4fs_probe (block_dev_desc_t *fs_dev_desc, +int ext4fs_probe (struct blk_desc *fs_dev_desc,disk_partition_t *fs_partition) {ext4fs_set_blk_dev (fs_dev_desc, fs_partition);
fs/fat/fat.c +3 -3
@@ -37,7 +37,7 @@ static void downcase(char *str) } } -static block_dev_desc_t *cur_dev; +static struct blk_desc *cur_dev;static disk_partition_t cur_part_info;#define DOS_BOOT_MAGIC_OFFSET 0x1fe
@@ -60,7 +60,7 @@ static int disk_read(__u32 block, __u32 nr_blocks, void *buf)return ret; } -int fat_set_blk_dev (block_dev_desc_t *dev_desc,disk_partition_t *info) +int fat_set_blk_dev (struct blk_desc *dev_desc,disk_partition_t *info) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
@@ -89,7 +89,7 @@ int fat_set_blk_dev(block_dev_desc_t *dev_desc, disk_partition_t *info)return -1 ; } -int fat_register_device (block_dev_desc_t *dev_desc,int part_no) +int fat_register_device (struct blk_desc *dev_desc,int part_no) {disk_partition_t info;
fs/fs.c +3 -3
@@ -20,11 +20,11 @@DECLARE_GLOBAL_DATA_PTR ; -static block_dev_desc_t *fs_dev_desc; +static struct blk_desc *fs_dev_desc;static disk_partition_t fs_partition;static int fs_type =FS_TYPE_ANY ; -static inline int fs_probe_unsupported (block_dev_desc_t *fs_dev_desc, +static inline int fs_probe_unsupported (struct blk_desc *fs_dev_desc,disk_partition_t *fs_partition) {printf ("** Unrecognized filesystem type **\n" );
@@ -81,7 +81,7 @@ struct fstype_info {* filesystem. */ bool null_dev_desc_ok; -int (*probe)(block_dev_desc_t *fs_dev_desc, +int (*probe)(struct blk_desc *fs_dev_desc,disk_partition_t *fs_partition);int (*ls)(const char *dirname);int (*exists)(const char *filename);
fs/reiserfs/dev.c +14 -19
@@ -12,13 +12,13 @@#include "reiserfs_private.h" -static block_dev_desc_t *reiserfs_block_dev_desc; +static struct blk_desc *reiserfs_blk_desc;static disk_partition_t *part_info; -void reiserfs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info) +void reiserfs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info) { - reiserfs_block_dev_desc = rbdd; + reiserfs_blk_desc = rbdd; part_info = info; }
@@ -53,17 +53,15 @@ int reiserfs_devread (int sector, int byte_offset, int byte_len, char *buf)#endif -if (reiserfs_block_dev_desc ==NULL ) +if (reiserfs_blk_desc ==NULL )return 0 ;if (byte_offset !=0 ) {/* read first part which isn't aligned with start of sector */ -if (reiserfs_block_dev_desc->block_read (reiserfs_block_dev_desc, - part_info->start + - sector, -1 , (void *)sec_buf) - !=1 ) { +if (reiserfs_blk_desc->block_read (reiserfs_blk_desc, + part_info->start + sector, +1 , (void *)sec_buf) !=1 ) {printf (" ** reiserfs_devread() read error\n" );return 0 ; }
@@ -75,11 +73,10 @@ int reiserfs_devread (int sector, int byte_offset, int byte_len, char *buf)/* read sector aligned part */ block_len = byte_len & ~(SECTOR_SIZE -1 ); -if (reiserfs_block_dev_desc->block_read (reiserfs_block_dev_desc, - part_info->start + sector, - block_len /SECTOR_SIZE , - (void *)buf) - != block_len/SECTOR_SIZE ) { +if (reiserfs_blk_desc->block_read (reiserfs_blk_desc, + part_info->start + sector, + block_len /SECTOR_SIZE , (void *)buf) + != block_len/SECTOR_SIZE ) {printf (" ** reiserfs_devread() read error - block\n" );return 0 ; }
@@ -89,11 +86,9 @@ int reiserfs_devread (int sector, int byte_offset, int byte_len, char *buf)if ( byte_len !=0 ) {/* read rest of data which are not in whole sector */ -if (reiserfs_block_dev_desc->block_read (reiserfs_block_dev_desc, - part_info->start + - sector, -1 , (void *)sec_buf) - !=1 ) { +if (reiserfs_blk_desc->block_read (reiserfs_blk_desc, + part_info->start + sector, +1 , (void *)sec_buf) !=1 ) {printf (" ** reiserfs_devread() read error - last part\n" );return 0 ; }
fs/sandbox/sandboxfs.c +2 -2
@@ -8,10 +8,10 @@#include <fs.h> #include <os.h> -int sandbox_fs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info) +int sandbox_fs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info) {/* -* Only accept a NULL block_dev_desc_t for the sandbox, which is when +* Only accept a NULL struct blk_desc for the sandbox, which is when * hostfs interface is used */ return rbdd !=NULL ;
fs/ubifs/ubifs.c +1 -1
@@ -561,7 +561,7 @@ static unsigned long ubifs_findfile(struct super_block *sb, char *filename)return 0 ; } -int ubifs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info) +int ubifs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info) {if (rbdd) {debug ("UBIFS cannot be used with normal block devices\n" );
fs/zfs/dev.c +16 -19
@@ -13,12 +13,12 @@#include <config.h> #include <zfs_common.h> -static block_dev_desc_t *zfs_block_dev_desc; +static struct blk_desc *zfs_blk_desc;static disk_partition_t *part_info; -void zfs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info) +void zfs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info) { - zfs_block_dev_desc = rbdd; + zfs_blk_desc = rbdd; part_info = info; }
@@ -48,17 +48,16 @@ int zfs_devread(int sector, int byte_offset, int byte_len, char *buf)debug (" <%d, %d, %d>\n" , sector, byte_offset, byte_len); -if (zfs_block_dev_desc ==NULL ) { +if (zfs_blk_desc ==NULL ) {printf ("** Invalid Block Device Descriptor (NULL)\n" );return 1 ; }if (byte_offset !=0 ) {/* read first part which isn't aligned with start of sector */ -if (zfs_block_dev_desc->block_read (zfs_block_dev_desc, - part_info->start + sector,1 , - (void *)sec_buf) - !=1 ) { +if (zfs_blk_desc->block_read (zfs_blk_desc, + part_info->start + sector,1 , + (void *)sec_buf) !=1 ) {printf (" ** zfs_devread() read error **\n" );return 1 ; }
@@ -79,18 +78,16 @@ int zfs_devread(int sector, int byte_offset, int byte_len, char *buf)u8 p[SECTOR_SIZE ]; block_len =SECTOR_SIZE ; - zfs_block_dev_desc->block_read (zfs_block_dev_desc, - part_info->start + sector, -1 , (void *)p); + zfs_blk_desc->block_read (zfs_blk_desc, + part_info->start + sector, +1 , (void *)p);memcpy (buf, p, byte_len);return 0 ; } -if (zfs_block_dev_desc->block_read (zfs_block_dev_desc, - part_info->start + sector, - block_len /SECTOR_SIZE , - (void *)buf) - != block_len /SECTOR_SIZE ) { +if (zfs_blk_desc->block_read (zfs_blk_desc, part_info->start + sector, + block_len /SECTOR_SIZE , + (void *)buf) != block_len /SECTOR_SIZE ) {printf (" ** zfs_devread() read error - block\n" );return 1 ; }
@@ -102,9 +99,9 @@ int zfs_devread(int sector, int byte_offset, int byte_len, char *buf)if (byte_len !=0 ) {/* read rest of data which are not in whole sector */ -if (zfs_block_dev_desc->block_read (zfs_block_dev_desc, - part_info->start + sector, -1 , (void *)sec_buf) !=1 ) { +if (zfs_blk_desc->block_read (zfs_blk_desc, + part_info->start + sector, +1 , (void *)sec_buf) !=1 ) {printf (" ** zfs_devread() read error - last part\n" );return 1 ; }
fs/zfs/zfs.c +1 -1
@@ -20,7 +20,7 @@#include "zfs_common.h" #include "div64.h" -block_dev_desc_t *zfs_dev_desc; +struct blk_desc *zfs_dev_desc;/* * The zfs plug-in routines for GRUB are:
include/common.h +1 -1
@@ -813,7 +813,7 @@ void gzwrite_progress_finish(int retcode,* for files under 4GiB */ int gzwrite (unsigned char *src,int len, -struct block_dev_desc *dev, +struct blk_desc *dev,unsigned long szwritebuf,u64 startoffs,u64 szexpected);
include/ext4fs.h +3 -3
@@ -110,7 +110,7 @@ struct ext_filesystem {/* Journal Related */ /* Block Device Descriptor */ -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc; };extern struct ext2_data *ext4fs_root;
@@ -141,9 +141,9 @@ int ext4fs_exists(const char *filename);int ext4fs_size (const char *filename,loff_t *size);void ext4fs_free_node (struct ext2fs_node *node,struct ext2fs_node *currroot);int ext4fs_devread (lbaint_t sector,int byte_offset,int byte_len,char *buf); -void ext4fs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); +void ext4fs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info);long int read_allocated_block (struct ext2_inode *inode,int fileblock); -int ext4fs_probe (block_dev_desc_t *fs_dev_desc, +int ext4fs_probe (struct blk_desc *fs_dev_desc,disk_partition_t *fs_partition);int ext4_read_file (const char *filename,void *buf,loff_t offset,loff_t len,loff_t *actread);
include/fat.h +2 -2
@@ -203,8 +203,8 @@ int file_fat_read_at(const char *filename, loff_t pos, void *buffer, loff_t maxsize, loff_t *actread);int file_fat_read (const char *filename,void *buffer,int maxsize);const char *file_getfsname (int idx); -int fat_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); -int fat_register_device (block_dev_desc_t *dev_desc,int part_no); +int fat_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info); +int fat_register_device (struct blk_desc *dev_desc,int part_no);int file_fat_write (const char *filename,void *buf,loff_t offset,loff_t len,loff_t *actwrite);
include/ide.h +3 -3
@@ -41,10 +41,10 @@ typedef ulong lbaint_t;*/ void ide_init (void ); -typedef struct block_dev_desc block_dev_desc_t ; -ulong ide_read (block_dev_desc_t *block_dev,lbaint_t blknr,lbaint_t blkcnt, +struct blk_desc ; +ulong ide_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer); -ulong ide_write (block_dev_desc_t *block_dev,lbaint_t blknr,lbaint_t blkcnt, +ulong ide_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer);#ifdef CONFIG_IDE_PREINIT
include/mmc.h +1 -1
@@ -376,7 +376,7 @@ struct mmc {u64 capacity_gp[4 ];u64 enh_user_start;u64 enh_user_size; -block_dev_desc_t block_dev; +struct blk_desc block_dev;char op_cond_pending;/* 1 if we are waiting on an op_cond command */ char init_in_progress;/* 1 if we have done mmc_start_init() */ char preinit;/* start init as early as possible */
include/part.h +68 -62
245 lines not on this page · raw message
include/reiserfs.h +1 -1
@@ -63,7 +63,7 @@ typedef enum } reiserfs_error_t; -extern void reiserfs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); +void reiserfs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info);extern int reiserfs_ls (char *dirname);extern int reiserfs_open (char *filename);extern int reiserfs_read (char *buf,unsigned len);
include/sandboxblockdev.h +1 -1
@@ -8,7 +8,7 @@#define __SANDBOX_BLOCK_DEV__struct host_block_dev { -block_dev_desc_t blk_dev; +struct blk_desc blk_dev;char *filename;int fd; };
include/sandboxfs.h +1 -1
@@ -18,7 +18,7 @@#ifndef __SANDBOX_FS__#define __SANDBOX_FS__ -int sandbox_fs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); +int sandbox_fs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info);int sandbox_fs_read_at (const char *filename,loff_t pos,void *buffer,loff_t maxsize,loff_t *actread);
include/sata.h +1 -1
@@ -14,6 +14,6 @@ int sata_stop(void);int __sata_stop (void );int sata_port_status (int dev,int port); -extern block_dev_desc_t sata_dev_desc[]; +extern struct blk_desc sata_dev_desc[];#endif
include/spl.h +6 -4
@@ -72,14 +72,16 @@ int spl_usb_load_image(void);int spl_sata_load_image (void );/* SPL FAT image functions */ -int spl_load_image_fat (block_dev_desc_t *block_dev,int partition,const char *filename); -int spl_load_image_fat_os (block_dev_desc_t *block_dev,int partition); +int spl_load_image_fat (struct blk_desc *block_dev,int partition, +const char *filename); +int spl_load_image_fat_os (struct blk_desc *block_dev,int partition);void __noreturn jump_to_image_no_args (struct spl_image_info *spl_image);/* SPL EXT image functions */ -int spl_load_image_ext (block_dev_desc_t *block_dev,int partition,const char *filename); -int spl_load_image_ext_os (block_dev_desc_t *block_dev,int partition); +int spl_load_image_ext (struct blk_desc *block_dev,int partition, +const char *filename); +int spl_load_image_ext_os (struct blk_desc *block_dev,int partition);/** * spl_init() - Set up device tree and driver model in SPL if enabled
include/systemace.h +1 -1
@@ -11,7 +11,7 @@# include <part.h> -block_dev_desc_t *systemace_get_dev (int dev); +struct blk_desc *systemace_get_dev (int dev);#endif /* CONFIG_SYSTEMACE */ #endif /* __SYSTEMACE_H */
include/ubifs_uboot.h +1 -1
@@ -21,7 +21,7 @@ void uboot_ubifs_umount(void);int ubifs_is_mounted (void );int ubifs_load (char *filename,u32 addr,u32 size); -int ubifs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); +int ubifs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info);int ubifs_ls (const char *dir_name);int ubifs_exists (const char *filename);int ubifs_size (const char *filename,loff_t *size);
include/usb.h +1 -1
@@ -228,7 +228,7 @@ int board_usb_cleanup(int index, enum usb_init_type init);#ifdef CONFIG_USB_STORAGE #define USB_MAX_STOR_DEV 7 -block_dev_desc_t *usb_stor_get_dev (int index); +struct blk_desc *usb_stor_get_dev (int index);int usb_stor_scan (int mode);int usb_stor_info (void );
include/usb_mass_storage.h +1 -1
@@ -23,7 +23,7 @@ struct ums {unsigned int start_sector;unsigned int num_sectors;const char *name; -block_dev_desc_t block_dev; +struct blk_desc block_dev; };int fsg_init (struct ums *ums_devs,int count);
include/zfs_common.h +2 -2
@@ -63,7 +63,7 @@ enum zfs_errors {struct zfs_filesystem {/* Block Device Descriptor */ -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc; };struct device_s {
@@ -98,7 +98,7 @@ int zfs_close(zfs_file_t);int zfs_ls (device_t dev,const char *path,int (*hook) (const char *,const struct zfs_dirhook_info *));int zfs_devread (int sector,int byte_offset,int byte_len,char *buf); -void zfs_set_blk_dev (block_dev_desc_t *rbdd,disk_partition_t *info); +void zfs_set_blk_dev (struct blk_desc *rbdd,disk_partition_t *info);void zfs_unmount (struct zfs_data *data);int lzjb_decompress (void *,void *,uint32_t ,uint32_t );#endif
lib/gunzip.c +1 -1
@@ -105,7 +105,7 @@ void gzwrite_progress_finish(int returnval, }int gzwrite (unsigned char *src,int len, -struct block_dev_desc *dev, +struct blk_desc *dev,unsigned long szwritebuf,u64 startoffs,u64 szexpected)
test/dm/usb.c +1 -1
@@ -39,7 +39,7 @@ DM_TEST(dm_test_usb_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);static int dm_test_usb_flash (struct unit_test_state *uts) {struct udevice *dev; -block_dev_desc_t *dev_desc; +struct blk_desc *dev_desc;char cmp[1024 ];state_set_skip_delays (true);
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 1/32 dm: Drop the block_dev_desc_t typedef
Quoted 68 lines · Simon Glass
Use 'struct' instead of a typdef. Also since 'struct
block_dev_desc' is long and causes 80-column violations, rename it to structblk_desc.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
api/api.c | 2 +- api/api_storage.c | 14 ++--- board/cm5200/fwupdate.c | 2 +- board/mpl/pip405/README | 4 +- cmd/disk.c | 2 +- cmd/fat.c | 4 +- cmd/gpt.c | 8 +-- cmd/host.c | 4 +- cmd/ide.c | 22 ++++---- cmd/mmc.c | 2 +- cmd/part.c | 8 +-- cmd/read.c | 4 +- cmd/reiser.c | 4 +- cmd/sata.c | 10 ++-- cmd/scsi.c | 12 ++--- cmd/unzip.c | 2 +- cmd/usb.c | 2 +- cmd/usb_mass_storage.c | 6 +-- cmd/zfs.c | 4 +- common/env_fat.c | 4 +- common/fb_mmc.c | 12 ++--- common/spl/spl_ext.c | 6 +-- common/spl/spl_fat.c | 8 +-- common/spl/spl_sata.c | 2 +- common/spl/spl_usb.c | 2 +- common/usb_storage.c | 22 ++++---- disk/part.c | 28 +++++----- disk/part_amiga.c | 14 ++--- disk/part_dos.c | 19 +++---- disk/part_efi.c | 38 ++++++------- disk/part_iso.c | 10 ++-- disk/part_mac.c | 19 ++++--- drivers/block/dwc_ahsata.c | 4 +- drivers/block/sandbox.c | 12 ++--- drivers/block/systemace.c | 8 +-- drivers/dfu/dfu_mmc.c | 2 +- drivers/mmc/mmc.c | 4 +- drivers/mmc/mmc_private.h | 8 +-- drivers/mmc/mmc_write.c | 4 +- fs/ext4/dev.c | 53 +++++++++--------- fs/ext4/ext4fs.c | 2 +- fs/fat/fat.c | 6 +-- fs/fs.c | 6 +-- fs/reiserfs/dev.c | 33 +++++------- fs/sandbox/sandboxfs.c | 4 +- fs/ubifs/ubifs.c | 2 +- fs/zfs/dev.c | 35 ++++++------ fs/zfs/zfs.c | 2 +- include/common.h | 2 +- include/ext4fs.h | 6 +-- include/fat.h | 4 +- include/ide.h | 6 +-- include/mmc.h | 2 +- include/part.h | 130 ++++++++++++++++++++++++--------------------- include/reiserfs.h | 2 +- include/sandboxblockdev.h | 2 +- include/sandboxfs.h | 2 +- include/sata.h | 2 +- include/spl.h | 10 ++--
Quoted 8 lines
include/systemace.h | 2 +- include/ubifs_uboot.h | 2 +- include/usb.h | 2 +- include/usb_mass_storage.h | 2 +- include/zfs_common.h | 4 +- lib/gunzip.c | 2 +- test/dm/usb.c | 2 +- 66 files changed, 338 insertions(+), 331 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 2/32 dm: pci: Break out the common region display code
In reply to Simon GlassEach region is displayed in almost the same way. Break out this common code into its own function.
---
Changes in v2:
- Fix use of pci_mem instead of pci_prefetch
- Remove 0x prefix for addresses
drivers/pci/pci_auto_common.c | 51 +++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 34 deletions(-)
drivers/pci/pci_auto_common.c +17 -34
@@ -62,6 +62,17 @@ int pciauto_region_allocate(struct pci_region *res, pci_size_t size,return -1 ; } +static void pciauto_show_region (const char *name,struct pci_region *region) +{ +pciauto_region_init (region); +debug ("PCI Autoconfig: Bus %s region: [%llx-%llx],\n" +"\t\tPhysical Memory [%llx-%llxx]\n" , name, + (unsigned long long )region->bus_start, + (unsigned long long )(region->bus_start + region->size -1 ), + (unsigned long long )region->phys_start, + (unsigned long long )(region->phys_start + region->size -1 )); +} +void pciauto_config_init (struct pci_controller *hose) {int i;
@@ -91,38 +102,10 @@ void pciauto_config_init(struct pci_controller *hose) } -if (hose->pci_mem) { -pciauto_region_init (hose->pci_mem); - -debug ("PCI Autoconfig: Bus Memory region: [0x%llx-0x%llx],\n" -"\t\tPhysical Memory [%llx-%llxx]\n" , - (u64 )hose->pci_mem->bus_start, - (u64)(hose->pci_mem->bus_start + hose->pci_mem->size -1 ), - (u64 )hose->pci_mem->phys_start, - (u64)(hose->pci_mem->phys_start + hose->pci_mem->size -1 )); - } - -if (hose->pci_prefetch) { -pciauto_region_init (hose->pci_prefetch); - -debug ("PCI Autoconfig: Bus Prefetchable Mem: [0x%llx-0x%llx],\n" -"\t\tPhysical Memory [%llx-%llx]\n" , - (u64 )hose->pci_prefetch->bus_start, - (u64)(hose->pci_prefetch->bus_start + - hose->pci_prefetch->size -1 ), - (u64 )hose->pci_prefetch->phys_start, - (u64)(hose->pci_prefetch->phys_start + - hose->pci_prefetch->size -1 )); - } - -if (hose->pci_io) { -pciauto_region_init (hose->pci_io); - -debug ("PCI Autoconfig: Bus I/O region: [0x%llx-0x%llx],\n" -"\t\tPhysical Memory: [%llx-%llx]\n" , - (u64 )hose->pci_io->bus_start, - (u64)(hose->pci_io->bus_start + hose->pci_io->size -1 ), - (u64 )hose->pci_io->phys_start, - (u64)(hose->pci_io->phys_start + hose->pci_io->size -1 )); - } +if (hose->pci_mem) +pciauto_show_region ("Memory" , hose->pci_mem); +if (hose->pci_prefetch) +pciauto_show_region ("Prefetchable Mem" , hose->pci_prefetch); +if (hose->pci_io) +pciauto_show_region ("I/O" , hose->pci_io); }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 2/32 dm: pci: Break out the common region display code
Quoted 4 lines · Simon Glass
Each region is displayed in almost the same way. Break out this common code into its own function.
Signed-off-by Simon Glass <[email protected]>
Quoted 8 lines
---
Changes in v2:
- Fix use ofpci_meminstead ofpci_prefetch
- Remove 0x prefix for addressesdrivers/pci/pci_auto_common.c | 51 +++++++++++++++---------------------------- 1 file changed, 17 insertions(+), 34 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 3/32 dm: part: Correct a sandbox build warning
In reply to Simon GlassAdjust the cast to avoid a warning when stdint.h is used.
---
Changes in v2: None
disk/part_efi.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
disk/part_efi.c +6 -4
@@ -658,11 +658,13 @@ int gpt_verify_partitions(struct blk_desc *dev_desc, gpt_part_size =le64_to_cpu (gpt_e[i].ending_lba) -le64_to_cpu (gpt_e[i].starting_lba) +1 ;debug ("size(LBA) - GPT: %8llu, ENV: %8llu " , - gpt_part_size, (u64 ) partitions[i].size); + (unsigned long long )gpt_part_size, + (unsigned long long )partitions[i].size);if (le64_to_cpu (gpt_part_size) != partitions[i].size) {error ("Partition %s size: %llu does not match %llu!\n" , - efi_str, gpt_part_size, (u64 ) partitions[i].size); + efi_str, (unsigned long long )gpt_part_size, + (unsigned long long )partitions[i].size);return -1 ; }
@@ -678,12 +680,12 @@ int gpt_verify_partitions(struct blk_desc *dev_desc,/* Check if GPT and ENV start LBAs match */ debug ("start LBA - GPT: %8llu, ENV: %8llu\n" ,le64_to_cpu (gpt_e[i].starting_lba), - (u64 ) partitions[i].start); + (unsigned long long )partitions[i].start);if (le64_to_cpu (gpt_e[i].starting_lba) != partitions[i].start) {error ("Partition %s start: %llu does not match %llu!\n" , efi_str,le64_to_cpu (gpt_e[i].starting_lba), - (u64 ) partitions[i].start); + (unsigned long long )partitions[i].start);return -1 ; } }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 3/32 dm: part: Correct a sandbox build warning
Quoted 9 lines · Simon Glass
Adjust the cast to avoid a warning when
stdint.his used.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
disk/part_efi.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 4/32 dm: fdtdec: Correct a sandbox build warning
In reply to Simon GlassAdjust the cast to avoid a warning when stdint.h is used.
---
Changes in v2: None
lib/fdtdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
lib/fdtdec.c +3 -2
@@ -123,9 +123,10 @@ fdt_addr_t fdtdec_get_addr_size_fixed(const void *blob, int node,if (sizep) { *sizep =fdtdec_get_number (prop_size, ns); -debug ("addr=%08llx, size=%llx\n" , (u64 )addr, (u64)*sizep); +debug ("addr=%08llx, size=%llx\n" , (unsigned long long )addr, + (unsigned long long )*sizep); }else { -debug ("addr=%08llx\n" , (u64 )addr); +debug ("addr=%08llx\n" , (unsigned long long )addr); }return addr;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 4/32 dm: fdtdec: Correct a sandbox build warning
Quoted 9 lines · Simon Glass
Adjust the cast to avoid a warning when
stdint.his used.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
lib/fdtdec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 5/32 dm: part: Drop the common.h header
In reply to Simon GlassWe should not include <common.h> in header files. Each C file should include it if needed.
---
Changes in v2: None
include/part.h | 1 - 1 file changed, 1 deletion(-)
include/part.h +0 -1
@@ -8,7 +8,6 @@#define _PART_H#include <ide.h> -#include <common.h> struct blk_desc {int if_type;/* type of the interface */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 5/32 dm: part: Drop the common.h header
Quoted 11 lines · Simon Glass
We should not include <
common.h> in header files. Each C file should include it if needed.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
include/part.h | 1 - 1 file changed, 1 deletion(-)
Applied to u-boot-dm/next.
PATCH v2 6/32 dm: Add a new header for block devices
In reply to Simon GlassAt present block devices are tied up with partitions. But not all block devices have partitions within them. They are in fact separate concepts.
Create a separate blk.h header file for block devices.
---
Changes in v2: None
include/blk.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/ide.h | 12 ++-------- include/part.h | 49 +--------------------------------------- 3 files changed, 74 insertions(+), 58 deletions(-) create mode 100644 include/blk.h
include/blk.h new file +71 -0
@@ -0,0 +1,71 @@ +/* +* (C) Copyright 2000-2004 +* Wolfgang Denk, DENX Software Engineering, wd at denx.de. +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef BLK_H +#define BLK_H + +#ifdef CONFIG_SYS_64BIT_LBA +typedef uint64_t lbaint_t ; +#define LBAFlength "ll" +#else +typedef ulong lbaint_t ; +#define LBAFlength "l" +#endif +#define LBAF "%" LBAFlength "x" +#define LBAFU "%" LBAFlength "u" + +/* Interface types: */ +#define IF_TYPE_UNKNOWN 0 +#define IF_TYPE_IDE 1 +#define IF_TYPE_SCSI 2 +#define IF_TYPE_ATAPI 3 +#define IF_TYPE_USB 4 +#define IF_TYPE_DOC 5 +#define IF_TYPE_MMC 6 +#define IF_TYPE_SD 7 +#define IF_TYPE_SATA 8 +#define IF_TYPE_HOST 9 +#define IF_TYPE_MAX 10/* Max number of IF_TYPE_* supported */ + +struct blk_desc { +int if_type;/* type of the interface */ +int dev;/* device number */ +unsigned char part_type;/* partition type */ +unsigned char target;/* target SCSI ID */ +unsigned char lun;/* target LUN */ +unsigned char hwpart;/* HW partition, e.g. for eMMC */ +unsigned char type;/* device type */ +unsigned char removable;/* removable device */ +#ifdef CONFIG_LBA48 +/* device can use 48bit addr (ATA/ATAPI v7) */ +unsigned char lba48; +#endif +lbaint_t lba;/* number of blocks */ +unsigned long blksz;/* block size */ +int log2blksz;/* for convenience: log2(blksz) */ +char vendor[40 +1 ];/* IDE model, SCSI Vendor */ +char product[20 +1 ];/* IDE Serial no, SCSI product */ +char revision[8 +1 ];/* firmware revision */ +unsigned long (*block_read)(struct blk_desc *block_dev, +lbaint_t start, +lbaint_t blkcnt, +void *buffer); +unsigned long (*block_write)(struct blk_desc *block_dev, +lbaint_t start, +lbaint_t blkcnt, +const void *buffer); +unsigned long (*block_erase)(struct blk_desc *block_dev, +lbaint_t start, +lbaint_t blkcnt); +void *priv;/* driver private struct pointer */ +}; + +#define BLOCK_CNT (size, blk_desc) (PAD_COUNT(size, blk_desc->blksz)) +#define PAD_TO_BLOCKSIZE (size, blk_desc) \ + (PAD_SIZE(size, blk_desc->blksz)) + +#endif
include/ide.h +2 -10
@@ -8,6 +8,8 @@#ifndef _IDE_H#define _IDE_H +#include <blk.h> +#define IDE_BUS (dev) (dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))#define ATA_CURR_BASE (dev) (CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
@@ -26,16 +28,6 @@ extern ulong ide_bus_offset[];void ide_led (uchar led,uchar status);#endif /* CONFIG_IDE_LED */ -#ifdef CONFIG_SYS_64BIT_LBA -typedef uint64_t lbaint_t ; -#define LBAFlength "ll" -#else -typedef ulong lbaint_t ; -#define LBAFlength "l" -#endif -#define LBAF "%" LBAFlength "x" -#define LBAFU "%" LBAFlength "u" -/* * Function Prototypes */
include/part.h +1 -48
62 lines not on this page · raw message
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 6/32 dm: Add a new header for block devices
Quoted 9 lines · Simon Glass
At present block devices are tied up with partitions. But not all block devices have partitions within them. They are in fact separate concepts.
Create a separate
blk.hheader file for block devices.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Quoted 7 lines
Changes in v2: None
include/blk.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/ide.h | 12 ++-------- include/part.h | 49 +--------------------------------------- 3 files changed, 74 insertions(+), 58 deletions(-) create mode 100644 include/blk.h
Applied to u-boot-dm/next.
PATCH v2 7/32 dm: blk: Convert interface type to an enum
In reply to Simon GlassSince these are sequentially numbered it makes sense to use an enum. It avoids having to maintain the maximum value, and provides a type we can use if it is useful.
In fact the maximum value is not used. Rename it to COUNT, since MAX suggests it is the maximum valid value, but it is not.
---
Changes in v2:
- Add a missing word 'is' to the commit message
- Rename the enum to 'if_type' instead of 'if_type_t'
include/blk.h | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-)
include/blk.h +15 -12
@@ -19,20 +19,23 @@ typedef ulong lbaint_t;#define LBAFU "%" LBAFlength "u"/* Interface types: */ -#define IF_TYPE_UNKNOWN 0 -#define IF_TYPE_IDE 1 -#define IF_TYPE_SCSI 2 -#define IF_TYPE_ATAPI 3 -#define IF_TYPE_USB 4 -#define IF_TYPE_DOC 5 -#define IF_TYPE_MMC 6 -#define IF_TYPE_SD 7 -#define IF_TYPE_SATA 8 -#define IF_TYPE_HOST 9 -#define IF_TYPE_MAX 10/* Max number of IF_TYPE_* supported */ +enum if_type { +IF_TYPE_UNKNOWN =0 , +IF_TYPE_IDE , +IF_TYPE_SCSI , +IF_TYPE_ATAPI , +IF_TYPE_USB , +IF_TYPE_DOC , +IF_TYPE_MMC , +IF_TYPE_SD , +IF_TYPE_SATA , +IF_TYPE_HOST , + +IF_TYPE_COUNT ,/* Number of interface types */ +};struct blk_desc { -int if_type;/* type of the interface */ +enum if_type if_type;/* type of the interface */ int dev;/* device number */ unsigned char part_type;/* partition type */ unsigned char target;/* target SCSI ID */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 7/32 dm: blk: Convert interface type to an enum
Quoted 8 lines · Simon Glass
Since these are sequentially numbered it makes sense to use an enum. It avoids having to maintain the maximum value, and provides a type we can use if it is useful.
In fact the maximum value is not used. Rename it to COUNT, since MAX suggests it is the maximum valid value, but it is not.
Signed-off-by Simon Glass <[email protected]>
Quoted 8 lines
---
Changes in v2:
- Add a missing word 'is' to the commit message
- Rename the enum to 'if_type' instead of 'if_type_t'include/blk.h | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 8/32 dm: blk: Add comments to a few functions
In reply to Simon GlassThe block interface is not well documented in the code. Pick two important functions and add comments.
---
Changes in v2: None
include/part.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
include/part.h +30 -0
@@ -53,12 +53,42 @@ typedef struct disk_partition {/* Misc _get_dev functions */ #ifdef CONFIG_PARTITIONS +/** +* get_dev() - get a pointer to a block device given its type and number +* +* 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. +* +* @ifname: Interface name (e.g. "ide", "scsi") +* @dev: Device number (0 for first device on that interface, 1 for +* second, etc. +* @return pointer to the block device, or NULL if not available, or an +* error occurred. +*/ struct blk_desc *get_dev (const char *ifname,int dev);struct blk_desc *ide_get_dev (int dev);struct blk_desc *sata_get_dev (int dev);struct blk_desc *scsi_get_dev (int dev);struct blk_desc *usb_stor_get_dev (int dev);struct blk_desc *mmc_get_dev (int dev); + +/** +* mmc_select_hwpart() - Select the MMC hardware partiion on an MMC device +* +* MMC devices can support partitioning at the hardware level. This is quite +* separate from the normal idea of software-based partitions. MMC hardware +* partitions must be explicitly selected. Once selected only the region of +* the device covered by that partition is accessible. +* +* The MMC standard provides for two boot partitions (numbered 1 and 2), +* rpmb (3), and up to 4 addition general-purpose partitions (4-7). +* +* @dev_num: Block device number (struct blk_desc->dev value) +* @hwpart: Hardware partition number to select. 0 means the raw device, +* 1 is the first partition, 2 is the second, etc. +* @return 0 if OK, other value for an error +*/ int mmc_select_hwpart (int dev_num,int hwpart);struct blk_desc *systemace_get_dev (int dev);struct blk_desc *mg_disk_get_dev (int dev);
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 8/32 dm: blk: Add comments to a few functions
Quoted 11 lines · Simon Glass
The block interface is not well documented in the code. Pick two important functions and add comments.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
include/part.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
Applied to u-boot-dm/next.
PATCH v2 9/32 dm: blk: Rename get_dev() to blk_get_dev()
In reply to Simon GlassThe current name is too generic. Add a 'blk_' prefix to aid searching and make its purpose clearer.
---
Changes in v2: None
api/api_storage.c | 12 +++++++----- cmd/gpt.c | 2 +- cmd/read.c | 2 +- common/fb_mmc.c | 4 ++-- disk/part.c | 4 ++-- include/part.h | 6 +++--- 6 files changed, 16 insertions(+), 14 deletions(-)
api/api_storage.c +7 -5
@@ -106,7 +106,7 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)struct blk_desc *dd;if (first) { - di->cookie = (void *)get_dev (specs[type].name,0 ); + di->cookie = (void *)blk_get_dev (specs[type].name,0 );if (di->cookie ==NULL )return 0 ;else
@@ -119,7 +119,8 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di) }else {for (i =0 ; i < specs[type].max_dev; i++) -if (di->cookie == (void *)get_dev (specs[type].name, i)) { +if (di->cookie == + (void *)blk_get_dev (specs[type].name, i)) {/* previous cookie found -- advance to the * next device, if possible */
@@ -129,7 +130,8 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di)break ; } - di->cookie = (void *)get_dev (specs[type].name, i); + di->cookie = (void *)blk_get_dev ( + specs[type].name, i);if (di->cookie ==NULL )return 0 ;else
@@ -174,7 +176,7 @@ static int dev_stor_type(struct blk_desc *dd)for (i =ENUM_IDE ; i <ENUM_MAX ; i++)for (j =0 ; j < specs[i].max_dev; j++) -if (dd ==get_dev (specs[i].name, j)) +if (dd ==blk_get_dev (specs[i].name, j))return i;return ENUM_MAX ;
@@ -313,7 +315,7 @@ static int dev_stor_is_valid(int type, struct blk_desc *dd)int i;for (i =0 ; i < specs[type].max_dev; i++) -if (dd ==get_dev (specs[type].name, i)) +if (dd ==blk_get_dev (specs[type].name, i))if (dd->type !=DEV_TYPE_UNKNOWN )return 1 ;
cmd/gpt.c +1 -1
@@ -418,7 +418,7 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])printf ("'%s' is not a number\n" , argv[3 ]);return CMD_RET_USAGE ; } - blk_dev_desc =get_dev (argv[2 ], dev); + blk_dev_desc =blk_get_dev (argv[2 ], dev);if (!blk_dev_desc) {printf ("%s: %s dev %d NOT available\n" , __func__, argv[2 ], dev);
cmd/read.c +1 -1
@@ -39,7 +39,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) part = (int )simple_strtoul (++ep,NULL ,16 ); } - dev_desc =get_dev (argv[1 ], dev); + dev_desc =blk_get_dev (argv[1 ], dev);if (dev_desc ==NULL ) {printf ("Block device %s %d not supported\n" , argv[1 ], dev);return 1 ;
common/fb_mmc.c +2 -2
@@ -106,7 +106,7 @@ void fb_mmc_flash_write(const char *cmd, unsigned int session_id,/* initialize the response buffer */ response_str = response; - dev_desc =get_dev ("mmc" ,CONFIG_FASTBOOT_FLASH_MMC_DEV ); + dev_desc =blk_get_dev ("mmc" ,CONFIG_FASTBOOT_FLASH_MMC_DEV );if (!dev_desc || dev_desc->type ==DEV_TYPE_UNKNOWN ) {error ("invalid mmc device\n" );fastboot_fail (response_str,"invalid mmc device" );
@@ -179,7 +179,7 @@ void fb_mmc_erase(const char *cmd, char *response)/* initialize the response buffer */ response_str = response; - dev_desc =get_dev ("mmc" ,CONFIG_FASTBOOT_FLASH_MMC_DEV ); + dev_desc =blk_get_dev ("mmc" ,CONFIG_FASTBOOT_FLASH_MMC_DEV );if (!dev_desc || dev_desc->type ==DEV_TYPE_UNKNOWN ) {error ("invalid mmc device" );fastboot_fail (response_str,"invalid mmc device" );
disk/part.c +2 -2
@@ -101,7 +101,7 @@ static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)return NULL ; } -struct blk_desc *get_dev (const char *ifname,int dev) +struct blk_desc *blk_get_dev (const char *ifname,int dev) {return get_dev_hwpart (ifname, dev,0 ); }
@@ -111,7 +111,7 @@ struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)return NULL ; } -struct blk_desc *get_dev (const char *ifname,int dev) +struct blk_desc *blk_get_dev (const char *ifname,int dev) {return NULL ; }
include/part.h +3 -3
@@ -54,7 +54,7 @@ typedef struct disk_partition {/* Misc _get_dev functions */ #ifdef CONFIG_PARTITIONS /** -* get_dev() - get a pointer to a block device given its type and number +* blk_get_dev() - get a pointer to a block device given its type and number * * Each interface allocates its own devices and typically struct blk_desc is * contained with the interface's data structure. There is no global
@@ -66,7 +66,7 @@ typedef struct disk_partition {* @return pointer to the block device, or NULL if not available, or an * error occurred. */ -struct blk_desc *get_dev (const char *ifname,int dev); +struct blk_desc *blk_get_dev (const char *ifname,int dev);struct blk_desc *ide_get_dev (int dev);struct blk_desc *sata_get_dev (int dev);struct blk_desc *scsi_get_dev (int dev);
@@ -107,7 +107,7 @@ 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);#else -static inline struct blk_desc *get_dev (const char *ifname,int dev) +static inline struct blk_desc *blk_get_dev (const char *ifname,int dev) {return NULL ; }static inline struct blk_desc *ide_get_dev (int dev) {return NULL ; }static inline struct blk_desc *sata_get_dev (int dev) {return NULL ; }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 9/32 dm: blk: Rename get_dev() to blk_get_dev()
Quoted 9 lines · Simon Glass
The current name is too generic. Add a '
blk_' prefix to aid searching and make its purpose clearer.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
Quoted 7 lines
api/api_storage.c | 12 +++++++----- cmd/gpt.c | 2 +- cmd/read.c | 2 +- common/fb_mmc.c | 4 ++-- disk/part.c | 4 ++-- include/part.h | 6 +++--- 6 files changed, 16 insertions(+), 14 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 10/32 dm: blk: Rename get_device() to blk_get_device_by_str()
In reply to Simon GlassThe current name is too generic. The function returns a block device based on a provided string. Rename it to aid searching and make its purpose clearer. Also add a few comments.
---
Changes in v2:
- Rename to blk_get_device_by_str()
cmd/part.c | 6 +++--- cmd/unzip.c | 2 +- cmd/usb_mass_storage.c | 2 +- disk/part.c | 6 +++--- include/part.h | 34 ++++++++++++++++++++++++++++++---- test/dm/usb.c | 2 +- 6 files changed, 39 insertions(+), 13 deletions(-)
cmd/part.c +3 -3
@@ -81,7 +81,7 @@ static int do_part_list(int argc, char * const argv[])return CMD_RET_USAGE ; } - ret =get_device (argv[0 ], argv[1 ], &desc); + ret =blk_get_device_by_str (argv[0 ], argv[1 ], &desc);if (ret <0 )return 1 ;
@@ -128,7 +128,7 @@ static int do_part_start(int argc, char * const argv[]) part =simple_strtoul (argv[2 ],NULL ,0 ); - ret =get_device (argv[0 ], argv[1 ], &desc); + ret =blk_get_device_by_str (argv[0 ], argv[1 ], &desc);if (ret <0 )return 1 ;
@@ -162,7 +162,7 @@ static int do_part_size(int argc, char * const argv[]) part =simple_strtoul (argv[2 ],NULL ,0 ); - ret =get_device (argv[0 ], argv[1 ], &desc); + ret =blk_get_device_by_str (argv[0 ], argv[1 ], &desc);if (ret <0 )return 1 ;
cmd/unzip.c +1 -1
@@ -53,7 +53,7 @@ static int do_gzwrite(cmd_tbl_t *cmdtp, int flag,if (argc <5 )return CMD_RET_USAGE ; - ret =get_device (argv[1 ], argv[2 ], &bdev); + ret =blk_get_device_by_str (argv[1 ], argv[2 ], &bdev);if (ret <0 )return CMD_RET_FAILURE ;
cmd/usb_mass_storage.c +1 -1
@@ -69,7 +69,7 @@ static int ums_init(const char *devtype, const char *devnums)if (!devnum)break ; - ret =get_device (devtype, devnum, &block_dev); + ret =blk_get_device_by_str (devtype, devnum, &block_dev);if (ret <0 ) goto cleanup;
disk/part.c +3 -3
@@ -449,8 +449,8 @@ int get_partition_info(struct blk_desc *dev_desc, int part,return -1 ; } -int get_device (const char *ifname,const char *dev_hwpart_str, -struct blk_desc **dev_desc) +int blk_get_device_by_str (const char *ifname,const char *dev_hwpart_str, +struct blk_desc **dev_desc) {char *ep;char *dup_str =NULL ;
@@ -598,7 +598,7 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str, }/* Look up the device */ - dev =get_device (ifname, dev_str, dev_desc); + dev =blk_get_device_by_str (ifname, dev_str, dev_desc);if (dev <0 ) goto cleanup;
include/part.h +30 -4
@@ -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,
test/dm/usb.c +1 -1
@@ -45,7 +45,7 @@ static int dm_test_usb_flash(struct unit_test_state *uts)state_set_skip_delays (true);ut_assertok (usb_init ());ut_assertok (uclass_get_device (UCLASS_MASS_STORAGE ,0 , &dev)); -ut_assertok (get_device ("usb" ,"0" , &dev_desc)); +ut_assertok (blk_get_device_by_str ("usb" ,"0" , &dev_desc));/* Read a few blocks and look for the string we expect */ ut_asserteq (512 , dev_desc->blksz);
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 10/32 dm: blk: Rename get_device() to blk_get_device_by_str()
Quoted 11 lines · Simon Glass
The current name is too generic. The function returns a block device based on a provided string. Rename it to aid searching and make its purpose clearer. Also add a few comments.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2:
- Rename toblk_get_device_by_str()
Quoted 7 lines
cmd/part.c | 6 +++--- cmd/unzip.c | 2 +- cmd/usb_mass_storage.c | 2 +- disk/part.c | 6 +++--- include/part.h | 34 ++++++++++++++++++++++++++++++---- test/dm/usb.c | 2 +- 6 files changed, 39 insertions(+), 13 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 11/32 dm: blk: Rename get_device_and_partition()
In reply to Simon GlassRename this function to blk_get_device_part_str(). This is a better name because it makes it clear that the function returns a block device and parses a string.
---
Changes in v2:
- Rename to blk_get_device_by_str()
cmd/disk.c | 2 +- cmd/fat.c | 4 ++-- cmd/part.c | 2 +- cmd/reiser.c | 4 ++-- cmd/zfs.c | 4 ++-- common/env_fat.c | 4 ++-- disk/part.c | 2 +- fs/fs.c | 2 +- fs/ubifs/ubifs.c | 2 +- include/part.h | 42 ++++++++++++++++++++++++++++++++++++++---- 10 files changed, 51 insertions(+), 17 deletions(-)
cmd/disk.c +1 -1
@@ -38,7 +38,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,bootstage_mark (BOOTSTAGE_ID_IDE_BOOT_DEVICE ); - part =get_device_and_partition (intf, (argc ==3 ) ? argv[2 ] :NULL , + part =blk_get_device_part_str (intf, (argc ==3 ) ? argv[2 ] :NULL , &dev_desc, &info,1 );if (part <0 ) {bootstage_error (BOOTSTAGE_ID_IDE_TYPE );
cmd/fat.c +2 -2
@@ -77,7 +77,7 @@ static int do_fat_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc,return 0 ; } - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
@@ -114,7 +114,7 @@ static int do_fat_fswrite(cmd_tbl_t *cmdtp, int flag,if (argc <5 )return cmd_usage (cmdtp); - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
cmd/part.c +1 -1
@@ -37,7 +37,7 @@ static int do_part_uuid(int argc, char * const argv[])if (argc >3 )return CMD_RET_USAGE ; - part =get_device_and_partition (argv[0 ], argv[1 ], &dev_desc, &info,0 ); + part =blk_get_device_part_str (argv[0 ], argv[1 ], &dev_desc, &info,0 );if (part <0 )return 1 ;
cmd/reiser.c +2 -2
@@ -40,7 +40,7 @@ int do_reiserls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (argc <3 )return CMD_RET_USAGE ; - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
@@ -122,7 +122,7 @@ int do_reiserload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])return 1 ; } - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
cmd/zfs.c +2 -2
@@ -80,7 +80,7 @@ static int do_zfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]return 1 ; } - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
@@ -145,7 +145,7 @@ static int do_zfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (argc ==4 ) filename = argv[3 ]; - part =get_device_and_partition (argv[1 ], argv[2 ], &dev_desc, &info,1 ); + part =blk_get_device_part_str (argv[1 ], argv[2 ], &dev_desc, &info,1 );if (part <0 )return 1 ;
common/env_fat.c +2 -2
@@ -48,7 +48,7 @@ int saveenv(void)if (err)return err; - part =get_device_and_partition (FAT_ENV_INTERFACE , + part =blk_get_device_part_str (FAT_ENV_INTERFACE ,FAT_ENV_DEVICE_AND_PART , &dev_desc, &info,1 );if (part <0 )
@@ -82,7 +82,7 @@ void env_relocate_spec(void)int dev, part;int err; - part =get_device_and_partition (FAT_ENV_INTERFACE , + part =blk_get_device_part_str (FAT_ENV_INTERFACE ,FAT_ENV_DEVICE_AND_PART , &dev_desc, &info,1 );if (part <0 )
disk/part.c +1 -1
@@ -511,7 +511,7 @@ cleanup:#define PART_UNSPECIFIED -2#define PART_AUTO -1#define MAX_SEARCH_PARTITIONS 16 -int get_device_and_partition (const char *ifname,const char *dev_part_str, +int blk_get_device_part_str (const char *ifname,const char *dev_part_str,struct blk_desc **dev_desc,disk_partition_t *info,int allow_whole_dev) {
fs/fs.c +1 -1
@@ -213,7 +213,7 @@ int fs_set_blk_dev(const char *ifname, const char *dev_part_str, int fstype) }#endif - part =get_device_and_partition (ifname, dev_part_str, &fs_dev_desc, + part =blk_get_device_part_str (ifname, dev_part_str, &fs_dev_desc, &fs_partition,1 );if (part <0 )return -1 ;
fs/ubifs/ubifs.c +1 -1
@@ -569,7 +569,7 @@ int ubifs_set_blk_dev(struct blk_desc *rbdd, disk_partition_t *info) }/* -* Should never happen since get_device_and_partition() already checks +* Should never happen since blk_get_device_part_str() already checks * this, but better safe then sorry. */ if (!ubifs_is_mounted ()) {
include/part.h +38 -4
54 lines not on this page · raw message
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 11/32 dm: blk: Rename get_device_and_partition()
Quoted 11 lines · Simon Glass
Rename this function to
blk_get_device_part_str(). This is a better name because it makes it clear that the function returns a block device and parses a string.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2:
- Rename toblk_get_device_by_str()
Quoted 11 lines
cmd/disk.c | 2 +- cmd/fat.c | 4 ++-- cmd/part.c | 2 +- cmd/reiser.c | 4 ++-- cmd/zfs.c | 4 ++-- common/env_fat.c | 4 ++-- disk/part.c | 2 +- fs/fs.c | 2 +- fs/ubifs/ubifs.c | 2 +- include/part.h | 42 ++++++++++++++++++++++++++++++++++++++---- 10 files changed, 51 insertions(+), 17 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 12/32 dm: part: Add a cast to avoid a compiler warning
In reply to Simon GlassIn part_amiga.c the name is unsigned but bcpl_strcpy() requires a signed pointer. Add a cast to fix the warning.
---
Changes in v2:
- Fix 'by' which should be 'but' in the commit message
disk/part_amiga.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
disk/part_amiga.c +1 -1
@@ -304,7 +304,7 @@ int get_partition_info_amiga(struct blk_desc *dev_desc, int part, info->start = g->low_cyl * g->block_per_track * g->surfaces; info->size = (g->high_cyl - g->low_cyl +1 ) * g->block_per_track * g->surfaces -1 ; info->blksz = rdb.block_bytes; -bcpl_strcpy (info->name, p->drive_name); +bcpl_strcpy ((char *)info->name, p->drive_name); disk_type = g->dos_type;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 12/32 dm: part: Add a cast to avoid a compiler warning
Quoted 5 lines · Simon Glass
In
part_amiga.cthe name is unsigned butbcpl_strcpy()requires a signed pointer. Add a cast to fix the warning.Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>
Quoted 7 lines
---
Changes in v2:
- Fix 'by' which should be 'but' in the commit messagedisk/part_amiga.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Applied to u-boot-dm/next.
PATCH v2 13/32 dm: sandbox: Enable all partition types
In reply to Simon GlassIt is useful to have sandbox build as much code as possible to avoid having to build every board to detect build errors. Also we may add tests for some more partition types at some point.
Enable all partition types in sandbox.
---
Changes in v2:
- Sort the CONFIG_..._PARTITION options in the header file
include/configs/sandbox.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
include/configs/sandbox.h +4 -1
@@ -53,8 +53,11 @@#define CONFIG_CMD_GPT #define CONFIG_PARTITION_UUIDS -#define CONFIG_EFI_PARTITION +#define CONFIG_AMIGA_PARTITION #define CONFIG_DOS_PARTITION +#define CONFIG_EFI_PARTITION +#define CONFIG_ISO_PARTITION +#define CONFIG_MAC_PARTITION /* * Size of malloc() pool, before and after relocation
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 13/32 dm: sandbox: Enable all partition types
Quoted 9 lines · Simon Glass
It is useful to have sandbox build as much code as possible to avoid having to build every board to detect build errors. Also we may add tests for some more partition types at some point.
Enable all partition types in sandbox.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Tom Rini <[email protected]>Reviewed-by Bin Meng <[email protected]>
Quoted 7 lines
---
Changes in v2:
- Sort the CONFIG_..._PARTITION options in the header fileinclude/configs/sandbox.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Applied to u-boot-dm/next.
PATCH v2 14/32 dm: part: Convert partition API use to linker lists
In reply to Simon GlassWe can use linker lists instead of explicitly declaring each function. This makes the code shorter by avoiding switch() statements and lots of header file declarations.
While this does clean up the code it introduces a few code issues with SPL. SPL never needs to print partition information since this all happens from commands. SPL mostly doesn't need to obtain information about a partition either, except in a few cases. Add these cases so that the code will be dropped from each partition driver when not needed. This avoids code bloat.
I think this is still a win, since it is not a bad thing to be explicit about which features are used in SPL. But others may like to weigh in.
---
Changes in v2:
- Reorder the linker list so that EFI comes before DOS, and add a comment
disk/part.c | 184 +++++++++++++++++------------------------------------- disk/part_amiga.c | 16 +++-- disk/part_dos.c | 9 ++- disk/part_efi.c | 15 ++++- disk/part_iso.c | 16 +++-- disk/part_mac.c | 16 +++-- include/part.h | 79 ++++++++++++++--------- 7 files changed, 162 insertions(+), 173 deletions(-)
disk/part.c +58 -126
@@ -7,6 +7,7 @@#include <common.h> #include <command.h> +#include <errno.h> #include <ide.h> #include <malloc.h> #include <part.h>
@@ -58,6 +59,22 @@ static const struct block_drvr block_drvr[] = {DECLARE_GLOBAL_DATA_PTR ;#ifdef HAVE_BLOCK_DEVICE +static struct part_driver *part_driver_lookup_type (int part_type) +{ +struct part_driver *drv = + ll_entry_start(struct part_driver, part_driver); + const int n_ents = ll_entry_count(struct part_driver, part_driver); +struct part_driver *entry; + +for (entry = drv; entry != drv + n_ents; entry++) { +if (part_type == entry->part_type) +return entry; + } + +/* Not found */ +return NULL ; +} +static struct blk_desc *get_dev_hwpart (const char *ifname,int dev,int hwpart) {const struct block_drvr *drvr = block_drvr;
@@ -252,53 +269,31 @@ void dev_print (struct blk_desc *dev_desc)void init_part (struct blk_desc *dev_desc) { -#ifdef CONFIG_ISO_PARTITION -if (test_part_iso (dev_desc) ==0 ) { - dev_desc->part_type =PART_TYPE_ISO ; -return ; - } -#endif +struct part_driver *drv = + ll_entry_start(struct part_driver, part_driver); + const int n_ents = ll_entry_count(struct part_driver, part_driver); +struct part_driver *entry; -#ifdef CONFIG_MAC_PARTITION -if (test_part_mac (dev_desc) ==0 ) { - dev_desc->part_type =PART_TYPE_MAC ; -return ; - } -#endif - -/* must be placed before DOS partition detection */ -#ifdef CONFIG_EFI_PARTITION -if (test_part_efi (dev_desc) ==0 ) { - dev_desc->part_type =PART_TYPE_EFI ; -return ; - } -#endif - -#ifdef CONFIG_DOS_PARTITION -if (test_part_dos (dev_desc) ==0 ) { - dev_desc->part_type =PART_TYPE_DOS ; -return ; - } -#endif - -#ifdef CONFIG_AMIGA_PARTITION -if (test_part_amiga (dev_desc) ==0 ) { - dev_desc->part_type =PART_TYPE_AMIGA ; -return ; - } -#endif dev_desc->part_type =PART_TYPE_UNKNOWN ; +for (entry = drv; entry != drv + n_ents; entry++) { +int ret; + + ret = entry->test (dev_desc); +debug ("%s: try '%s': ret=%d\n" , __func__, entry->name, ret); +if (!ret) { + dev_desc->part_type = entry->part_type; +break ; + } + } } - +static void print_part_header (const char *type,struct blk_desc *dev_desc) +{#if defined(CONFIG_MAC_PARTITION ) || \ defined(CONFIG_DOS_PARTITION ) || \ defined(CONFIG_ISO_PARTITION ) || \ defined(CONFIG_AMIGA_PARTITION ) || \ defined(CONFIG_EFI_PARTITION ) - -static void print_part_header (const char *type,struct blk_desc *dev_desc) -{puts ("\nPartition Map for " );switch (dev_desc->if_type) {case IF_TYPE_IDE :
@@ -331,54 +326,24 @@ static void print_part_header(const char *type, struct blk_desc *dev_desc) }printf (" device %d -- Partition Type: %s\n\n" , dev_desc->dev, type); -} -#endif /* any CONFIG_..._PARTITION */ +}void print_part (struct blk_desc *dev_desc) { +struct part_driver *drv; -switch (dev_desc->part_type) { -#ifdef CONFIG_MAC_PARTITION -case PART_TYPE_MAC : -PRINTF ("## Testing for valid MAC partition ##\n" ); -print_part_header ("MAC" , dev_desc); -print_part_mac (dev_desc); -return ; -#endif -#ifdef CONFIG_DOS_PARTITION -case PART_TYPE_DOS : -PRINTF ("## Testing for valid DOS partition ##\n" ); -print_part_header ("DOS" , dev_desc); -print_part_dos (dev_desc); -return ; -#endif - -#ifdef CONFIG_ISO_PARTITION -case PART_TYPE_ISO : -PRINTF ("## Testing for valid ISO Boot partition ##\n" ); -print_part_header ("ISO" , dev_desc); -print_part_iso (dev_desc); -return ; -#endif - -#ifdef CONFIG_AMIGA_PARTITION -case PART_TYPE_AMIGA : -PRINTF ("## Testing for a valid Amiga partition ##\n" ); -print_part_header ("AMIGA" , dev_desc); -print_part_amiga (dev_desc); -return ; -#endif - -#ifdef CONFIG_EFI_PARTITION -case PART_TYPE_EFI : -PRINTF ("## Testing for valid EFI partition ##\n" ); -print_part_header ("EFI" , dev_desc); -print_part_efi (dev_desc); + drv =part_driver_lookup_type (dev_desc->part_type); +if (!drv) { +printf ("## Unknown partition table type %x\n" , + dev_desc->part_type);return ; -#endif } -puts ("## Unknown partition table\n" ); + +PRINTF ("## Testing for valid %s partition ##\n" , drv->name); +print_part_header (drv->name, dev_desc); +if (drv->print) + drv->#endif /* HAVE_BLOCK_DEVICE */
@@ -387,6 +352,7 @@ int get_partition_info(struct blk_desc *dev_desc, int part, disk_partition_t *info) {#ifdef HAVE_BLOCK_DEVICE +struct part_driver *drv;#ifdef CONFIG_PARTITION_UUIDS /* The common case is no UUID support */
@@ -396,53 +362,19 @@ int get_partition_info(struct blk_desc *dev_desc, int part, info->type_guid[0 ] =0 ;#endif -switch (dev_desc->part_type) { -#ifdef CONFIG_MAC_PARTITION -case PART_TYPE_MAC : -if (get_partition_info_mac (dev_desc, part, info) ==0 ) { -PRINTF ("## Valid MAC partition found ##\n" ); -return 0 ; - } -break ; -#endif - -#ifdef CONFIG_DOS_PARTITION -case PART_TYPE_DOS : -if (get_partition_info_dos (dev_desc, part, info) ==0 ) { -PRINTF ("## Valid DOS partition found ##\n" ); -return 0 ; - } -break ; -#endif - -#ifdef CONFIG_ISO_PARTITION -case PART_TYPE_ISO : -if (get_partition_info_iso (dev_desc, part, info) ==0 ) { -PRINTF ("## Valid ISO boot partition found ##\n" ); -return 0 ; - } -break ; -#endif - -#ifdef CONFIG_AMIGA_PARTITION -case PART_TYPE_AMIGA : -if (get_partition_info_amiga (dev_desc, part, info) ==0 ) { -PRINTF ("## Valid Amiga partition found ##\n" ); -return 0 ; - } -break ; -#endif - -#ifdef CONFIG_EFI_PARTITION -case PART_TYPE_EFI : -if (get_partition_info_efi (dev_desc, part, info) ==0 ) { -PRINTF ("## Valid EFI partition found ##\n" ); -return 0 ; - } -break ; -#endif -default : -break ; + drv =part_driver_lookup_type (dev_desc->part_type); +if (!drv) { +debug ("## Unknown partition table type %x\n" , + dev_desc->part_type); +return -EPROTONOSUPPORT ; + } +if (!drv->get_info) { +PRINTF ("## Driver %s does not have the get_info() method\n" ); +return -ENOSYS ; + } +if (drv->get_info (dev_desc, part, info) ==0 ) { +PRINTF ("## Valid %s partition found ##\n" , drv->name); +return 0 ; }#endif /* HAVE_BLOCK_DEVICE */
disk/part_amiga.c +12 -4
@@ -207,7 +207,7 @@ struct bootcode_block *get_bootcode(struct blk_desc *dev_desc)* Test if the given partition has an Amiga partition table/Rigid * Disk block */ -int test_part_amiga (struct blk_desc *dev_desc) +static int test_part_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *bootcode;
@@ -291,8 +291,8 @@ static struct partition_block *find_partition(struct blk_desc *dev_desc,/* * Get info about a partition */ -int get_partition_info_amiga (struct blk_desc *dev_desc,int part, -disk_partition_t *info) +static int get_partition_info_amiga (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {struct partition_block *p =find_partition (dev_desc, part-1 );struct amiga_part_geometry *g;
@@ -319,7 +319,7 @@ int get_partition_info_amiga(struct blk_desc *dev_desc, int part,return 0 ; } -void print_part_amiga (struct blk_desc *dev_desc) +static void print_part_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *boot;
@@ -379,4 +379,12 @@ void print_part_amiga(struct blk_desc *dev_desc) } } +U_BOOT_PART_TYPE (amiga) = { + .name ="AMIGA" , + .part_type =PART_TYPE_AMIGA , + .get_info = get_partition_info_amiga, + .print = print_part_amiga, + .test = test_part_amiga, +}; +#endif
disk/part_dos.c +8 -1
@@ -87,7 +87,7 @@ static int test_block_type(unsigned char *buffer) } -int test_part_dos (struct blk_desc *dev_desc) +static int test_part_dos (struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
@@ -295,5 +295,12 @@ int get_partition_info_dos(struct blk_desc *dev_desc, int part, return get_partition_info_extended(dev_desc, 0, 0, 1, part, info, 0); } +U_BOOT_PART_TYPE (dos) = { + .name ="DOS" , + .part_type =PART_TYPE_DOS , + .get_info =part_get_info_ptr (get_partition_info_dos), + .print =part_print_ptr (print_part_dos), + .test = test_part_dos, +};#endif
disk/part_efi.c +14 -1
@@ -319,7 +319,7 @@ int get_partition_info_efi_by_name(struct blk_desc *dev_desc,return -2 ; } -int test_part_efi (struct blk_desc *dev_desc) +static int test_part_efi (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER_PAD (legacy_mbr, legacymbr,1 , dev_desc->blksz);
@@ -953,4 +953,17 @@ static int is_pte_valid(gpt_entry * pte) return 1; } } + +/* +* Add an 'a_' prefix so it comes before 'dos' in the linker list. We need to +* check EFI first, since a DOS partition is often used as a 'protective MBR' +* with EFI. +*/ +U_BOOT_PART_TYPE (a_efi) = { + .name ="EFI" , + .part_type =PART_TYPE_EFI , + .get_info =part_get_info_ptr (get_partition_info_efi), + .print =part_print_ptr (print_part_efi), + .test = test_part_efi, +};#endif
disk/part_iso.c +11 -5
@@ -217,14 +217,13 @@ found:return 0 ; } -int get_partition_info_iso (struct blk_desc *dev_desc,int part_num, -disk_partition_t *info) +static int get_partition_info_iso (struct blk_desc *dev_desc,int part_num, +disk_partition_t *info) {return (get_partition_info_iso_verb (dev_desc, part_num, info,1 )); } - -void print_part_iso (struct blk_desc *dev_desc) +static void print_part_iso (struct blk_desc *dev_desc) {disk_partition_t info;int i;
@@ -241,11 +240,18 @@ void print_part_iso(struct blk_desc *dev_desc) } while (get_partition_info_iso_verb(dev_desc,i,&info,0)!=-1); } -int test_part_iso (struct blk_desc *dev_desc) +static int test_part_iso (struct blk_desc *dev_desc) {disk_partition_t info;return (get_partition_info_iso_verb (dev_desc,0 ,&info,0 )); } +U_BOOT_PART_TYPE (iso) = { + .name ="ISO" , + .part_type =PART_TYPE_ISO , + .get_info = get_partition_info_iso, + .print = print_part_iso, + .test = test_part_iso, +};#endif
disk/part_mac.c +11 -5
@@ -40,7 +40,7 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,/* * Test for a valid MAC partition */ -int test_part_mac (struct blk_desc *dev_desc) +static int test_part_mac (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );ALLOC_CACHE_ALIGN_BUFFER (mac_partition_t, mpart,1 );
@@ -64,8 +64,7 @@ int test_part_mac(struct blk_desc *dev_desc)return (0 ); } - -void print_part_mac (struct blk_desc *dev_desc) +static void print_part_mac (struct blk_desc *dev_desc) {ulong i, n;ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );
@@ -214,8 +213,8 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,/* NOTREACHED */ } -int get_partition_info_mac (struct blk_desc *dev_desc,int part, -disk_partition_t *info) +static int get_partition_info_mac (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );ALLOC_CACHE_ALIGN_BUFFER (mac_partition_t, mpart,1 );
@@ -238,4 +237,11 @@ int get_partition_info_mac(struct blk_desc *dev_desc, int part, return (0); } +U_BOOT_PART_TYPE (mac) = { + .name ="MAC" , + .part_type =PART_TYPE_MAC , + .get_info = get_partition_info_mac, + .print = print_part_mac, + .test = test_part_mac, +};#endif
include/part.h +48 -31
99 lines not on this page · raw message
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 14/32 dm: part: Convert partition API use to linker lists
Quoted 20 lines · Simon Glass
We can use linker lists instead of explicitly declaring each function. This makes the code shorter by avoiding
switch()statements and lots of header file declarations.While this does clean up the code it introduces a few code issues with SPL. SPL never needs to print partition information since this all happens from commands. SPL mostly doesn't need to obtain information about a partition either, except in a few cases. Add these cases so that the code will be dropped from each partition driver when not needed. This avoids code bloat.
I think this is still a win, since it is not a bad thing to be explicit about which features are used in SPL. But others may like to weigh in.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Tom Rini <[email protected]>---
Changes in v2:
- Reorder the linker list so that EFI comes before DOS, and add a comment
Quoted 8 lines
disk/part.c | 184 +++++++++++++++++------------------------------------- disk/part_amiga.c | 16 +++-- disk/part_dos.c | 9 ++- disk/part_efi.c | 15 ++++- disk/part_iso.c | 16 +++-- disk/part_mac.c | 16 +++-- include/part.h | 79 ++++++++++++++--------- 7 files changed, 162 insertions(+), 173 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 15/32 dm: part: Rename some partition functions
In reply to Simon GlassRename three partition functions so that they start with part_. This makes it clear what they relate to.
---
Changes in v2: None
board/cm5200/fwupdate.c | 2 +- cmd/ide.c | 6 +++--- cmd/mmc.c | 2 +- cmd/part.c | 8 ++++---- cmd/read.c | 2 +- cmd/sata.c | 6 +++--- cmd/scsi.c | 6 +++--- cmd/usb.c | 4 ++-- common/fb_mmc.c | 10 +++++----- common/spl/spl_ext.c | 6 ++---- common/spl/spl_mmc.c | 2 +- common/usb_storage.c | 2 +- disk/part.c | 12 ++++++------ disk/part_amiga.c | 4 ++-- disk/part_dos.c | 19 +++++++++---------- disk/part_efi.c | 10 +++++----- disk/part_iso.c | 17 +++++++++-------- disk/part_mac.c | 4 ++-- drivers/block/pata_bfin.c | 2 +- drivers/block/sandbox.c | 2 +- drivers/block/systemace.c | 2 +- drivers/dfu/dfu_mmc.c | 2 +- drivers/mmc/mmc.c | 2 +- fs/fat/fat.c | 2 +- include/part.h | 21 ++++++++++----------- 25 files changed, 76 insertions(+), 79 deletions(-)
board/cm5200/fwupdate.c +1 -1
@@ -117,7 +117,7 @@ static int load_rescue_image(ulong addr)/* Detect partition */ for (partno =-1 , i =0 ; i <6 ; i++) { -if (get_partition_info (stor_dev, i, &info) ==0 ) { +if (part_get_info (stor_dev, i, &info) ==0 ) {if (fat_register_device (stor_dev, i) ==0 ) {/* Check if rescue image is present */ FW_DEBUG("Looking for firmware directory '%s'"
cmd/ide.c +3 -3
@@ -137,7 +137,7 @@ int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) ++ok;if (dev)putc ('\n' ); -print_part (&ide_dev_desc[dev]); +part_print (&ide_dev_desc[dev]); } }if (!ok) {
@@ -171,7 +171,7 @@ int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])int dev = (int )simple_strtoul (argv[2 ],NULL ,10 );if (ide_dev_desc[dev].part_type !=PART_TYPE_UNKNOWN ) { -print_part (&ide_dev_desc[dev]); +part_print (&ide_dev_desc[dev]); }else {printf ("\nIDE device %d not available\n" , dev);
@@ -435,7 +435,7 @@ void ide_init(void)if ((ide_dev_desc[i].lba >0 ) && (ide_dev_desc[i].blksz >0 )) {/* initialize partition type */ -init_part (&ide_dev_desc[i]); +part_init (&ide_dev_desc[i]);if (curr_device <0 ) curr_device = i; }
cmd/mmc.c +1 -1
@@ -433,7 +433,7 @@ static int do_mmc_part(cmd_tbl_t *cmdtp, int flag, mmc_dev =mmc_get_dev (curr_device);if (mmc_dev !=NULL && mmc_dev->type !=DEV_TYPE_UNKNOWN ) { -print_part (mmc_dev); +part_print (mmc_dev);return CMD_RET_SUCCESS ; }
cmd/part.c +4 -4
@@ -92,7 +92,7 @@ static int do_part_list(int argc, char * const argv[])for (p =1 ; p <128 ; p++) {char t[5 ]; -int r =get_partition_info (desc, p, &info); +int r =part_get_info (desc, p, &info);if (r !=0 )continue ;
@@ -107,7 +107,7 @@ static int do_part_list(int argc, char * const argv[])return 0 ; } -print_part (desc); +part_print (desc);return 0 ; }
@@ -132,7 +132,7 @@ static int do_part_start(int argc, char * const argv[])if (ret <0 )return 1 ; - err =get_partition_info (desc, part, &info); + err =part_get_info (desc, part, &info);if (err)return 1 ;
@@ -166,7 +166,7 @@ static int do_part_size(int argc, char * const argv[])if (ret <0 )return 1 ; - err =get_partition_info (desc, part, &info); + err =part_get_info (desc, part, &info);if (err)return 1 ;
cmd/read.c +1 -1
@@ -50,7 +50,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) cnt =simple_strtoul (argv[5 ],NULL ,16 );if (part !=0 ) { -if (get_partition_info (dev_desc, part, &part_info)) { +if (part_get_info (dev_desc, part, &part_info)) {printf ("Cannot find partition %d\n" , part);return 1 ; }
cmd/sata.c +3 -3
@@ -52,7 +52,7 @@ int __sata_initialize(void) rc =scan_sata (i);if (!rc && (sata_dev_desc[i].lba >0 ) && (sata_dev_desc[i].blksz >0 )) -init_part (&sata_dev_desc[i]); +part_init (&sata_dev_desc[i]); } } sata_curr_device =0 ;
@@ -131,7 +131,7 @@ static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) ++ok;if (dev)putc ('\n' ); -print_part (&sata_dev_desc[dev]); +part_print (&sata_dev_desc[dev]); } }if (!ok) {
@@ -164,7 +164,7 @@ static int do_sata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])int dev = (int )simple_strtoul (argv[2 ],NULL ,10 );if (sata_dev_desc[dev].part_type !=PART_TYPE_UNKNOWN ) { -print_part (&sata_dev_desc[dev]); +part_print (&sata_dev_desc[dev]); }else {printf ("\nSATA device %d not available\n" , dev); rc =1 ;
cmd/scsi.c +3 -3
@@ -156,7 +156,7 @@ void scsi_scan(int mode) scsi_dev_desc[scsi_max_devs].log2blksz =LOG2 (scsi_dev_desc[scsi_max_devs].blksz); scsi_dev_desc[scsi_max_devs].type=perq; -init_part (&scsi_dev_desc[scsi_max_devs]); +part_init (&scsi_dev_desc[scsi_max_devs]); removable:if (mode==1 ) {printf (" Device %d: " , scsi_max_devs);
@@ -301,7 +301,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (dev)printf ("\n" );debug ("print_part of %x\n" ,dev); -print_part (&scsi_dev_desc[dev]); +part_print (&scsi_dev_desc[dev]); } }if (!ok)
@@ -329,7 +329,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (strncmp (argv[1 ],"part" ,4 ) ==0 ) {int dev = (int )simple_strtoul (argv[2 ],NULL ,10 );if (scsi_dev_desc[dev].type !=DEV_TYPE_UNKNOWN ) { -print_part (&scsi_dev_desc[dev]); +part_print (&scsi_dev_desc[dev]); }else {printf ("\nSCSI device %d not available\n" , dev);
cmd/usb.c +2 -2
@@ -727,7 +727,7 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (devno)printf ("\n" );debug ("print_part of %x\n" , devno); -print_part (stor_dev); +part_print (stor_dev); } } }else {
@@ -737,7 +737,7 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) stor_dev->type != DEV_TYPE_UNKNOWN) { ok++;debug ("print_part of %x\n" , devno); -print_part (stor_dev); +part_print (stor_dev); } }if (!ok) {
common/fb_mmc.c +5 -5
@@ -25,12 +25,12 @@ struct fb_mmc_sparse {struct blk_desc *dev_desc; }; -static int get_partition_info_efi_by_name_or_alias (struct blk_desc *dev_desc, +static int part_get_info_efi_by_name_or_alias (struct blk_desc *dev_desc,const char *name,disk_partition_t *info) {int ret; - ret =get_partition_info_efi_by_name (dev_desc, name, info); + ret =part_get_info_efi_by_name (dev_desc, name, info);if (ret) {/* strlen("fastboot_partition_alias_") + 32(part_name) + 1 */ char env_alias_name[25 +32 +1 ];
@@ -41,7 +41,7 @@ static int get_partition_info_efi_by_name_or_alias(struct blk_desc *dev_desc,strncat (env_alias_name, name,32 ); aliased_part_name =getenv (env_alias_name);if (aliased_part_name !=NULL ) - ret =get_partition_info_efi_by_name (dev_desc, + ret =part_get_info_efi_by_name (dev_desc, aliased_part_name, info); }return ret;
@@ -131,7 +131,7 @@ void fb_mmc_flash_write(const char *cmd, unsigned int session_id,printf ("........ success\n" );fastboot_okay (response_str,"" );return ; - }else if (get_partition_info_efi_by_name_or_alias (dev_desc, cmd, &info)) { + }else if (part_get_info_efi_by_name_or_alias (dev_desc, cmd, &info)) {error ("cannot find partition: '%s'\n" , cmd);fastboot_fail (response_str,"cannot find partition" );return ;
@@ -186,7 +186,7 @@ void fb_mmc_erase(const char *cmd, char *response)return ; } - ret =get_partition_info_efi_by_name_or_alias (dev_desc, cmd, &info); + ret =part_get_info_efi_by_name_or_alias (dev_desc, cmd, &info);if (ret) {error ("cannot find partition: '%s'" , cmd);fastboot_fail (response_str,"cannot find partition" );
common/spl/spl_ext.c +2 -4
@@ -22,8 +22,7 @@ int spl_load_image_ext(struct blk_desc *block_dev, header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -sizeof (struct image_header )); -if (get_partition_info (block_dev, - partition, &part_info)) { +if (part_get_info (block_dev, partition, &part_info)) {printf ("spl: no partition table found\n" );return -1 ; }
@@ -71,8 +70,7 @@ int spl_load_image_ext_os(struct blk_desc *block_dev, int partition)disk_partition_t part_info = {};__maybe_unused char *file; -if (get_partition_info (block_dev, - partition, &part_info)) { +if (part_get_info (block_dev, partition, &part_info)) {printf ("spl: no partition table found\n" );return -1 ; }
common/spl/spl_mmc.c +1 -1
@@ -122,7 +122,7 @@ static int mmc_load_image_raw_partition(struct mmc *mmc, int partition)disk_partition_t info;int err; - err =get_partition_info (&mmc->block_dev, partition, &info); + err =part_get_info (&mmc->block_dev, partition, &info);if (err) {#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT puts ("spl: partition error\n" );
common/usb_storage.c +1 -1
@@ -1374,7 +1374,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,debug (" address %d\n" , dev_desc->target);debug ("partype: %d\n" , dev_desc->part_type); -init_part (dev_desc); +part_init (dev_desc);debug ("partype: %d\n" , dev_desc->part_type);return 1 ;
disk/part.c +6 -6
@@ -267,7 +267,7 @@ void dev_print (struct blk_desc *dev_desc)#ifdef HAVE_BLOCK_DEVICE -void init_part (struct blk_desc *dev_desc) +void part_init (struct blk_desc *dev_desc) {struct part_driver *drv = ll_entry_start(struct part_driver, part_driver);
@@ -329,7 +329,7 @@ static void print_part_header(const char *type, struct blk_desc *dev_desc)#endif /* any CONFIG_..._PARTITION */ } -void print_part (struct blk_desc *dev_desc) +void part_print (struct blk_desc *dev_desc) {struct part_driver *drv;
@@ -348,7 +348,7 @@ void print_part(struct blk_desc *dev_desc)#endif /* HAVE_BLOCK_DEVICE */ -int get_partition_info (struct blk_desc *dev_desc,int part, +int part_get_info (struct blk_desc *dev_desc,int part,disk_partition_t *info) {#ifdef HAVE_BLOCK_DEVICE
@@ -432,7 +432,7 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str,* already loaded. */ if (hwpart !=0 ) -init_part (*dev_desc); +part_init (*dev_desc);#endif cleanup:
@@ -607,7 +607,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str,* other than "auto", use that partition number directly. */ if (part !=PART_AUTO ) { - ret =get_partition_info (*dev_desc, part, info); + ret =part_get_info (*dev_desc, part, info);if (ret) {printf ("** Invalid partition %d **\n" , part); goto cleanup;
@@ -619,7 +619,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str,*/ part =0 ;for (p =1 ; p <=MAX_SEARCH_PARTITIONS ; p++) { - ret =get_partition_info (*dev_desc, p, info); + ret =part_get_info (*dev_desc, p, info);if (ret)continue ;
disk/part_amiga.c +2 -2
@@ -291,7 +291,7 @@ static struct partition_block *find_partition(struct blk_desc *dev_desc,/* * Get info about a partition */ -static int get_partition_info_amiga (struct blk_desc *dev_desc,int part, +static int part_get_info_amiga (struct blk_desc *dev_desc,int part,disk_partition_t *info) {struct partition_block *p =find_partition (dev_desc, part-1 );
@@ -382,7 +382,7 @@ static void print_part_amiga(struct blk_desc *dev_desc)U_BOOT_PART_TYPE (amiga) = { .name ="AMIGA" , .part_type =PART_TYPE_AMIGA , - .get_info = get_partition_info_amiga, + .get_info = part_get_info_amiga, .print = print_part_amiga, .test = test_part_amiga, };
disk/part_dos.c +9 -10
@@ -167,11 +167,10 @@ static void print_partition_extended(struct blk_desc *dev_desc,/* Print a partition that is relative to its Extended partition table */ -static int get_partition_info_extended (struct blk_desc *dev_desc, -lbaint_t ext_part_sector, -lbaint_t relative,int part_num, -int which_part,disk_partition_t *info, -unsigned int disksig) +static int part_get_info_extended (struct blk_desc *dev_desc, +lbaint_t ext_part_sector,lbaint_t relative, +int part_num,int which_part, +disk_partition_t *info,unsigned int disksig) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);dos_partition_t *pt;
@@ -259,7 +258,7 @@ static int get_partition_info_extended(struct blk_desc *dev_desc,lbaint_t lba_start =le32_to_int (pt->start4) + relative; -return get_partition_info_extended (dev_desc, lba_start, +return part_get_info_extended (dev_desc, lba_start, ext_part_sector ==0 ? lba_start : relative, part_num, which_part, info, disksig); }
@@ -289,16 +288,16 @@ void print_part_dos(struct blk_desc *dev_desc)print_partition_extended (dev_desc,0 ,0 ,1 ,0 ); } -int get_partition_info_dos (struct blk_desc *dev_desc,int part, -disk_partition_t *info) +int part_get_info_dos (struct blk_desc *dev_desc,int part, +disk_partition_t *info) { -return get_partition_info_extended (dev_desc,0 ,0 ,1 , part, info,0 ); +return part_get_info_extended (dev_desc,0 ,0 ,1 , part, info,0 ); }U_BOOT_PART_TYPE (dos) = { .name ="DOS" , .part_type =PART_TYPE_DOS , - .get_info =part_get_info_ptr (get_partition_info_dos), + .get_info =part_get_info_ptr (part_get_info_dos), .print =part_print_ptr (print_part_dos), .test = test_part_dos, };
disk/part_efi.c +5 -5
@@ -237,8 +237,8 @@ void print_part_efi(struct blk_desc *dev_desc)return ; } -int get_partition_info_efi (struct blk_desc *dev_desc,int part, -disk_partition_t *info) +int part_get_info_efi (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {ALLOC_CACHE_ALIGN_BUFFER_PAD (gpt_header, gpt_head,1 , dev_desc->blksz);gpt_entry *gpt_pte =NULL ;
@@ -300,13 +300,13 @@ int get_partition_info_efi(struct blk_desc *dev_desc, int part,return 0 ; } -int get_partition_info_efi_by_name (struct blk_desc *dev_desc, +int part_get_info_efi_by_name (struct blk_desc *dev_desc,const char *name,disk_partition_t *info) {int ret;int i;for (i =1 ; i <GPT_ENTRY_NUMBERS ; i++) { - ret =get_partition_info_efi (dev_desc, i, info); + ret =part_get_info_efi (dev_desc, i, info);if (ret !=0 ) {/* no more entries in table */ return -1 ;
@@ -962,7 +962,7 @@ static int is_pte_valid(gpt_entry * pte)U_BOOT_PART_TYPE (a_efi) = { .name ="EFI" , .part_type =PART_TYPE_EFI , - .get_info =part_get_info_ptr (get_partition_info_efi), + .get_info =part_get_info_ptr (part_get_info_efi), .print =part_print_ptr (print_part_efi), .test = test_part_efi, };
disk/part_iso.c +9 -8
@@ -46,8 +46,8 @@ static inline unsigned short le16_to_int(unsigned char *le16)/* only boot records will be listed as valid partitions */ -int get_partition_info_iso_verb (struct blk_desc *dev_desc,int part_num, -disk_partition_t *info,int verb) +int part_get_info_iso_verb (struct blk_desc *dev_desc,int part_num, +disk_partition_t *info,int verb) {int i,offset,entry_num;unsigned short *chksumbuf;
@@ -217,17 +217,18 @@ found:return 0 ; } -static int get_partition_info_iso (struct blk_desc *dev_desc,int part_num, +static int part_get_info_iso (struct blk_desc *dev_desc,int part_num,disk_partition_t *info) { -return (get_partition_info_iso_verb (dev_desc, part_num, info,1 )); +return part_get_info_iso_verb (dev_desc, part_num, info,1 ); }static void print_part_iso (struct blk_desc *dev_desc) {disk_partition_t info;int i; -if (get_partition_info_iso_verb (dev_desc,0 ,&info,0 )==-1 ) { + +if (part_get_info_iso_verb (dev_desc,0 , &info,0 ) ==-1 ) {printf ("** No boot partition found on device %d **\n" ,dev_desc->dev);return ; }
@@ -237,20 +238,20 @@ static void print_part_iso(struct blk_desc *dev_desc)printf (" %2d " LBAFU " " LBAFU " %6ld %.32s\n" , i, info.start, info.size, info.blksz, info.type); i++; - }while (get_partition_info_iso_verb (dev_desc,i,&info,0 )!=-1 ); + }while (part_get_info_iso_verb (dev_desc, i, &info,0 ) !=-1 ); }static int test_part_iso (struct blk_desc *dev_desc) {disk_partition_t info; -return (get_partition_info_iso_verb (dev_desc,0 ,&info,0 )); +return part_get_info_iso_verb (dev_desc,0 , &info,0 ); }U_BOOT_PART_TYPE (iso) = { .name ="ISO" , .part_type =PART_TYPE_ISO , - .get_info = get_partition_info_iso, + .get_info = part_get_info_iso, .print = print_part_iso, .test = test_part_iso, };
disk/part_mac.c +2 -2
@@ -213,7 +213,7 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,/* NOTREACHED */ } -static int get_partition_info_mac (struct blk_desc *dev_desc,int part, +static int part_get_info_mac (struct blk_desc *dev_desc,int part,disk_partition_t *info) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );
@@ -240,7 +240,7 @@ static int get_partition_info_mac(struct blk_desc *dev_desc, int part,U_BOOT_PART_TYPE (mac) = { .name ="MAC" , .part_type =PART_TYPE_MAC , - .get_info = get_partition_info_mac, + .get_info = part_get_info_mac, .print = print_part_mac, .test = test_part_mac, };
drivers/block/pata_bfin.c +1 -1
@@ -965,7 +965,7 @@ int scan_sata(int dev)/* Probe device and set xfer mode */ bfin_ata_identify (ap, dev%PATA_DEV_NUM_PER_PORT );bfin_ata_set_Feature_cmd (ap, dev%PATA_DEV_NUM_PER_PORT ); -init_part (&sata_dev_desc[dev]); +part_init (&sata_dev_desc[dev]);return 0 ; }
drivers/block/sandbox.c +1 -1
@@ -98,7 +98,7 @@ int host_dev_bind(int dev, char *filename) blk_dev->block_write = host_block_write; blk_dev->dev = dev; blk_dev->part_type =PART_TYPE_UNKNOWN ; -init_part (blk_dev); +part_init (blk_dev);return 0 ; }
drivers/block/systemace.c +1 -1
@@ -124,7 +124,7 @@ struct blk_desc *systemace_get_dev(int dev)*/ ace_writew (width ==8 ?0 :0x0001 ,0 ); -init_part (&systemace_dev); +part_init (&systemace_dev); }
drivers/dfu/dfu_mmc.c +1 -1
@@ -355,7 +355,7 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char *s)int mmcdev = second_arg;int mmcpart = third_arg; -if (get_partition_info (blk_dev, mmcpart, &partinfo) !=0 ) { +if (part_get_info (blk_dev, mmcpart, &partinfo) !=0 ) {error ("Couldn't find part #%d on mmc device #%d\n" , mmcpart, mmcdev);return -ENODEV ;
drivers/mmc/mmc.c +1 -1
@@ -1495,7 +1495,7 @@ static int mmc_startup(struct mmc *mmc) mmc->block_dev.revision[0 ] =0 ;#endif #if !defined(CONFIG_SPL_BUILD ) || defined(CONFIG_SPL_LIBDISK_SUPPORT ) -init_part (&mmc->block_dev); +part_init (&mmc->block_dev);#endif return 0 ;
fs/fat/fat.c +1 -1
@@ -97,7 +97,7 @@ int fat_register_device(struct blk_desc *dev_desc, int part_no) cur_dev =NULL ;/* Read the partition table, if present */ -if (get_partition_info (dev_desc, part_no, &info)) { +if (part_get_info (dev_desc, part_no, &info)) {if (part_no !=0 ) {printf ("** Partition %d not valid on device %d **\n" , part_no, dev_desc->dev);
include/part.h +10 -11
@@ -96,10 +96,9 @@ struct blk_desc *host_get_dev(int dev);int host_get_dev_err (int dev,struct blk_desc **blk_devp);/* disk/part.c */ -int get_partition_info (struct blk_desc *dev_desc,int part, -disk_partition_t *info); -void print_part (struct blk_desc *dev_desc); -void init_part (struct blk_desc *dev_desc); +int part_get_info (struct blk_desc *dev_desc,int part,disk_partition_t *info); +void part_print (struct blk_desc *dev_desc); +void part_init (struct blk_desc *dev_desc);void dev_print (struct blk_desc *dev_desc);/**
@@ -179,10 +178,10 @@ static inline struct blk_desc *systemace_get_dev(int dev) { return NULL; }static inline struct blk_desc *mg_disk_get_dev (int dev) {return NULL ; }static inline struct blk_desc *host_get_dev (int dev) {return NULL ; } -static inline int get_partition_info (struct blk_desc *dev_desc,int part, -disk_partition_t *info) {return -1 ; } -static inline void print_part (struct blk_desc *dev_desc) {} -static inline void init_part (struct blk_desc *dev_desc) {} +static inline int part_get_info (struct blk_desc *dev_desc,int part, +disk_partition_t *info) {return -1 ; } +static inline void part_print (struct blk_desc *dev_desc) {} +static inline void part_init (struct blk_desc *dev_desc) {}static inline void dev_print (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)
@@ -252,7 +251,7 @@ struct part_driver {#include <part_efi.h> /* disk/part_efi.c */ /** -* get_partition_info_efi_by_name() - Find the specified GPT partition table entry +* part_get_info_efi_by_name() - Find the specified GPT partition table entry * * @param dev_desc - block device descriptor * @param gpt_name - the specified table entry name
@@ -260,8 +259,8 @@ struct part_driver {* * @return - '0' on match, '-1' on no match, otherwise error */ -int get_partition_info_efi_by_name (struct blk_desc *dev_desc, -const char *name,disk_partition_t *info); +int part_get_info_efi_by_name (struct blk_desc *dev_desc, +const char *name,disk_partition_t *info);/** * write_gpt_table() - Write the GUID Partition Table to disk
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 15/32 dm: part: Rename some partition functions
Quoted 26 lines · Simon Glass
Rename three partition functions so that they start with
part_. This makes it clear what they relate to.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
board/cm5200/fwupdate.c | 2 +- cmd/ide.c | 6 +++--- cmd/mmc.c | 2 +- cmd/part.c | 8 ++++---- cmd/read.c | 2 +- cmd/sata.c | 6 +++--- cmd/scsi.c | 6 +++--- cmd/usb.c | 4 ++-- common/fb_mmc.c | 10 +++++----- common/spl/spl_ext.c | 6 ++---- common/spl/spl_mmc.c | 2 +- common/usb_storage.c | 2 +- disk/part.c | 12 ++++++------ disk/part_amiga.c | 4 ++-- disk/part_dos.c | 19 +++++++++---------- disk/part_efi.c | 10 +++++----- disk/part_iso.c | 17 +++++++++-------- disk/part_mac.c | 4 ++--
Quoted 8 lines
drivers/block/pata_bfin.c | 2 +- drivers/block/sandbox.c | 2 +- drivers/block/systemace.c | 2 +- drivers/dfu/dfu_mmc.c | 2 +- drivers/mmc/mmc.c | 2 +- fs/fat/fat.c | 2 +- include/part.h | 21 ++++++++++----------- 25 files changed, 76 insertions(+), 79 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 16/32 dm: cbfs: Fix handling of invalid type
In reply to Simon GlassThe comment for file_cbfs_type() says that it returns 0 for an invalid type. The code appears to check for -1, except that it uses an unsigned variable to store the type. This results in a warning on 64-bit machines.
Adjust it to make the meaning clearer. Continue to handle the -1 case since it may be needed.
---
Changes in v2:
- Bring the 'case 0' from a later patch into this one
cmd/cbfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
cmd/cbfs.c +3 -2
@@ -103,7 +103,7 @@ int do_cbfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])printf (" size type name\n" );printf ("------------------------------------------\n" );while (file) { -u32 type =file_cbfs_type (file); +int type =file_cbfs_type (file);char *type_name =NULL ;const char *filename =file_cbfs_name (file);
@@ -140,7 +140,8 @@ int do_cbfs_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])case CBFS_COMPONENT_CMOS_LAYOUT : type_name ="cmos layout" ;break ; -case -1UL : +case -1 : +case 0 : type_name ="null" ;break ; }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 16/32 dm: cbfs: Fix handling of invalid type
Quoted 7 lines · Simon Glass
The comment for
file_cbfs_type()says that it returns 0 for an invalid type. The code appears to check for -1, except that it uses an unsigned variable to store the type. This results in a warning on 64-bit machines.Adjust it to make the meaning clearer. Continue to handle the -1 case since it may be needed.
Quoted 8 lines
Signed-off-by Simon Glass <[email protected]>---
Changes in v2:
- Bring the 'case 0' from a later patch into this onecmd/cbfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 17/32 dm: sandbox: Enable cbfs and cramfs
In reply to Simon GlassEnable these two filesystems to provide better build coverage in sandbox.
---
Changes in v2: None
include/configs/sandbox.h | 3 +++ 1 file changed, 3 insertions(+)
include/configs/sandbox.h +3 -0
@@ -44,6 +44,9 @@#define CONFIG_CMD_FAT #define CONFIG_CMD_EXT4 #define CONFIG_CMD_EXT4_WRITE +#define CONFIG_CMD_CBFS +#define CONFIG_CMD_CRAMFS +#define CONFIG_CRAMFS_CMDLINE #define CONFIG_CMD_PART #define CONFIG_DOS_PARTITION #define CONFIG_HOST_MAX_DEVICES 4
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 17/32 dm: sandbox: Enable cbfs and cramfs
Quoted 10 lines · Simon Glass
Enable these two filesystems to provide better build coverage in sandbox.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
include/configs/sandbox.h | 3 +++ 1 file changed, 3 insertions(+)
Applied to u-boot-dm/next.
PATCH v2 18/32 dm: block: Rename device number member dev to devnum
In reply to Simon GlassThis is a device number, and we want to use 'dev' to mean a driver model device. Rename the member.
---
Changes in v2:
- Fix rebase error in cmd/cbfs.c
board/sunxi/board.c | 4 ++-- cmd/disk.c | 2 +- cmd/fat.c | 4 ++-- cmd/ide.c | 12 ++++++------ cmd/mmc_spi.c | 4 ++-- cmd/reiser.c | 4 ++-- cmd/sata.c | 6 +++--- cmd/scsi.c | 6 +++--- cmd/usb_mass_storage.c | 2 +- cmd/zfs.c | 2 +- common/env_fat.c | 4 ++-- common/fb_mmc.c | 4 ++-- common/usb_storage.c | 6 +++--- disk/part.c | 8 ++------ disk/part_dos.c | 29 +++++++++++++++++------------ disk/part_efi.c | 4 ++-- disk/part_iso.c | 39 ++++++++++++++++++++------------------- disk/part_mac.c | 22 +++++++++++----------- drivers/block/sandbox.c | 6 +++--- drivers/block/systemace.c | 2 +- drivers/mmc/arm_pl180_mmci.c | 2 +- drivers/mmc/mmc.c | 8 ++++---- drivers/mmc/mmc_write.c | 4 ++-- drivers/mmc/mxsmmc.c | 24 ++++++++++++------------ drivers/mmc/omap_hsmmc.c | 4 ++-- drivers/mmc/sdhci.c | 2 +- fs/fat/fat.c | 4 ++-- include/blk.h | 2 +- 28 files changed, 111 insertions(+), 109 deletions(-)
board/sunxi/board.c +2 -2
@@ -337,8 +337,8 @@ int board_mmc_init(bd_t *bis)if (!sunxi_mmc_has_egon_boot_signature (mmc0) &&sunxi_mmc_has_egon_boot_signature (mmc1)) {/* Booting from emmc / mmc2, swap */ - mmc0->block_dev.dev =1 ; - mmc1->block_dev.dev =0 ; + mmc0->block_dev.devnum =1 ; + mmc1->block_dev.devnum =0 ; }#endif
cmd/disk.c +1 -1
@@ -45,7 +45,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,return 1 ; } - dev = dev_desc->dev; + dev = dev_desc->devnum;bootstage_mark (BOOTSTAGE_ID_IDE_TYPE ); printf("\nLoading from %s device %d, partition %d: "
cmd/fat.c +2 -2
@@ -81,7 +81,7 @@ static int do_fat_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc,if (part <0 )return 1 ; - dev = dev_desc->dev; + dev = dev_desc->devnum;if (fat_set_blk_dev (dev_desc, &info) !=0 ) {printf ("\n** Unable to use %s %d:%d for fatinfo **\n" , argv[1 ], dev, part);
@@ -118,7 +118,7 @@ static int do_fat_fswrite(cmd_tbl_t *cmdtp, int flag,if (part <0 )return 1 ; - dev = dev_desc->dev; + dev = dev_desc->devnum;if (fat_set_blk_dev (dev_desc, &info) !=0 ) { printf("\n** Unable to use %s %d:%d for fatwrite **\n",
cmd/ide.c +6 -6
@@ -418,7 +418,7 @@ void ide_init(void)int led = (IDE_BUS (i) ==0 ) ?LED_IDE1 :LED_IDE2 ; ide_dev_desc[i].type =DEV_TYPE_UNKNOWN ; ide_dev_desc[i].if_type =IF_TYPE_IDE ; - ide_dev_desc[i].dev = i; + ide_dev_desc[i].devnum = i; ide_dev_desc[i].part_type =PART_TYPE_UNKNOWN ; ide_dev_desc[i].blksz =0 ; ide_dev_desc[i].log2blksz =
@@ -551,7 +551,7 @@ static void ide_ident(struct blk_desc *dev_desc)#endif int device; - device = dev_desc->dev; + device = dev_desc->devnum;printf (" Device %d: " , device);ide_led (DEVICE_LED (device),1 );/* LED on */
@@ -716,7 +716,7 @@ static void ide_ident(struct blk_desc *dev_desc)ulong ide_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;ulong n =0 ;unsigned char c;unsigned char pwrsave =0 ;/* power save */
@@ -842,7 +842,7 @@ IDE_READ_E:ulong ide_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;ulong n =0 ;unsigned char c;
@@ -1308,7 +1308,7 @@ static void atapi_inquiry(struct blk_desc *dev_desc)unsigned char c;int device; - device = dev_desc->dev; + device = dev_desc->devnum; dev_desc->type =DEV_TYPE_UNKNOWN ;/* not yet valid */ dev_desc->block_read = atapi_read;
@@ -1397,7 +1397,7 @@ static void atapi_inquiry(struct blk_desc *dev_desc)ulong atapi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;ulong n =0 ;unsigned char ccb[12 ];/* Command descriptor block */ ulong cnt;
cmd/mmc_spi.c +2 -2
@@ -72,8 +72,8 @@ static int do_mmc_spi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])printf ("Failed to create MMC Device\n" );return 1 ; } -printf ("%s: %d at %u:%u hz %u mode %u\n" , mmc->cfg->name, mmc->block_dev.dev, - bus, cs, speed, mode); +printf ("%s: %d at %u:%u hz %u mode %u\n" , mmc->cfg->name, + mmc->block_dev.devnum, bus, cs, speed, mode);mmc_init (mmc);return 0 ;
cmd/reiser.c +2 -2
@@ -48,7 +48,7 @@ int do_reiserls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) filename = argv[3 ]; } - dev = dev_desc->dev; + dev = dev_desc->devnum;PRINTF ("Using device %s %d:%d, directory: %s\n" , argv[1 ], dev, part, filename);reiserfs_set_blk_dev (dev_desc, &info);
@@ -126,7 +126,7 @@ int do_reiserload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])if (part <0 )return 1 ; - dev = dev_desc->dev; + dev = dev_desc->devnum; printf("Loading file \"%s\" from %s device %d%c%c\n", filename, argv[1], dev,
cmd/sata.c +3 -3
@@ -21,13 +21,13 @@ struct blk_desc sata_dev_desc[CONFIG_SYS_SATA_MAX_DEVICE];static unsigned long sata_bread (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,void *dst) { -return sata_read (block_dev->dev, start, blkcnt, dst); +return sata_read (block_dev->devnum, start, blkcnt, dst); }static unsigned long sata_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *buffer) { -return sata_write (block_dev->dev, start, blkcnt, buffer); +return sata_write (block_dev->devnum, start, blkcnt, buffer); }int __sata_initialize (void )
@@ -38,7 +38,7 @@ int __sata_initialize(void)for (i =0 ; i <CONFIG_SYS_SATA_MAX_DEVICE ; i++) {memset (&sata_dev_desc[i],0 ,sizeof (struct blk_desc )); sata_dev_desc[i].if_type =IF_TYPE_SATA ; - sata_dev_desc[i].dev = i; + sata_dev_desc[i].devnum = i; sata_dev_desc[i].part_type =PART_TYPE_UNKNOWN ; sata_dev_desc[i].type =DEV_TYPE_HARDDISK ; sata_dev_desc[i].lba =0 ;
cmd/scsi.c +3 -3
@@ -99,7 +99,7 @@ void scsi_scan(int mode) scsi_dev_desc[i].revision[0 ]=0 ; scsi_dev_desc[i].removable = false; scsi_dev_desc[i].if_type=IF_TYPE_SCSI ; - scsi_dev_desc[i].dev=i; + scsi_dev_desc[i].devnum = i; scsi_dev_desc[i].part_type=PART_TYPE_UNKNOWN ; scsi_dev_desc[i].block_read=scsi_read; scsi_dev_desc[i].block_write = scsi_write;
@@ -379,7 +379,7 @@ int do_scsi (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])static ulong scsi_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks =0 ;
@@ -446,7 +446,7 @@ static ulong scsi_read(struct blk_desc *block_dev, lbaint_t blknr,static ulong scsi_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks;
cmd/usb_mass_storage.c +1 -1
@@ -100,7 +100,7 @@ static int ums_init(const char *devtype, const char *devnums) ums[ums_count].block_dev = *block_dev;printf ("UMS: LUN %d, dev %d, hwpart %d, sector %#x, count %#x\n" , - ums_count, ums[ums_count].block_dev.dev, + ums_count, ums[ums_count].block_dev.devnum, ums[ums_count].block_dev.hwpart, ums[ums_count].start_sector, ums[ums_count].num_sectors);
cmd/zfs.c +1 -1
@@ -84,7 +84,7 @@ static int do_zfs_load(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]if (part <0 )return 1 ; - dev = dev_desc->dev; + dev = dev_desc->devnum;printf ("Loading file \"%s\" from %s device %d%c%c\n" , filename, argv[1 ], dev, part ?':' :' ' , part ? part +'0' :' ' );
common/env_fat.c +2 -2
@@ -54,7 +54,7 @@ int saveenv(void)if (part <0 )return 1 ; - dev = dev_desc->dev; + dev = dev_desc->devnum;if (fat_set_blk_dev (dev_desc, &info) !=0 ) {printf ("\n** Unable to use %s %d:%d for saveenv **\n" ,FAT_ENV_INTERFACE , dev, part);
@@ -88,7 +88,7 @@ void env_relocate_spec(void)if (part <0 ) goto err_env_relocate; - dev = dev_desc->dev; + dev = dev_desc->devnum;if (fat_set_blk_dev (dev_desc, &info) !=0 ) {printf ("\n** Unable to use %s %d:%d for loading the env **\n" ,FAT_ENV_INTERFACE , dev, part);
common/fb_mmc.c +2 -2
@@ -86,7 +86,7 @@ static void write_raw_image(struct blk_desc *dev_desc, disk_partition_t *info, blks = dev_desc->block_write (dev_desc, info->start, blkcnt, buffer);if (blks != blkcnt) { -error ("failed writing to device %d\n" , dev_desc->dev); +error ("failed writing to device %d\n" , dev_desc->devnum);fastboot_fail (response_str,"failed writing to device" );return ; }
@@ -207,7 +207,7 @@ void fb_mmc_erase(const char *cmd, char *response) blks = dev_desc->block_erase (dev_desc, blks_start, blks_size);if (blks != blks_size) { -error ("failed erasing from device %d" , dev_desc->dev); +error ("failed erasing from device %d" , dev_desc->devnum);fastboot_fail (response_str,"failed erasing from device" );return ; }
common/usb_storage.c +3 -3
@@ -192,7 +192,7 @@ static int usb_stor_probe_device(struct usb_device *dev) blkdev = &usb_dev_desc[usb_max_devs];memset (blkdev,'\0' ,sizeof (struct blk_desc )); blkdev->if_type =IF_TYPE_USB ; - blkdev->dev = usb_max_devs; + blkdev->devnum = usb_max_devs; blkdev->part_type =PART_TYPE_UNKNOWN ; blkdev->target =0xff ; blkdev->type =DEV_TYPE_UNKNOWN ;
@@ -1029,7 +1029,7 @@ static void usb_bin_fixup(struct usb_device_descriptor descriptor,static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks;
@@ -1100,7 +1100,7 @@ retry_it:static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) { -int device = block_dev->dev; +int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks;
disk/part.c +2 -6
@@ -108,7 +108,7 @@ static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)return dev_desc;if (!select_hwpart)return NULL ; - ret =select_hwpart (dev_desc->dev, hwpart); + ret =select_hwpart (dev_desc->devnum, hwpart);if (ret <0 )return NULL ;return dev_desc;
@@ -325,7 +325,7 @@ static void print_part_header(const char *type, struct blk_desc *dev_desc) break; }printf (" device %d -- Partition Type: %s\n\n" , - dev_desc->dev, type); + dev_desc->devnum, type);#endif /* any CONFIG_..._PARTITION */ }
@@ -457,10 +457,6 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str,int part;disk_partition_t tmpinfo; -#if definedCONFIG_SANDBOX && definedCONFIG_CMD_UBIFS -#error Only one of CONFIG_SANDBOX and CONFIG_CMD_UBIFS may be selected -#endif -#ifdef CONFIG_SANDBOX /* * Special-case a pseudo block device "hostfs", to allow access to the
disk/part_dos.c +17 -12
@@ -114,7 +114,7 @@ static void print_partition_extended(struct blk_desc *dev_desc,if (dev_desc->block_read (dev_desc, ext_part_sector,1 , (ulong *)buffer) !=1 ) {printf ("** Can't read partition table on %d:" LBAFU " **\n" , - dev_desc->dev, ext_part_sector); + dev_desc->devnum, ext_part_sector);return ; } i=test_block_type (buffer);
@@ -180,7 +180,7 @@ static int part_get_info_extended(struct blk_desc *dev_desc,if (dev_desc->block_read (dev_desc, ext_part_sector,1 , (ulong *)buffer) !=1 ) {printf ("** Can't read partition table on %d:" LBAFU " **\n" , - dev_desc->dev, ext_part_sector); + dev_desc->devnum, ext_part_sector);return -1 ; } if (buffer[DOS_PART_MAGIC_OFFSET] != 0x55 ||
@@ -215,24 +215,29 @@ static int part_get_info_extended(struct blk_desc *dev_desc,case IF_TYPE_IDE :case IF_TYPE_SATA :case IF_TYPE_ATAPI : -sprintf ((char *)info->name,"hd%c%d" , -'a' + dev_desc->dev, part_num); +sprintf ((char *)info->name,"hd%c%d" , +'a' + dev_desc->devnum, + part_num);break ;case IF_TYPE_SCSI : -sprintf ((char *)info->name,"sd%c%d" , -'a' + dev_desc->dev, part_num); +sprintf ((char *)info->name,"sd%c%d" , +'a' + dev_desc->devnum, + part_num);break ;case IF_TYPE_USB : -sprintf ((char *)info->name,"usbd%c%d" , -'a' + dev_desc->dev, part_num); +sprintf ((char *)info->name,"usbd%c%d" , +'a' + dev_desc->devnum, + part_num);break ;case IF_TYPE_DOC : -sprintf ((char *)info->name,"docd%c%d" , -'a' + dev_desc->dev, part_num); +sprintf ((char *)info->name,"docd%c%d" , +'a' + dev_desc->devnum, + part_num);break ;default : -sprintf ((char *)info->name,"xx%c%d" , -'a' + dev_desc->dev, part_num); +sprintf ((char *)info->name,"xx%c%d" , +'a' + dev_desc->devnum, + part_num);break ; }/* sprintf(info->type, "%d, pt->sys_ind); */
disk/part_efi.c +2 -2
@@ -356,7 +356,7 @@ static int set_protective_mbr(struct blk_desc *dev_desc)/* Write MBR sector to the MMC device */ if (dev_desc->block_write (dev_desc,0 ,1 , p_mbr) !=1 ) {printf ("** Can't write to device %d **\n" , - dev_desc->dev); + dev_desc->devnum);return -1 ; }
@@ -410,7 +410,7 @@ int write_gpt_table(struct blk_desc *dev_desc,return 0 ; err: -printf ("** Can't write to device %d **\n" , dev_desc->dev); +printf ("** Can't write to device %d **\n" , dev_desc->devnum);return -1 ; }
disk/part_iso.c +20 -19
@@ -68,13 +68,13 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,if (ppr->desctype!=0x01 ) {if (verb)printf ("** First descriptor is NOT a primary desc on %d:%d **\n" , - dev_desc->dev, part_num); + dev_desc->devnum, part_num);return (-1 ); }if (strncmp ((char *)ppr->stand_ident,"CD001" ,5 )!=0 ) {if (verb)printf ("** Wrong ISO Ident: %s on %d:%d **\n" , - ppr->stand_ident,dev_desc->dev, part_num); + ppr->stand_ident, dev_desc->devnum, part_num);return (-1 ); } lastsect= ((ppr->firstsek_LEpathtab1_LE & 0x000000ff)<<24) +
@@ -92,7 +92,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,if (ppr->desctype==0xff ) {if (verb)printf ("** No valid boot catalog found on %d:%d **\n" , - dev_desc->dev, part_num); + dev_desc->devnum, part_num);return (-1 ); } }
@@ -100,7 +100,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,if (strncmp (pbr->ident_str,"EL TORITO SPECIFICATION" ,23 )!=0 ) {if (verb)printf ("** Wrong El Torito ident: %s on %d:%d **\n" , - pbr->ident_str,dev_desc->dev, part_num); + pbr->ident_str, dev_desc->devnum, part_num);return (-1 ); } bootaddr=le32_to_int (pbr->pointer);
@@ -108,7 +108,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,if (dev_desc->block_read (dev_desc, bootaddr,1 , (ulong *)tmpbuf) !=1 ) {if (verb)printf ("** Can't read Boot Entry at %lX on %d:%d **\n" , - bootaddr,dev_desc->dev, part_num); + bootaddr, dev_desc->devnum, part_num);return (-1 ); } chksum=0 ;
@@ -117,21 +117,21 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num, chksum+=((chksumbuf[i] &0xff )<<8 )+((chksumbuf[i] &0xff00 )>>8 );if (chksum!=0 ) {if (verb) -printf ("** Checksum Error in booting catalog validation entry on %d:%d **\n" , - dev_desc->dev, part_num); +printf ("** Checksum Error in booting catalog validation entry on %d:%d **\n" , + dev_desc->devnum, part_num);return (-1 ); }if ((pve->key[0 ]!=0x55 )||(pve->key[1 ]!=0xAA )) {if (verb)printf ("** Key 0x55 0xAA error on %d:%d **\n" , - dev_desc->dev, part_num); + dev_desc->devnum, part_num);return (-1 ); }#ifdef CHECK_FOR_POWERPC_PLATTFORM if (pve->platform!=0x01 ) {if (verb)printf ("** No PowerPC platform CD on %d:%d **\n" , - dev_desc->dev, part_num); + dev_desc->devnum, part_num);return (-1 ); }#endif
@@ -144,23 +144,23 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,case IF_TYPE_SATA :case IF_TYPE_ATAPI :sprintf ((char *)info->name,"hd%c%d" , -'a' + dev_desc->dev, part_num); +'a' + dev_desc->devnum, part_num);break ;case IF_TYPE_SCSI :sprintf ((char *)info->name,"sd%c%d" , -'a' + dev_desc->dev, part_num); +'a' + dev_desc->devnum, part_num);break ;case IF_TYPE_USB :sprintf ((char *)info->name,"usbd%c%d" , -'a' + dev_desc->dev, part_num); +'a' + dev_desc->devnum, part_num);break ;case IF_TYPE_DOC :sprintf ((char *)info->name,"docd%c%d" , -'a' + dev_desc->dev, part_num); +'a' + dev_desc->devnum, part_num);break ;default :sprintf ((char *)info->name,"xx%c%d" , -'a' + dev_desc->dev, part_num); +'a' + dev_desc->devnum, part_num);break ; }/* the bootcatalog (including validation Entry) is limited to 2048Bytes
@@ -184,7 +184,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,else {if (verb)printf ("** Partition %d not found on device %d **\n" , - part_num,dev_desc->dev); + part_num, dev_desc->devnum);return (-1 ); } }
@@ -192,13 +192,13 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,* searched w/o succsess */ if (verb)printf ("** Partition %d not found on device %d **\n" , - part_num,dev_desc->dev); + part_num, dev_desc->devnum);return (-1 ); found:if (pide->boot_ind!=0x88 ) {if (verb) -printf ("** Partition %d is not bootable on device %d **\n" , - part_num,dev_desc->dev); +printf ("** Partition %d is not bootable on device %d **\n" , + part_num, dev_desc->devnum);return (-1 ); }switch (pide->boot_media) {
@@ -229,7 +229,8 @@ static void print_part_iso(struct blk_desc *dev_desc)int i;if (part_get_info_iso_verb (dev_desc,0 , &info,0 ) ==-1 ) { -printf ("** No boot partition found on device %d **\n" ,dev_desc->dev); +printf ("** No boot partition found on device %d **\n" , + dev_desc->devnum);return ; }printf ("Part Start Sect x Size Type\n" );
disk/part_mac.c +11 -11
@@ -108,14 +108,14 @@ static void print_part_mac(struct blk_desc *dev_desc)printf ("%4ld: " , i);if (dev_desc->block_read (dev_desc, i,1 , (ulong *)mpart) !=1 ) {printf ("** Can't read Partition Map on %d:%ld **\n" , - dev_desc->dev, i); + dev_desc->devnum, i);return ; }if (mpart->signature !=MAC_PARTITION_MAGIC ) { -printf ("** Bad Signature on %d:%ld - " -"expected 0x%04x, got 0x%04x\n" , - dev_desc->dev, i,MAC_PARTITION_MAGIC , mpart->signature); +printf ("** Bad Signature on %d:%ld - expected 0x%04x, got 0x%04x\n" , + dev_desc->devnum, i,MAC_PARTITION_MAGIC , + mpart->signature);return ; }
@@ -184,14 +184,14 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,*/ if (dev_desc->block_read (dev_desc, n,1 , (ulong *)pdb_p) !=1 ) {printf ("** Can't read Partition Map on %d:%d **\n" , - dev_desc->dev, n); + dev_desc->devnum, n);return (-1 ); }if (pdb_p->signature !=MAC_PARTITION_MAGIC ) { -printf ("** Bad Signature on %d:%d: " -"expected 0x%04x, got 0x%04x\n" , - dev_desc->dev, n,MAC_PARTITION_MAGIC , pdb_p->signature); +printf ("** Bad Signature on %d:%d: expected 0x%04x, got 0x%04x\n" , + dev_desc->devnum, n,MAC_PARTITION_MAGIC , + pdb_p->signature);return (-1 ); }
@@ -200,9 +200,9 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,if ((part <1 ) || (part > pdb_p->map_count)) {printf ("** Invalid partition %d:%d [%d:1...%d:%d only]\n" , - dev_desc->dev, part, - dev_desc->dev, - dev_desc->dev, pdb_p->map_count); + dev_desc->devnum, part, + dev_desc->devnum, + dev_desc->devnum, pdb_p->map_count);return (-1 ); }
drivers/block/sandbox.c +3 -3
@@ -26,7 +26,7 @@ static unsigned long host_block_read(struct blk_desc *block_dev, unsigned long start, lbaint_t blkcnt, void *buffer) { - int dev = block_dev->dev; + int dev = block_dev->devnum;struct host_block_dev *host_dev =find_host_device (dev);if (!host_dev)
@@ -48,7 +48,7 @@ static unsigned long host_block_write(struct blk_desc *block_dev, unsigned long start, lbaint_t blkcnt, const void *buffer) { - int dev = block_dev->dev; + int dev = block_dev->devnum;struct host_block_dev *host_dev =find_host_device (dev); if (os_lseek(host_dev->fd, start * host_dev->blk_dev.blksz,
@@ -96,7 +96,7 @@ int host_dev_bind(int dev, char *filename) blk_dev->lba =os_lseek (host_dev->fd,0 ,OS_SEEK_END ) / blk_dev->blksz; blk_dev->block_read = host_block_read; blk_dev->block_write = host_block_write; - blk_dev->dev = dev; + blk_dev->devnum = dev; blk_dev->part_type =PART_TYPE_UNKNOWN ;part_init (blk_dev);
drivers/block/systemace.c +1 -1
@@ -111,7 +111,7 @@ struct blk_desc *systemace_get_dev(int dev)not yet initialized. In that case, fill it in. */ if (systemace_dev.blksz ==0 ) { systemace_dev.if_type =IF_TYPE_UNKNOWN ; - systemace_dev.dev =0 ; + systemace_dev.devnum =0 ; systemace_dev.part_type =PART_TYPE_UNKNOWN ; systemace_dev.type =DEV_TYPE_HARDDISK ; systemace_dev.blksz =512 ;
drivers/mmc/arm_pl180_mmci.c +1 -1
@@ -375,7 +375,7 @@ int arm_pl180_mmci_init(struct pl180_mmc_host *host)if (mmc ==NULL )return -1 ; -debug ("registered mmc interface number is:%d\n" , mmc->block_dev.dev); +debug ("registered mmc interface number is:%d\n" , mmc->block_dev.devnum);return 0 ; }
drivers/mmc/mmc.c +4 -4
@@ -182,7 +182,7 @@ struct mmc *find_mmc_device(int dev_num)list_for_each (entry, &mmc_devices) { m = list_entry(entry, struct mmc, link); -if (m->block_dev.dev == dev_num) +if (m->block_dev.devnum == dev_num)return m; }
@@ -237,7 +237,7 @@ static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start,static ulong mmc_bread (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,void *dst) { -int dev_num = block_dev->dev; +int dev_num = block_dev->devnum;int err;lbaint_t cur, blocks_todo = blkcnt;
@@ -1556,7 +1556,7 @@ struct mmc *mmc_create(const struct mmc_config *cfg, void *priv) mmc->dsr =0xffffffff ;/* Setup the universal parts of the block interface just once */ mmc->block_dev.if_type =IF_TYPE_MMC ; - mmc->block_dev.dev = cur_dev_num++; + mmc->block_dev.devnum = cur_dev_num++; mmc->block_dev.removable =1 ; mmc->block_dev.block_read = mmc_bread; mmc->block_dev.block_write = mmc_bwrite;
@@ -1728,7 +1728,7 @@ void print_mmc_devices(char separator)else mmc_type =NULL ; -printf ("%s: %d" , m->cfg->name, m->block_dev.dev); +printf ("%s: %d" , m->cfg->name, m->block_dev.devnum);if (mmc_type)printf (" (%s)" , mmc_type);
drivers/mmc/mmc_write.c +2 -2
@@ -68,7 +68,7 @@ err_out:unsigned long mmc_berase (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt) { -int dev_num = block_dev->dev; +int dev_num = block_dev->devnum;int err =0 ;u32 start_rem, blkcnt_rem;struct mmc *mmc =find_mmc_device (dev_num);
@@ -174,7 +174,7 @@ static ulong mmc_write_blocks(struct mmc *mmc, lbaint_t start,ulong mmc_bwrite (struct blk_desc *block_dev,lbaint_t start,lbaint_t blkcnt,const void *src) { -int dev_num = block_dev->dev; +int dev_num = block_dev->devnum;lbaint_t cur, blocks_todo = blkcnt;int err;
drivers/mmc/mxsmmc.c +12 -12
@@ -142,7 +142,7 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)uint32_t ctrl0;int ret; -debug ("MMC%d: CMD%d\n" , mmc->block_dev.dev, cmd->cmdidx); +debug ("MMC%d: CMD%d\n" , mmc->block_dev.devnum, cmd->cmdidx);/* Check bus busy */ timeout =MXSMMC_MAX_TIMEOUT ;
@@ -157,13 +157,13 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) }if (!timeout) { -printf ("MMC%d: Bus busy timeout!\n" , mmc->block_dev.dev); +printf ("MMC%d: Bus busy timeout!\n" , mmc->block_dev.devnum);return TIMEOUT ; }/* See if card is present */ if (!mxsmmc_cd (priv)) { -printf ("MMC%d: No card detected!\n" , mmc->block_dev.dev); +printf ("MMC%d: No card detected!\n" , mmc->block_dev.devnum);return NO_CARD_ERR ; }
@@ -200,9 +200,9 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)if (data->flags &MMC_DATA_READ ) { ctrl0 |=SSP_CTRL0_READ ; }else if (priv->mmc_is_wp && - priv->mmc_is_wp (mmc->block_dev.dev)) { + priv->mmc_is_wp (mmc->block_dev.devnum)) {printf ("MMC%d: Can not write a locked card!\n" , - mmc->block_dev.dev); + mmc->block_dev.devnum);return UNUSABLE_ERR ; }
@@ -243,21 +243,21 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)if (!timeout) {printf ("MMC%d: Command %d busy\n" , - mmc->block_dev.dev, cmd->cmdidx); + mmc->block_dev.devnum, cmd->cmdidx);return TIMEOUT ; }/* Check command timeout */ if (reg &SSP_STATUS_RESP_TIMEOUT ) {printf ("MMC%d: Command %d timeout (status 0x%08x)\n" , - mmc->block_dev.dev, cmd->cmdidx, reg); + mmc->block_dev.devnum, cmd->cmdidx, reg);return TIMEOUT ; }/* Check command errors */ if (reg & (SSP_STATUS_RESP_CRC_ERR |SSP_STATUS_RESP_ERR )) {printf ("MMC%d: Command %d error (status 0x%08x)!\n" , - mmc->block_dev.dev, cmd->cmdidx, reg); + mmc->block_dev.devnum, cmd->cmdidx, reg);return COMM_ERR ; }
@@ -279,14 +279,14 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)if (ret) {printf ("MMC%d: Data timeout with command %d " "(status 0x%08x)!\n" , - mmc->block_dev.dev, cmd->cmdidx, reg); + mmc->block_dev.devnum, cmd->cmdidx, reg);return ret; } }else { ret =mxsmmc_send_cmd_dma (priv, data);if (ret) {printf ("MMC%d: DMA transfer failed\n" , - mmc->block_dev.dev); + mmc->block_dev.devnum);return ret; } }
@@ -297,7 +297,7 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) (SSP_STATUS_TIMEOUT | SSP_STATUS_DATA_CRC_ERR | SSP_STATUS_FIFO_OVRFLW | SSP_STATUS_FIFO_UNDRFLW)) {printf ("MMC%d: Data error with command %d (status 0x%08x)!\n" , - mmc->block_dev.dev, cmd->cmdidx, reg); + mmc->block_dev.devnum, cmd->cmdidx, reg);return COMM_ERR ; }
@@ -330,7 +330,7 @@ static void mxsmmc_set_ios(struct mmc *mmc) SSP_CTRL0_BUS_WIDTH_MASK, priv->buswidth);debug ("MMC%d: Set %d bits bus width\n" , - mmc->block_dev.dev, mmc->bus_width); + mmc->block_dev.devnum, mmc->bus_width); }static int mxsmmc_init (struct mmc *mmc)
drivers/mmc/omap_hsmmc.c +2 -2
@@ -177,11 +177,11 @@ static unsigned char mmc_board_init(struct mmc *mmc)#if defined(CONFIG_OMAP44XX ) && defined(CONFIG_TWL6030_POWER )/* PBIAS config needed for MMC1 only */ -if (mmc->block_dev.dev ==0 ) +if (mmc->block_dev.devnum ==0 )omap4_vmmc_pbias_config (mmc);#endif #if defined(CONFIG_OMAP54XX ) && defined(CONFIG_PALMAS_POWER ) -if (mmc->block_dev.dev ==0 ) +if (mmc->block_dev.devnum ==0 )omap5_pbias_config (mmc);#endif
drivers/mmc/sdhci.c +1 -1
@@ -137,7 +137,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,int trans_bytes =0 , is_aligned =1 ;u32 mask, flags, mode;unsigned int time =0 , start_addr =0 ; -int mmc_dev = mmc->block_dev.dev; +int mmc_dev = mmc->block_dev.devnum;unsigned start =get_timer (0 );/* Timeout unit - ms */
fs/fat/fat.c +2 -2
@@ -100,7 +100,7 @@ int fat_register_device(struct blk_desc *dev_desc, int part_no)if (part_get_info (dev_desc, part_no, &info)) {if (part_no !=0 ) {printf ("** Partition %d not valid on device %d **\n" , - part_no, dev_desc->dev); + part_no, dev_desc->devnum);return -1 ; }
@@ -1284,7 +1284,7 @@ int file_fat_detectfs(void) printf("Unknown"); } -printf ("\n Device %d: " , cur_dev->dev); +printf ("\n Device %d: " , cur_dev->devnum);dev_print (cur_dev);#endif
include/blk.h +1 -1
@@ -36,7 +36,7 @@ enum if_type {struct blk_desc {enum if_type if_type;/* type of the interface */ -int dev;/* device number */ +int devnum;/* device number */ unsigned char part_type;/* partition type */ unsigned char target;/* target SCSI ID */ unsigned char lun;/* target LUN */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 18/32 dm: block: Rename device number member dev to devnum
Quoted 31 lines · Simon Glass
This is a device number, and we want to use 'dev' to mean a driver model device. Rename the member.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2:
- Fix rebase error incmd/cbfs.cboard/sunxi/board.c | 4 ++-- cmd/disk.c | 2 +- cmd/fat.c | 4 ++-- cmd/ide.c | 12 ++++++------ cmd/mmc_spi.c | 4 ++-- cmd/reiser.c | 4 ++-- cmd/sata.c | 6 +++--- cmd/scsi.c | 6 +++--- cmd/usb_mass_storage.c | 2 +- cmd/zfs.c | 2 +- common/env_fat.c | 4 ++-- common/fb_mmc.c | 4 ++-- common/usb_storage.c | 6 +++--- disk/part.c | 8 ++------ disk/part_dos.c | 29 +++++++++++++++++------------ disk/part_efi.c | 4 ++-- disk/part_iso.c | 39 ++++++++++++++++++++------------------- disk/part_mac.c | 22 +++++++++++----------- drivers/block/sandbox.c | 6 +++--- drivers/block/systemace.c | 2 +- drivers/mmc/arm_pl180_mmci.c | 2 +-
Quoted 8 lines
drivers/mmc/mmc.c | 8 ++++---- drivers/mmc/mmc_write.c | 4 ++-- drivers/mmc/mxsmmc.c | 24 ++++++++++++------------ drivers/mmc/omap_hsmmc.c | 4 ++-- drivers/mmc/sdhci.c | 2 +- fs/fat/fat.c | 4 ++-- include/blk.h | 2 +- 28 files changed, 111 insertions(+), 109 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 19/32 dm: block: Adjust device calls to go through helpers function
In reply to Simon GlassTo ease conversion to driver model, add helper functions which deal with calling each block device method. With driver model we can reimplement these functions with the same arguments.
Use inline functions to avoid increasing code size on some boards.
---
Changes in v2: None
cmd/disk.c | 6 +++--- cmd/ide.c | 4 ++-- cmd/read.c | 2 +- cmd/usb.c | 6 ++---- common/fb_mmc.c | 5 +++-- disk/part_amiga.c | 9 ++++----- disk/part_dos.c | 8 +++----- disk/part_efi.c | 34 +++++++++++++++------------------- disk/part_iso.c | 6 +++--- disk/part_mac.c | 9 ++++----- fs/ext4/dev.c | 23 ++++++++++------------- fs/ext4/ext4_common.c | 27 +++++++++------------------ fs/fat/fat.c | 6 +++--- fs/fat/fat_write.c | 5 ++--- include/blk.h | 29 +++++++++++++++++++++++++++++ test/dm/usb.c | 2 +- 16 files changed, 94 insertions(+), 87 deletions(-)
cmd/disk.c +3 -3
@@ -56,7 +56,7 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc,", Block Size: %ld\n" , info.start, info.size, info.blksz); -if (dev_desc->block_read (dev_desc, info.start,1 , (ulong *)addr) !=1 ) { +if (blk_dread (dev_desc, info.start,1 , (ulong *)addr) !=1 ) {printf ("** Read error on %d:%d\n" , dev, part);bootstage_error (BOOTSTAGE_ID_IDE_PART_READ );return 1 ;
@@ -100,8 +100,8 @@ int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc, cnt /= info.blksz; cnt -=1 ; -if (dev_desc->block_read (dev_desc, info.start +1 , cnt, - (ulong *)(addr + info.blksz)) != cnt) { +if (blk_dread (dev_desc, info.start +1 , cnt, + (ulong *)(addr + info.blksz)) != cnt) {printf ("** Read error on %d:%d\n" , dev, part);bootstage_error (BOOTSTAGE_ID_IDE_READ );return 1 ;
cmd/ide.c +2 -2
@@ -10,6 +10,7 @@*/ #include <common.h> +#include <blk.h> #include <config.h> #include <watchdog.h> #include <command.h>
@@ -203,8 +204,7 @@ int do_ide(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])#endif dev_desc = &ide_dev_desc[curr_device]; - n = dev_desc->block_read (dev_desc, blk, cnt, - (ulong *)addr); + n =blk_dread (dev_desc, blk, cnt, (ulong *)addr);/* flush cache after read */ flush_cache (addr, cnt * ide_dev_desc[curr_device].blksz);
cmd/read.c +1 -1
@@ -66,7 +66,7 @@ int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])return 1 ; } -if (dev_desc->block_read (dev_desc, offset + blk, cnt, addr) <0 ) { +if (blk_read (dev_desc, offset + blk, cnt, addr) <0 ) {printf ("Error reading blocks\n" );return 1 ; }
cmd/usb.c +2 -4
@@ -759,8 +759,7 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])printf ("\nUSB read: device %d block # %ld, count %ld" " ... " , usb_stor_curr_dev, blk, cnt); stor_dev =usb_stor_get_dev (usb_stor_curr_dev); - n = stor_dev->block_read (stor_dev, blk, cnt, - (ulong *)addr); + n =blk_dread (stor_dev, blk, cnt, (ulong *)addr);printf ("%ld blocks read: %s\n" , n, (n == cnt) ?"OK" :"ERROR" );if (n == cnt)
@@ -781,8 +780,7 @@ static int do_usb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])printf ("\nUSB write: device %d block # %ld, count %ld" " ... " , usb_stor_curr_dev, blk, cnt); stor_dev =usb_stor_get_dev (usb_stor_curr_dev); - n = stor_dev->block_write (stor_dev, blk, cnt, - (ulong *)addr); + n =blk_dwrite (stor_dev, blk, cnt, (ulong *)addr);printf ("%ld blocks write: %s\n" , n, (n == cnt) ?"OK" :"ERROR" );if (n == cnt)
common/fb_mmc.c +3 -2
@@ -6,6 +6,7 @@#include <config.h> #include <common.h> +#include <blk.h> #include <errno.h> #include <fastboot.h> #include <fb_mmc.h>
@@ -58,7 +59,7 @@ static int fb_mmc_sparse_write(struct sparse_storage *storage,struct blk_desc *dev_desc = sparse->dev_desc;int ret; - ret = dev_desc->block_write (dev_desc, offset, size, data); + ret =blk_dwrite (dev_desc, offset, size, data);if (!ret)return -EIO ;
@@ -84,7 +85,7 @@ static void write_raw_image(struct blk_desc *dev_desc, disk_partition_t *info,puts ("Flashing Raw Image\n" ); - blks = dev_desc->block_write (dev_desc, info->start, blkcnt, buffer); + blks =blk_dwrite (dev_desc, info->start, blkcnt, buffer);if (blks != blkcnt) {error ("failed writing to device %d\n" , dev_desc->devnum);fastboot_fail (response_str,"failed writing to device" );
disk/part_amiga.c +4 -5
@@ -140,7 +140,7 @@ struct rigid_disk_block *get_rdisk(struct blk_desc *dev_desc)for (i=0 ; i<limit; i++) { -ulong res = dev_desc->block_read (dev_desc, i,1 , (ulong *)block_buffer); +ulong res =blk_dread (dev_desc, i,1 , (ulong *)block_buffer);if (res ==1 ) {struct rigid_disk_block *trdb = (struct rigid_disk_block *)block_buffer;
@@ -182,7 +182,7 @@ struct bootcode_block *get_bootcode(struct blk_desc *dev_desc)for (i =0 ; i < limit; i++) { -ulong res = dev_desc->block_read (dev_desc, i,1 , (ulong *)block_buffer); +ulong res =blk_dread (dev_desc, i,1 , (ulong *)block_buffer);if (res ==1 ) {struct bootcode_block *boot = (struct bootcode_block *)block_buffer;
@@ -258,8 +258,7 @@ static struct partition_block *find_partition(struct blk_desc *dev_desc,while (block !=0xFFFFFFFF ) { -ulong res = dev_desc->block_read (dev_desc, block,1 , - (ulong *)block_buffer); +ulong res =blk_dread (dev_desc, block,1 , (ulong *)block_buffer);if (res ==1 ) { p = (struct partition_block *)block_buffer;
@@ -355,7 +354,7 @@ static void print_part_amiga(struct blk_desc *dev_desc)PRINTF ("Trying to load block #0x%X\n" , block); - res = dev_desc->block_read (dev_desc, block,1 , (ulong *)block_buffer); + res =blk_dread (dev_desc, block,1 , (ulong *)block_buffer);if (res ==1 ) { p = (struct partition_block *)block_buffer;
disk/part_dos.c +3 -5
@@ -91,7 +91,7 @@ static int test_part_dos(struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz); -if (dev_desc->block_read (dev_desc,0 ,1 , (ulong *)buffer) !=1 ) +if (blk_dread (dev_desc,0 ,1 , (ulong *)buffer) !=1 )return -1 ;if (test_block_type (buffer) !=DOS_MBR )
@@ -111,8 +111,7 @@ static void print_partition_extended(struct blk_desc *dev_desc,dos_partition_t *pt;int i; -if (dev_desc->block_read (dev_desc, ext_part_sector,1 , - (ulong *)buffer) !=1 ) { +if (blk_dread (dev_desc, ext_part_sector,1 , (ulong *)buffer) !=1 ) {printf ("** Can't read partition table on %d:" LBAFU " **\n" , dev_desc->devnum, ext_part_sector);return ;
@@ -177,8 +176,7 @@ static int part_get_info_extended(struct blk_desc *dev_desc,int i;int dos_type; -if (dev_desc->block_read (dev_desc, ext_part_sector,1 , - (ulong *)buffer) !=1 ) { +if (blk_dread (dev_desc, ext_part_sector,1 , (ulong *)buffer) !=1 ) {printf ("** Can't read partition table on %d:" LBAFU " **\n" , dev_desc->devnum, ext_part_sector);return -1 ;
disk/part_efi.c +15 -19
@@ -324,7 +324,7 @@ static int test_part_efi(struct blk_desc *dev_desc)ALLOC_CACHE_ALIGN_BUFFER_PAD (legacy_mbr, legacymbr,1 , dev_desc->blksz);/* Read legacy MBR from block 0 and validate it */ -if ((dev_desc->block_read (dev_desc,0 ,1 , (ulong *)legacymbr) !=1 ) +if ((blk_dread (dev_desc,0 ,1 , (ulong *)legacymbr) !=1 ) || (is_pmbr_valid (legacymbr) !=1 )) {return -1 ; }
@@ -354,7 +354,7 @@ static int set_protective_mbr(struct blk_desc *dev_desc) p_mbr->partition_record[0 ].nr_sects = (u32 ) dev_desc->lba -1 ;/* Write MBR sector to the MMC device */ -if (dev_desc->block_write (dev_desc,0 ,1 , p_mbr) !=1 ) { +if (blk_dwrite (dev_desc,0 ,1 , p_mbr) !=1 ) {printf ("** Can't write to device %d **\n" , dev_desc->devnum);return -1 ;
@@ -386,24 +386,21 @@ int write_gpt_table(struct blk_desc *dev_desc, gpt_h->header_crc32 =cpu_to_le32 (calc_crc32);/* Write the First GPT to the block right after the Legacy MBR */ -if (dev_desc->block_write (dev_desc,1 ,1 , gpt_h) !=1 ) +if (blk_dwrite (dev_desc,1 ,1 , gpt_h) !=1 ) goto err; -if (dev_desc->block_write (dev_desc,2 , pte_blk_cnt, gpt_e) +if (blk_dwrite (dev_desc,2 , pte_blk_cnt, gpt_e) != pte_blk_cnt) goto err;prepare_backup_gpt_header (gpt_h); -if (dev_desc->block_write (dev_desc, - (lbaint_t )le64_to_cpu (gpt_h->last_usable_lba) - +1 , - pte_blk_cnt, gpt_e) != pte_blk_cnt) +if (blk_dwrite (dev_desc, (lbaint_t )le64_to_cpu (gpt_h->last_usable_lba) + +1 , pte_blk_cnt, gpt_e) != pte_blk_cnt) goto err; -if (dev_desc->block_write (dev_desc, - (lbaint_t )le64_to_cpu (gpt_h->my_lba),1 , - gpt_h) !=1 ) +if (blk_dwrite (dev_desc, (lbaint_t )le64_to_cpu (gpt_h->my_lba),1 , + gpt_h) !=1 ) goto err;debug ("GPT successfully written to block device!\n" );
@@ -739,7 +736,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf)/* write MBR */ lba =0 ;/* MBR is always at 0 */ cnt =1 ;/* MBR (1 block) */ -if (dev_desc->block_write (dev_desc, lba, cnt, buf) != cnt) { +if (blk_dwrite (dev_desc, lba, cnt, buf) != cnt) {printf ("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n" , __func__,"MBR" , cnt, lba);return 1 ;
@@ -748,7 +745,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf)/* write Primary GPT */ lba =GPT_PRIMARY_PARTITION_TABLE_LBA ; cnt =1 ;/* GPT Header (1 block) */ -if (dev_desc->block_write (dev_desc, lba, cnt, gpt_h) != cnt) { +if (blk_dwrite (dev_desc, lba, cnt, gpt_h) != cnt) {printf ("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n" , __func__,"Primary GPT Header" , cnt, lba);return 1 ;
@@ -756,7 +753,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) lba =le64_to_cpu (gpt_h->partition_entry_lba); cnt = gpt_e_blk_cnt; -if (dev_desc->block_write (dev_desc, lba, cnt, gpt_e) != cnt) { +if (blk_dwrite (dev_desc, lba, cnt, gpt_e) != cnt) {printf ("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n" , __func__,"Primary GPT Entries" , cnt, lba);return 1 ;
@@ -767,7 +764,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf)/* write Backup GPT */ lba =le64_to_cpu (gpt_h->partition_entry_lba); cnt = gpt_e_blk_cnt; -if (dev_desc->block_write (dev_desc, lba, cnt, gpt_e) != cnt) { +if (blk_dwrite (dev_desc, lba, cnt, gpt_e) != cnt) {printf ("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n" , __func__,"Backup GPT Entries" , cnt, lba);return 1 ;
@@ -775,7 +772,7 @@ int write_mbr_and_gpt_partitions(struct blk_desc *dev_desc, void *buf) lba =le64_to_cpu (gpt_h->my_lba); cnt =1 ;/* GPT Header (1 block) */ -if (dev_desc->block_write (dev_desc, lba, cnt, gpt_h) != cnt) { +if (blk_dwrite (dev_desc, lba, cnt, gpt_h) != cnt) {printf ("%s: failed writing '%s' (%d blks at 0x" LBAF ")\n" , __func__,"Backup GPT Header" , cnt, lba);return 1 ;
@@ -845,7 +842,7 @@ static int is_gpt_valid(struct blk_desc *dev_desc, u64 lba, }/* Read GPT Header from device */ -if (dev_desc->block_read (dev_desc, (lbaint_t )lba,1 , pgpt_head) !=1 ) { +if (blk_dread (dev_desc, (lbaint_t )lba,1 , pgpt_head) !=1 ) {printf ("*** ERROR: Can't read GPT header ***\n" );return 0 ; }
@@ -913,8 +910,7 @@ static gpt_entry *alloc_read_gpt_entries(struct blk_desc *dev_desc,/* Read GPT Entries from device */ blk =le64_to_cpu (pgpt_head->partition_entry_lba); blk_cnt =BLOCK_CNT (count, dev_desc); -if (dev_desc->block_read (dev_desc, blk, (lbaint_t )blk_cnt, pte) - != blk_cnt) { +if (blk_dread (dev_desc, blk, (lbaint_t )blk_cnt, pte) != blk_cnt) {printf ("*** ERROR: Can't read GPT Entries ***\n" );free (pte);return NULL ;
disk/part_iso.c +3 -3
@@ -63,7 +63,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,/* the first sector (sector 0x10) must be a primary volume desc */ blkaddr=PVD_OFFSET ; -if (dev_desc->block_read (dev_desc,PVD_OFFSET ,1 , (ulong *)tmpbuf) !=1 ) +if (blk_dread (dev_desc,PVD_OFFSET ,1 , (ulong *)tmpbuf) !=1 )return -1 ;if (ppr->desctype!=0x01 ) {if (verb)
@@ -85,7 +85,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num,PRINTF (" Lastsect:%08lx\n" ,lastsect);for (i=blkaddr;i<lastsect;i++) {PRINTF ("Reading block %d\n" , i); -if (dev_desc->block_read (dev_desc, i,1 , (ulong *)tmpbuf) !=1 ) +if (blk_dread (dev_desc, i,1 , (ulong *)tmpbuf) !=1 )return -1 ;if (ppr->desctype==0x00 )break ;/* boot entry found */
@@ -105,7 +105,7 @@ int part_get_info_iso_verb(struct blk_desc *dev_desc, int part_num, } bootaddr=le32_to_int (pbr->pointer);PRINTF (" Boot Entry at: %08lX\n" ,bootaddr); -if (dev_desc->block_read (dev_desc, bootaddr,1 , (ulong *)tmpbuf) !=1 ) { +if (blk_dread (dev_desc, bootaddr,1 , (ulong *)tmpbuf) !=1 ) {if (verb)printf ("** Can't read Boot Entry at %lX on %d:%d **\n" , bootaddr, dev_desc->devnum, part_num);
disk/part_mac.c +4 -5
@@ -53,8 +53,7 @@ static int test_part_mac(struct blk_desc *dev_desc) n =1 ;/* assuming at least one partition */ for (i=1 ; i<=n; ++i) { -if ((dev_desc->block_read (dev_desc, i,1 , - (ulong *)mpart) !=1 ) || +if ((blk_dread (dev_desc, i,1 , (ulong *)mpart) !=1 ) || (mpart->signature !=MAC_PARTITION_MAGIC ) ) {return (-1 ); }
@@ -106,7 +105,7 @@ static void print_part_mac(struct blk_desc *dev_desc)char c;printf ("%4ld: " , i); -if (dev_desc->block_read (dev_desc, i,1 , (ulong *)mpart) !=1 ) { +if (blk_dread (dev_desc, i,1 , (ulong *)mpart) !=1 ) {printf ("** Can't read Partition Map on %d:%ld **\n" , dev_desc->devnum, i);return ;
@@ -153,7 +152,7 @@ static void print_part_mac(struct blk_desc *dev_desc)static int part_mac_read_ddb (struct blk_desc *dev_desc,mac_driver_desc_t *ddb_p) { -if (dev_desc->block_read (dev_desc,0 ,1 , (ulong *)ddb_p) !=1 ) { +if (blk_dread (dev_desc,0 ,1 , (ulong *)ddb_p) !=1 ) {printf ("** Can't read Driver Desriptor Block **\n" );return (-1 ); }
@@ -182,7 +181,7 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,* partition 1 first since this is the only way to * know how many partitions we have. */ -if (dev_desc->block_read (dev_desc, n,1 , (ulong *)pdb_p) !=1 ) { +if (blk_dread (dev_desc, n,1 , (ulong *)pdb_p) !=1 ) {printf ("** Can't read Partition Map on %d:%d **\n" , dev_desc->devnum, n);return (-1 );
fs/ext4/dev.c +10 -13
@@ -24,6 +24,7 @@*/ #include <common.h> +#include <blk.h> #include <config.h> #include <memalign.h> #include <ext4fs.h>
@@ -76,9 +77,8 @@ int ext4fs_devread(lbaint_t sector, int byte_offset, int byte_len, char *buf)if (byte_offset !=0 ) {int readlen;/* read first part which isn't aligned with start of sector */ -if (ext4fs_blk_desc->block_read (ext4fs_blk_desc, - part_info->start + sector, -1 , (void *)sec_buf) !=1 ) { +if (blk_dread (ext4fs_blk_desc, part_info->start + sector,1 , + (void *)sec_buf) !=1 ) {printf (" ** ext2fs_devread() read error **\n" );return 0 ; }
@@ -100,17 +100,15 @@ int ext4fs_devread(lbaint_t sector, int byte_offset, int byte_len, char *buf)ALLOC_CACHE_ALIGN_BUFFER (u8, p, ext4fs_blk_desc->blksz); block_len = ext4fs_blk_desc->blksz; - ext4fs_blk_desc->block_read (ext4fs_blk_desc, - part_info->start + sector, -1 , (void *)p); +blk_dread (ext4fs_blk_desc, part_info->start + sector,1 , + (void *)p);memcpy (buf, p, byte_len);return 1 ; } -if (ext4fs_blk_desc->block_read (ext4fs_blk_desc, - part_info->start + sector, - block_len >> log2blksz, (void *)buf) - != block_len >> log2blksz) { +if (blk_dread (ext4fs_blk_desc, part_info->start + sector, + block_len >> log2blksz, (void *)buf) != + block_len >> log2blksz) {printf (" ** %s read error - block\n" , __func__);return 0 ; }
@@ -121,9 +119,8 @@ int ext4fs_devread(lbaint_t sector, int byte_offset, int byte_len, char *buf)if (byte_len !=0 ) {/* read rest of data which are not in whole sector */ -if (ext4fs_blk_desc->block_read (ext4fs_blk_desc, - part_info->start + sector, -1 , (void *)sec_buf) !=1 ) { +if (blk_dread (ext4fs_blk_desc, part_info->start + sector,1 , + (void *)sec_buf) !=1 ) {printf ("* %s read error - last part\n" , __func__);return 0 ; }
fs/ext4/ext4_common.c +9 -18
@@ -81,29 +81,20 @@ void put_ext4(uint64_t off, void *buf, uint32_t size) }if (remainder) { -if (fs->dev_desc->block_read) { - fs->dev_desc->block_read (fs->dev_desc, - startblock,1 , sec_buf); - temp_ptr = sec_buf; -memcpy ((temp_ptr + remainder), - (unsigned char *)buf, size); - fs->dev_desc->block_write (fs->dev_desc, - startblock,1 , sec_buf); - } +blk_dread (fs->dev_desc, startblock,1 , sec_buf); + temp_ptr = sec_buf; +memcpy ((temp_ptr + remainder), (unsigned char *)buf, size); +blk_dwrite (fs->dev_desc, startblock,1 , sec_buf); }else {if (size >> log2blksz !=0 ) { - fs->dev_desc->block_write (fs->dev_desc, - startblock, - size >> log2blksz, - (unsigned long *)buf); +blk_dwrite (fs->dev_desc, startblock, size >> log2blksz, + (unsigned long *)buf); }else { - fs->dev_desc->block_read (fs->dev_desc, - startblock,1 , sec_buf); +blk_dread (fs->dev_desc, startblock,1 , sec_buf); temp_ptr = sec_buf;memcpy (temp_ptr, buf, size); - fs->dev_desc->block_write (fs->dev_desc, - startblock,1 , - (unsigned long *)sec_buf); +blk_dwrite (fs->dev_desc, startblock,1 , + (unsigned long *)sec_buf); } } }
fs/fat/fat.c +3 -3
@@ -10,6 +10,7 @@*/ #include <common.h> +#include <blk.h> #include <config.h> #include <exports.h> #include <fat.h>
@@ -48,11 +49,10 @@ static int disk_read(__u32 block, __u32 nr_blocks, void *buf) {ulong ret; -if (!cur_dev || !cur_dev->block_read) +if (!cur_dev)return -1 ; - ret = cur_dev->block_read (cur_dev, cur_part_info.start + block, - nr_blocks, buf); + ret =blk_dread (cur_dev, cur_part_info.start + block, nr_blocks, buf);if (nr_blocks && ret ==0 )return -1 ;
fs/fat/fat_write.c +2 -3
@@ -32,7 +32,7 @@ static int disk_write(__u32 block, __u32 nr_blocks, void *buf) {ulong ret; -if (!cur_dev || !cur_dev->block_write) +if (!cur_dev)return -1 ; if (cur_part_info.start + block + nr_blocks >
@@ -41,8 +41,7 @@ static int disk_write(__u32 block, __u32 nr_blocks, void *buf)return -1 ; } - ret = cur_dev->block_write (cur_dev, cur_part_info.start + block, - nr_blocks, buf); + ret =blk_dwrite (cur_dev, cur_part_info.start + block, nr_blocks, buf);if (nr_blocks && ret ==0 )return -1 ;
include/blk.h +29 -0
@@ -71,4 +71,33 @@ struct blk_desc {#define PAD_TO_BLOCKSIZE (size, blk_desc) \ (PAD_SIZE(size, blk_desc->blksz)) +/* +* These functions should take struct udevice instead of struct blk_desc, +* but this is convenient for migration to driver model. Add a 'd' prefix +* to the function operations, so that blk_read(), etc. can be reserved for +* functions with the correct arguments. +*/ +static inline ulong blk_dread (struct blk_desc *block_dev,lbaint_t start, +lbaint_t blkcnt,void *buffer) +{ +/* +* We could check if block_read is NULL and return -ENOSYS. But this +* bloats the code slightly (cause some board to fail to build), and +* it would be an error to try an operation that does not exist. +*/ +return block_dev->block_read (block_dev, start, blkcnt, buffer); +} + +static inline ulong blk_dwrite (struct blk_desc *block_dev,lbaint_t start, +lbaint_t blkcnt,const void *buffer) +{ +return block_dev->block_write (block_dev, start, blkcnt, buffer); +} + +static inline ulong blk_derase (struct blk_desc *block_dev,lbaint_t start, +lbaint_t blkcnt) +{ +return block_dev->block_erase (block_dev, start, blkcnt); +} +#endif
test/dm/usb.c +1 -1
@@ -50,7 +50,7 @@ static int dm_test_usb_flash(struct unit_test_state *uts)/* Read a few blocks and look for the string we expect */ ut_asserteq (512 , dev_desc->blksz);memset (cmp,'\0' ,sizeof (cmp)); -ut_asserteq (2 , dev_desc->block_read (dev_desc,0 ,2 , cmp)); +ut_asserteq (2 ,blk_dread (dev_desc,0 ,2 , cmp));ut_assertok (strcmp (cmp,"this is a test" ));return 0 ;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 19/32 dm: block: Adjust device calls to go through helpers function
Quoted 21 lines · Simon Glass
To ease conversion to driver model, add helper functions which deal with calling each block device method. With driver model we can reimplement these functions with the same arguments.
Use inline functions to avoid increasing code size on some boards.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
cmd/disk.c | 6 +++--- cmd/ide.c | 4 ++-- cmd/read.c | 2 +- cmd/usb.c | 6 ++---- common/fb_mmc.c | 5 +++-- disk/part_amiga.c | 9 ++++----- disk/part_dos.c | 8 +++----- disk/part_efi.c | 34 +++++++++++++++------------------- disk/part_iso.c | 6 +++---
Quoted 8 lines
disk/part_mac.c | 9 ++++----- fs/ext4/dev.c | 23 ++++++++++------------- fs/ext4/ext4_common.c | 27 +++++++++------------------ fs/fat/fat.c | 6 +++--- fs/fat/fat_write.c | 5 ++--- include/blk.h | 29 +++++++++++++++++++++++++++++ test/dm/usb.c | 2 +- 16 files changed, 94 insertions(+), 87 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 20/32 dm: usb: Avoid exceeding available array size for storage devices
In reply to Simon GlassThe limit on storage devices is USB_MAX_STOR_DEV but we use one extra element while probing to see if a device is a storage device. Avoid this, since it causes memory corruption.
---
Changes in v2: None
common/usb_storage.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
common/usb_storage.c +7 -7
@@ -176,6 +176,13 @@ static int usb_stor_probe_device(struct usb_device *dev)if (dev ==NULL )return -ENOENT ;/* no more devices available */ +/* We don't have space to even probe if we hit the maximum */ +if (usb_max_devs ==USB_MAX_STOR_DEV ) { +printf ("max USB Storage Device reached: %d stopping\n" , + usb_max_devs); +return -ENOSPC ; + } +debug ("\n\nProbing for storage\n" );if (usb_storage_probe (dev,0 , &usb_stor[usb_max_devs])) {/* OK, it's a storage device. Iterate over its LUNs
@@ -210,13 +217,6 @@ static int usb_stor_probe_device(struct usb_device *dev) } } -/* if storage device */ -if (usb_max_devs ==USB_MAX_STOR_DEV ) { -printf ("max USB Storage Device reached: %d stopping\n" , - usb_max_devs); -return -ENOSPC ; - } -return 0 ; }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 20/32 dm: usb: Avoid exceeding available array size for storage devices
Quoted 7 lines · Simon Glass
The limit on storage devices is
USB_MAX_STOR_DEVbut we use one extra element while probing to see if a device is a storage device. Avoid this, since it causes memory corruption.Signed-off-by Simon Glass <[email protected]>---
Signature · 2 lines
Best regards, Marek Vasut
PATCH v2 20/32 dm: usb: Avoid exceeding available array size for storage devices
In reply to Simon GlassQuoted 11 lines · Simon Glass
The limit on storage devices is
USB_MAX_STOR_DEVbut we use one extra element while probing to see if a device is a storage device. Avoid this, since it causes memory corruption.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 21/32 dm: usb: Tidy up storage code ready for driver model conversion
In reply to Simon GlassAdjust a few things so that the addition of driver-models support involved adding code rather than also changing it. This makes the patches easier to review.
---
Changes in v2: None
common/usb_storage.c | 117 +++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 56 deletions(-)
common/usb_storage.c +61 -56
@@ -142,6 +142,7 @@ static void usb_show_progress(void)*/ int usb_stor_info (void ) { +int count =0 ;int i;if (usb_max_devs >0 ) {
@@ -152,7 +153,11 @@ int usb_stor_info(void)return 0 ; } -printf ("No storage devices, perhaps not 'usb start'ed..?\n" ); +if (!count) { +printf ("No storage devices, perhaps not 'usb start'ed..?\n" ); +return 1 ; + } +return 1 ; }
@@ -171,9 +176,12 @@ static unsigned int usb_get_max_lun(struct us_data *us)return (len >0 ) ? *result :0 ; } -static int usb_stor_probe_device (struct usb_device *dev) +static int usb_stor_probe_device (struct usb_device *udev) { -if (dev ==NULL ) +int lun, max_lun; +int start; + +if (udev ==NULL )return -ENOENT ;/* no more devices available */ /* We don't have space to even probe if we hit the maximum */
@@ -184,36 +192,36 @@ static int usb_stor_probe_device(struct usb_device *dev) }debug ("\n\nProbing for storage\n" ); -if (usb_storage_probe (dev,0 , &usb_stor[usb_max_devs])) { -/* OK, it's a storage device. Iterate over its LUNs -* and populate `usb_dev_desc'. -*/ -int lun, max_lun, start = usb_max_devs; - - max_lun =usb_get_max_lun (&usb_stor[usb_max_devs]); -for (lun =0 ; - lun <= max_lun && usb_max_devs <USB_MAX_STOR_DEV ; - lun++) { -struct blk_desc *blkdev; - - blkdev = &usb_dev_desc[usb_max_devs]; -memset (blkdev,'\0' ,sizeof (struct blk_desc )); - blkdev->if_type =IF_TYPE_USB ; - blkdev->devnum = usb_max_devs; - blkdev->part_type =PART_TYPE_UNKNOWN ; - blkdev->target =0xff ; - blkdev->type =DEV_TYPE_UNKNOWN ; - blkdev->block_read = usb_stor_read; - blkdev->block_write = usb_stor_write; - blkdev->lun = lun; - blkdev->priv = dev; - -if (usb_stor_get_info (dev, &usb_stor[start], - &usb_dev_desc[usb_max_devs]) == -1 ) { - usb_max_devs++; -debug ("%s: Found device %p\n" , __func__, dev); - } +if (!usb_storage_probe (udev,0 , &usb_stor[usb_max_devs])) +return 0 ; + +/* +* OK, it's a storage device. Iterate over its LUNs and populate +* usb_dev_desc' +*/ + start = usb_max_devs; + + max_lun =usb_get_max_lun (&usb_stor[usb_max_devs]); +for (lun =0 ; lun <= max_lun && usb_max_devs <USB_MAX_STOR_DEV ; + lun++) { +struct blk_desc *blkdev; + + blkdev = &usb_dev_desc[usb_max_devs]; +memset (blkdev,'\0' ,sizeof (struct blk_desc )); + blkdev->if_type =IF_TYPE_USB ; + blkdev->devnum = usb_max_devs; + blkdev->part_type =PART_TYPE_UNKNOWN ; + blkdev->target =0xff ; + blkdev->type =DEV_TYPE_UNKNOWN ; + blkdev->block_read = usb_stor_read; + blkdev->block_write = usb_stor_write; + blkdev->lun = lun; + blkdev->priv = udev; + +if (usb_stor_get_info (udev, &usb_stor[start], + &usb_dev_desc[usb_max_devs]) ==1 ) { + usb_max_devs++; +debug ("%s: Found device %p\n" , __func__, udev); } }
@@ -1029,36 +1037,33 @@ static void usb_bin_fixup(struct usb_device_descriptor descriptor,static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer) { -int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks; -struct usb_device *dev; +struct usb_device *udev;struct us_data *ss;int retry;ccb *srb = &usb_ccb;if (blkcnt ==0 )return 0 ; - - device &=0xff ;/* Setup device */ -debug ("\nusb_read: dev %d\n" , device); - dev = usb_dev_desc[device].priv; -if (!dev) { +debug ("\nusb_read: udev %d\n" , block_dev->devnum); + udev = usb_dev_desc[block_dev->devnum].priv; +if (!udev) {debug ("%s: No device\n" , __func__);return 0 ; } - ss = (struct us_data *)dev->privptr; + ss = (struct us_data *)udev->privptr;usb_disable_asynch (1 );/* asynch transfer not allowed */ - srb->lun = usb_dev_desc[device].lun; + srb->lun = block_dev->lun; buf_addr = (uintptr_t )buffer; start = blknr; blks = blkcnt; -debug ("\nusb_read: dev %d startblk " LBAF ", blccnt " LBAF -" buffer %" PRIxPTR"\n" , device, start, blks, buf_addr); +debug ("\nusb_read: dev %d startblk " LBAF ", blccnt " LBAF " buffer %" + PRIxPTR"\n" , block_dev->devnum, start, blks, buf_addr); do { /* XXX need some comment here */
@@ -1071,7 +1076,7 @@ static unsigned long usb_stor_read(struct blk_desc *block_dev, lbaint_t blknr, retry_it:if (smallblks ==USB_MAX_XFER_BLK )usb_show_progress (); - srb->datalen = usb_dev_desc[device].blksz * smallblks; + srb->datalen = block_dev->blksz * smallblks; srb->pdata = (unsigned char *)buf_addr;if (usb_read_10 (srb, ss, start, smallblks)) {debug ("Read ERROR\n" );
@@ -1100,11 +1105,10 @@ retry_it:static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer) { -int device = block_dev->devnum;lbaint_t start, blks;uintptr_t buf_addr;unsigned short smallblks; -struct usb_device *dev; +struct usb_device *udev;struct us_data *ss;int retry;ccb *srb = &usb_ccb;
@@ -1112,23 +1116,24 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr,if (blkcnt ==0 )return 0 ; - device &=0xff ;/* Setup device */ -debug ("\nusb_write: dev %d\n" , device); - dev = usb_dev_desc[device].priv; -if (!dev) +debug ("\nusb_read: udev %d\n" , block_dev->devnum); + udev = usb_dev_desc[block_dev->devnum].priv; +if (!udev) { +debug ("%s: No device\n" , __func__);return 0 ; - ss = (struct us_data *)dev->privptr; + } + ss = (struct us_data *)udev->privptr;usb_disable_asynch (1 );/* asynch transfer not allowed */ - srb->lun = usb_dev_desc[device].lun; + srb->lun = block_dev->lun; buf_addr = (uintptr_t )buffer; start = blknr; blks = blkcnt; -debug ("\nusb_write: dev %d startblk " LBAF ", blccnt " LBAF -" buffer %" PRIxPTR"\n" , device, start, blks, buf_addr); +debug ("\nusb_write: dev %d startblk " LBAF ", blccnt " LBAF " buffer %" + PRIxPTR"\n" , block_dev->devnum, start, blks, buf_addr); do { /* If write fails retry for max retry count else
@@ -1143,7 +1148,7 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr, retry_it:if (smallblks ==USB_MAX_XFER_BLK )usb_show_progress (); - srb->datalen = usb_dev_desc[device].blksz * smallblks; + srb->datalen = block_dev->blksz * smallblks; srb->pdata = (unsigned char *)buf_addr;if (usb_write_10 (srb, ss, start, smallblks)) {debug ("Write ERROR\n" );
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 21/32 dm: usb: Tidy up storage code ready for driver model conversion
Quoted 7 lines · Simon Glass
Adjust a few things so that the addition of driver-models support involved adding code rather than also changing it. This makes the patches easier to review.
Signed-off-by Simon Glass <[email protected]>---
Looks sensible, thanks!
Signature · 2 lines
Best regards, Marek Vasut
PATCH v2 21/32 dm: usb: Tidy up storage code ready for driver model conversion
In reply to Simon GlassQuoted 11 lines · Simon Glass
Adjust a few things so that the addition of driver-models support involved adding code rather than also changing it. This makes the patches easier to review.
Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 117 +++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 56 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 22/32 dm: blk: Add a block-device uclass
In reply to Simon GlassAdd a uclass for block devices. These provide block-oriented data access, supporting reading, writing and erasing of whole blocks.
---
Changes in v2: None
drivers/block/Kconfig | 11 +++ drivers/block/Makefile | 2 + drivers/block/blk-uclass.c | 175 +++++++++++++++++++++++++++++++++++++++++++++ include/blk.h | 145 +++++++++++++++++++++++++++++++++++++ include/dm/uclass-id.h | 1 + 5 files changed, 334 insertions(+) create mode 100644 drivers/block/blk-uclass.c
drivers/block/Kconfig +11 -0
@@ -1,3 +1,14 @@ +config BLK + bool "Support block devices" + depends on DM + help + Enable support for block devices, such as SCSI, MMC and USB + flash sticks. These provide a block-level interface which permits + reading, writing and (in some cases) erasing blocks. Block + devices often have a partition table which allows the device to + be partitioned into several areas, called 'partitions' in U-Boot. + A filesystem can be placed in each partition. + config DISK bool "Support disk controllers with driver model" depends on DM
drivers/block/Makefile +2 -0
@@ -5,6 +5,8 @@ # SPDX-License-Identifier: GPL-2.0+ # +obj-$(CONFIG_BLK) += blk-uclass.o + obj-$(CONFIG_DISK) += disk-uclass.o obj-$(CONFIG_SCSI_AHCI) += ahci.o obj-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o
drivers/block/blk-uclass.c new file +175 -0
175 lines not on this page · raw message
include/blk.h +145 -0
175 lines not on this page · raw message
include/dm/uclass-id.h +1 -0
@@ -26,6 +26,7 @@ enum uclass_id {/* U-Boot uclasses start here - in alphabetical order */ UCLASS_ADC ,/* Analog-to-digital converter */ +UCLASS_BLK ,/* Block device */ UCLASS_CLK ,/* Clock source, e.g. used by peripherals */ UCLASS_CPU ,/* CPU, typically part of an SoC */ UCLASS_CROS_EC, /* Chrome OS EC */
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 22/32 dm: blk: Add a block-device uclass
Quoted 9 lines · Simon Glass
Add a uclass for block devices. These provide block-oriented data access, supporting reading, writing and erasing of whole blocks.
Signed-off-by Simon Glass <[email protected]>Reviewed-by Bin Meng <[email protected]>---
Changes in v2: None
Quoted 7 lines
drivers/block/Kconfig | 11 +++ drivers/block/Makefile | 2 + drivers/block/blk-uclass.c | 175 +++++++++++++++++++++++++++++++++++++++++++++ include/blk.h | 145 +++++++++++++++++++++++++++++++++++++ include/dm/uclass-id.h | 1 + 5 files changed, 334 insertions(+) create mode 100644 drivers/block/blk-uclass.c
Applied to u-boot-dm/next.
PATCH v2 23/32 dm: sandbox: Prepare block driver for driver-model conversion
In reply to Simon GlassMake a few minor changes to make it easier to add driver-model support.
---
Changes in v2: None
drivers/block/sandbox.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)
drivers/block/sandbox.c +14 -16
@@ -31,16 +31,15 @@ static unsigned long host_block_read(struct blk_desc *block_dev,if (!host_dev)return -1 ; -if (os_lseek (host_dev->fd, - start * host_dev->blk_dev.blksz, -OS_SEEK_SET ) ==-1 ) { -printf ("ERROR: Invalid position\n" ); + +if (os_lseek (host_dev->fd, start * block_dev->blksz,OS_SEEK_SET ) == +-1 ) { +printf ("ERROR: Invalid block %lx\n" , start);return -1 ; } -ssize_t len =os_read (host_dev->fd, buffer, - blkcnt * host_dev->blk_dev.blksz); +ssize_t len =os_read (host_dev->fd, buffer, blkcnt * block_dev->blksz);if (len >=0 ) -return len / host_dev->blk_dev.blksz; +return len / block_dev->blksz;return -1 ; }
@@ -50,16 +49,15 @@ static unsigned long host_block_write(struct blk_desc *block_dev, {int dev = block_dev->devnum;struct host_block_dev *host_dev =find_host_device (dev); -if (os_lseek (host_dev->fd, - start * host_dev->blk_dev.blksz, -OS_SEEK_SET ) ==-1 ) { -printf ("ERROR: Invalid position\n" ); + +if (os_lseek (host_dev->fd, start * block_dev->blksz,OS_SEEK_SET ) == +-1 ) { +printf ("ERROR: Invalid block %lx\n" , start);return -1 ; } -ssize_t len =os_write (host_dev->fd, buffer, blkcnt * - host_dev->blk_dev.blksz); +ssize_t len =os_write (host_dev->fd, buffer, blkcnt * block_dev->blksz);if (len >=0 ) -return len / host_dev->blk_dev.blksz; +return len / block_dev->blksz;return -1 ; }
@@ -103,9 +101,9 @@ int host_dev_bind(int dev, char *filename)return 0 ; } -int host_get_dev_err (int dev,struct blk_desc **blk_devp) +int host_get_dev_err (int devnum,struct blk_desc **blk_devp) { -struct host_block_dev *host_dev =find_host_device (dev); +struct host_block_dev *host_dev =find_host_device (devnum);if (!host_dev)return -ENODEV ;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 23/32 dm: sandbox: Prepare block driver for driver-model conversion
Quoted 9 lines · Simon Glass
Make a few minor changes to make it easier to add driver-model support.
Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
drivers/block/sandbox.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 24/32 dm: sandbox: Add driver-model block-device support for sandbox
In reply to Simon GlassUpdate the host driver to support driver model for block devices. A future commit will remove the old code, but for now it is useful to be able to use it both with and without CONFIG_BLK.
---
Changes in v2:
- Use snprintf() to avoid overflow
cmd/host.c | 9 +++- drivers/block/sandbox.c | 118 +++++++++++++++++++++++++++++++++++++++++++++- include/sandboxblockdev.h | 2 + 3 files changed, 127 insertions(+), 2 deletions(-)
cmd/host.c +8 -1
@@ -5,6 +5,7 @@*/ #include <common.h> +#include <dm.h> #include <fs.h> #include <part.h> #include <sandboxblockdev.h>
@@ -80,7 +81,13 @@ static int do_host_info(cmd_tbl_t *cmdtp, int flag, int argc,continue ; } -struct host_block_dev *host_dev = blk_dev->priv; +struct host_block_dev *host_dev; + +#ifdef CONFIG_BLK + host_dev =dev_get_priv (blk_dev->bdev); +#else + host_dev = blk_dev->priv; +#endif printf ("%12lu %s\n" , (unsigned long )blk_dev->lba, host_dev->filename); }
drivers/block/sandbox.c +117 -1
180 lines not on this page · raw message
include/sandboxblockdev.h +2 -0
@@ -8,7 +8,9 @@#define __SANDBOX_BLOCK_DEV__struct host_block_dev { +#ifndef CONFIG_BLK struct blk_desc blk_dev; +#endif char *filename;int fd; };
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 24/32 dm: sandbox: Add driver-model block-device support for sandbox
Quoted 7 lines · Simon Glass
Update the host driver to support driver model for block devices. A future commit will remove the old code, but for now it is useful to be able to use it both with and without
CONFIG_BLK.Signed-off-by Simon Glass <[email protected]>---
Quoted 7 lines
Changes in v2:
- Usesnprintf()to avoid overflowcmd/host.c | 9 +++- drivers/block/sandbox.c | 118 +++++++++++++++++++++++++++++++++++++++++++++- include/sandboxblockdev.h | 2 + 3 files changed, 127 insertions(+), 2 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
In reply to Simon GlassUpdate this code to support CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.
---
Changes in v2: None
common/usb_storage.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-)
common/usb_storage.c +135 -6
@@ -43,6 +43,7 @@#include <asm/byteorder.h> #include <asm/processor.h> #include <dm/device-internal.h> +#include <dm/lists.h> #include <part.h> #include <usb.h>
@@ -67,7 +68,9 @@ static __u32 CBWTag;static int usb_max_devs;/* number of highest available usb device */ +#ifndef CONFIG_BLK static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV ]; +#endif struct us_data ;typedef int (*trans_cmnd )(ccb *cb,struct us_data *data);
@@ -108,7 +111,9 @@ struct us_data {#define USB_MAX_XFER_BLK 20#endif +#ifndef CONFIG_BLK static struct us_data usb_stor[USB_MAX_STOR_DEV ]; +#endif #define USB_STOR_TRANSPORT_GOOD 0#define USB_STOR_TRANSPORT_FAILED -1
@@ -118,16 +123,33 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *us, struct blk_desc *dev_desc);int usb_storage_probe (struct usb_device *dev,unsigned int ifnum,struct us_data *ss); +#ifdef CONFIG_BLK +static unsigned long usb_stor_read (struct udevice *dev,lbaint_t blknr, +lbaint_t blkcnt,void *buffer); +static unsigned long usb_stor_write (struct udevice *dev,lbaint_t blknr, +lbaint_t blkcnt,const void *buffer); +#else static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,void *buffer);static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr,lbaint_t blkcnt,const void *buffer); +#endif void uhci_show_temp_int_td (void );#ifdef CONFIG_PARTITIONS struct blk_desc *usb_stor_get_dev (int index) { +#ifdef CONFIG_BLK +struct udevice *dev; +int ret; + + ret =blk_get_device (IF_TYPE_USB , index, &dev); +if (ret) +return NULL ; +return dev_get_uclass_platdata (dev); +#else return (index < usb_max_devs) ? &usb_dev_desc[index] :NULL ; +#endif }#endif
@@ -143,6 +165,19 @@ static void usb_show_progress(void)int usb_stor_info (void ) {int count =0 ; +#ifdef CONFIG_BLK +struct udevice *dev; + +for (blk_first_device (IF_TYPE_USB , &dev); + dev; +blk_next_device (&dev)) { +struct blk_desc *desc =dev_get_uclass_platdata (dev); + +printf (" Device %d: " , desc->devnum); +dev_print (desc); + count++; + } +#else int i;if (usb_max_devs >0 ) {
@@ -152,7 +187,7 @@ int usb_stor_info(void) }return 0 ; } - +#endif if (!count) {printf ("No storage devices, perhaps not 'usb start'ed..?\n" );return 1 ;
@@ -179,11 +214,63 @@ static unsigned int usb_get_max_lun(struct us_data *us)static int usb_stor_probe_device (struct usb_device *udev) {int lun, max_lun; + +#ifdef CONFIG_BLK +struct us_data *data; +char dev_name[30 ], *str; +int ret; +#else int start;if (udev ==NULL )return -ENOENT ;/* no more devices available */ +#endif + +debug ("\n\nProbing for storage\n" ); +#ifdef CONFIG_BLK +/* +* We store the us_data in the mass storage device's platdata. It +* is shared by all LUNs (block devices) attached to this mass storage +* device. +*/ + data =dev_get_platdata (udev->dev); +if (!usb_storage_probe (udev,0 , data)) +return 0 ; + max_lun =usb_get_max_lun (data); +for (lun =0 ; lun <= max_lun; lun++) { +struct blk_desc *blkdev; +struct udevice *dev; + +snprintf (dev_name,sizeof (dev_name),"%s.lun%d" , + udev->dev->name, lun); + str =strdup (dev_name); +if (!str) +return -ENOMEM ; + ret =blk_create_device (udev->dev,"usb_storage_blk" , str, +IF_TYPE_USB , usb_max_devs,512 ,0 , &dev); +if (ret) { +debug ("Cannot bind driver\n" ); +return ret; + } + + blkdev =dev_get_uclass_platdata (dev); + blkdev->target =0xff ; + blkdev->lun = lun; + ret =usb_stor_get_info (udev, data, blkdev); +if (ret ==1 ) + ret =blk_prepare_device (dev); +if (!ret) { + usb_max_devs++; +debug ("%s: Found device %p\n" , __func__, udev); + }else { +debug ("usb_stor_get_info: Invalid device\n" ); + ret =device_unbind (dev); +if (ret) +return ret; + } + } +#else /* We don't have space to even probe if we hit the maximum */ if (usb_max_devs ==USB_MAX_STOR_DEV ) { printf("max USB Storage Device reached: %d stopping\n",
@@ -191,7 +278,6 @@ static int usb_stor_probe_device(struct usb_device *udev)return -ENOSPC ; } -debug ("\n\nProbing for storage\n" );if (!usb_storage_probe (udev,0 , &usb_stor[usb_max_devs]))return 0 ;
@@ -220,10 +306,14 @@ static int usb_stor_probe_device(struct usb_device *udev)if (usb_stor_get_info (udev, &usb_stor[start], &usb_dev_desc[usb_max_devs]) ==1 ) { +debug ("partype: %d\n" , blkdev->part_type); +part_init (blkdev); +debug ("partype: %d\n" , blkdev->part_type); usb_max_devs++;debug ("%s: Found device %p\n" , __func__, udev); } } +#endif return 0 ; }
@@ -1034,8 +1124,13 @@ static void usb_bin_fixup(struct usb_device_descriptor descriptor, }#endif /* CONFIG_USB_BIN_FIXUP */ +#ifdef CONFIG_BLK +static unsigned long usb_stor_read (struct udevice *dev,lbaint_t blknr, + lbaint_t blkcnt, void *buffer) +#else static unsigned long usb_stor_read (struct blk_desc *block_dev,lbaint_t blknr, lbaint_t blkcnt, void *buffer) +#endif {lbaint_t start, blks;uintptr_t buf_addr;
@@ -1044,16 +1139,25 @@ static unsigned long usb_stor_read(struct blk_desc *block_dev, lbaint_t blknr,struct us_data *ss;int retry;ccb *srb = &usb_ccb; +#ifdef CONFIG_BLK +struct blk_desc *block_dev; +#endif if (blkcnt ==0 )return 0 ;/* Setup device */ +#ifdef CONFIG_BLK + block_dev =dev_get_uclass_platdata (dev); + udev =dev_get_parent_priv (dev_get_parent (dev)); +debug ("\nusb_read: udev %d\n" , block_dev->devnum); +#else debug ("\nusb_read: udev %d\n" , block_dev->devnum); udev = usb_dev_desc[block_dev->devnum].priv;if (!udev) {debug ("%s: No device\n" , __func__);return 0 ; } +#endif ss = (struct us_data *)udev->privptr;usb_disable_asynch (1 );/* asynch transfer not allowed */
@@ -1102,8 +1206,13 @@ retry_it:return blkcnt; } +#ifdef CONFIG_BLK +static unsigned long usb_stor_write (struct udevice *dev,lbaint_t blknr, + lbaint_t blkcnt, const void *buffer) +#else static unsigned long usb_stor_write (struct blk_desc *block_dev,lbaint_t blknr, lbaint_t blkcnt, const void *buffer) +#endif {lbaint_t start, blks;uintptr_t buf_addr;
@@ -1112,17 +1221,26 @@ static unsigned long usb_stor_write(struct blk_desc *block_dev, lbaint_t blknr,struct us_data *ss;int retry;ccb *srb = &usb_ccb; +#ifdef CONFIG_BLK +struct blk_desc *block_dev; +#endif if (blkcnt ==0 )return 0 ;/* Setup device */ +#ifdef CONFIG_BLK + block_dev =dev_get_uclass_platdata (dev); + udev =dev_get_parent_priv (dev_get_parent (dev)); +debug ("\nusb_read: udev %d\n" , block_dev->devnum); +#else debug ("\nusb_read: udev %d\n" , block_dev->devnum); udev = usb_dev_desc[block_dev->devnum].priv;if (!udev) {debug ("%s: No device\n" , __func__);return 0 ; } +#endif ss = (struct us_data *)udev->privptr;usb_disable_asynch (1 );/* asynch transfer not allowed */
@@ -1377,11 +1495,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss, dev_desc->log2blksz =LOG2 (dev_desc->blksz); dev_desc->type = perq;debug (" address %d\n" , dev_desc->target); -debug ("partype: %d\n" , dev_desc->part_type); - -part_init (dev_desc); -debug ("partype: %d\n" , dev_desc->part_type);return 1 ; }
@@ -1409,6 +1523,9 @@ U_BOOT_DRIVER(usb_mass_storage) = { .id = UCLASS_MASS_STORAGE, .of_match = usb_mass_storage_ids, .probe = usb_mass_storage_probe, +#ifdef CONFIG_BLK + .platdata_auto_alloc_size = sizeof(struct us_data), +#endif };UCLASS_DRIVER (usb_mass_storage) = {
@@ -1425,5 +1542,17 @@ static const struct usb_device_id mass_storage_id_table[] = { };U_BOOT_USB_DEVICE (usb_mass_storage, mass_storage_id_table); +#endif +#ifdef CONFIG_BLK +static const struct blk_ops usb_storage_ops = { + .read = usb_stor_read, + .write = usb_stor_write, +}; + +U_BOOT_DRIVER (usb_storage_blk) = { + .name ="usb_storage_blk" , + .id =UCLASS_BLK , + .ops = &usb_storage_ops, +};#endif
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
Quoted 25 lines · Simon Glass
Update this code to support
CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-)common/usb_storage.c +1
-0@@ -43,6 +43,7 @@#include <asm/byteorder.h> #include <asm/processor.h> #include <dm/device-internal.h> +#include <dm/lists.h> #include <part.h> #include <usb.h>
common/usb_storage.c static __u32 CBWTag; · line 73
Quoted 6 lines
common/usb_storage.c +2
-0@@ -67,7 +68,9 @@ static __u32 CBWTag;static int usb_max_devs;/* number of highest available usb device */ +#ifndef CONFIG_BLK static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV ]; +#endif
You might want to use __maybe_unused to avoid the ifdef, do you think it makes sense ?
common/usb_storage.c static __u32 CBWTag; · line 76
Quoted 2 lines
common/usb_storage.c +0
-0struct us_data ;typedef int (*trans_cmnd )(ccb *cb,struct us_data *data);
Other than that:
Signature · 2 lines
Best regards, Marek Vasut
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 26 lines · Simon Glass
Update this code to support
CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-)common/usb_storage.c +1
-0@@ -43,6 +43,7 @@#include <asm/byteorder.h> #include <asm/processor.h> #include <dm/device-internal.h> +#include <dm/lists.h> #include <part.h> #include <usb.h> @@ -67,7 +68,9 @@ static __u32 CBWTag;
Quoted 8 lines
common/usb_storage.c static __u32 CBWTag; · line 73
Quoted 5 lines
common/usb_storage.c +2
-0static int usb_max_devs;/* number of highest available usb device */ +#ifndef CONFIG_BLK static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV ]; +#endif You might want to use
__maybe_unusedto avoid the ifdef, do you think it makes sense ?
This is something that should not exist when driver model is used. So I'd rather have it explicit so it is obvious that it can be removed with the driver-model conversion is done.
Quoted 11 lines
common/usb_storage.c static __u32 CBWTag; · line 76
Quoted 3 lines
common/usb_storage.c +0
-0struct us_data ;typedef int (*trans_cmnd )(ccb *cb,struct us_data *data);Other than that:
Reviewed-by Marek Vasut <[email protected]>--
Best regards,
Marek Vasut
Regards,
Simon
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
Quoted 39 lines · Simon Glass
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 26 lines · Simon Glass
Update this code to support
CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-)common/usb_storage.c +1
-0@@ -43,6 +43,7 @@#include <asm/byteorder.h> #include <asm/processor.h> #include <dm/device-internal.h> +#include <dm/lists.h> #include <part.h> #include <usb.h> @@ -67,7 +68,9 @@ static __u32 CBWTag;Quoted 8 lines
common/usb_storage.c static __u32 CBWTag; · line 73
Quoted 5 lines
common/usb_storage.c +2
-0static int usb_max_devs;/* number of highest available usb device */ +#ifndef CONFIG_BLK static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV ]; +#endif You might want to use
__maybe_unusedto avoid the ifdef, do you think it makes sense ?
Quoted 3 lines
This is something that should not exist when driver model is used. So I'd rather have it explicit so it is obvious that it can be removed with the driver-model conversion is done.
OK fine.
Quoted 15 lines
Quoted 11 lines
common/usb_storage.c static __u32 CBWTag; · line 76
Quoted 3 lines
common/usb_storage.c +0
-0struct us_data ;typedef int (*trans_cmnd )(ccb *cb,struct us_data *data);Other than that:
Reviewed-by Marek Vasut <[email protected]>--
Best regards,
Marek VasutRegards,
Simon
Signature · 2 lines
Best regards, Marek Vasut
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
In reply to Simon GlassQuoted 11 lines · Simon Glass
Update this code to support
CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
common/usb_storage.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 6 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 25/32 dm: usb: Convert USB storage to use driver-model for block devs
In reply to Simon GlassQuoted 3 lines · Simon Glass
Update this code to support
CONFIG_BLK. Each USB storage device can have one or more block devices as children, each one representing a LUN (logical unit) of the USB device.
Note that I accidentally tested some other patches in the wrong place today, and found that this patch prevents my USB SD card reader from working when attached to Jetson TK1. I get:
U-Boot 2016.03-rc3-00056-gb3601815cf72 (Mar 14 2016 - 11:54:53 -0600)
TEGRA124
Model: NVIDIA Jetson TK1 Board: NVIDIA Jetson TK1 DRAM: 2 GiB MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1 In: serial Out: serial Err: serial Net: No ethernet found. Hit any key to stop autoboot: 0 Tegra124 (Jetson TK1) # usb start starting USB... USB0: USB EHCI 1.10 USB1: USB EHCI 1.10
scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... Device NOT ready
Request Sense returned 02 3A 00
### ERROR ### Please RESET the board ###
(The Request Sense error happens even in the passing cases, but in those cases the overall "usb start" operation succeeds, and then USB storage access does actually work. I guess my reader is a little slow to initialize or something).
The patch immediately before this one works fine.
Can you reproduce this? If not, let me know and I'll investigate further.
PATCH v2 26/32 dm: usb: Unbind old block devices when shutting down USB
In reply to Simon GlassWe don't want old block devices hanging around since they can still appear visible in some way.
Possibly we should unbind all devices which don't cause problems by being unbound. Most likely we can remove everything except USB controllers, hubs and emulators. We can consider that later.
---
Changes in v2: None
drivers/usb/host/usb-uclass.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/usb/host/usb-uclass.c +5 -1
@@ -159,7 +159,11 @@ int usb_stop(void)if (ret && !err) err = ret; } - +#ifdef CONFIG_BLK + ret =blk_unbind_all (IF_TYPE_USB ); +if (ret && !err) + err = ret; +#endif #ifdef CONFIG_SANDBOX struct udevice *dev;
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 26/32 dm: usb: Unbind old block devices when shutting down USB
Quoted 2 lines · Simon Glass
We don't want old block devices hanging around since they can still appear visible in some way.
OK
Quoted 3 lines
Possibly we should unbind all devices which don't cause problems by being unbound. Most likely we can remove everything except USB controllers, hubs and emulators. We can consider that later.
Can you please expand on this bit of the commit message ? It's not very clear.
Thanks!
Quoted 26 lines
Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
drivers/usb/host/usb-uclass.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)drivers/usb/host/usb-uclass.c +5
-1@@ -159,7 +159,11 @@ int usb_stop(void)if (ret && !err) err = ret; } - +#ifdef CONFIG_BLK + ret =blk_unbind_all (IF_TYPE_USB ); +if (ret && !err) + err = ret; +#endif #ifdef CONFIG_SANDBOX struct udevice *dev;
Signature · 2 lines
Best regards, Marek Vasut
PATCH v2 27/32 dm: sandbox: Switch over to use DM for block devices
In reply to Simon GlassNow that the drivers used by sandbox support CONFIG_BLK, we can switch sandbox over to use driver model for block devices.
---
Changes in v2: None
configs/sandbox_defconfig | 1 + 1 file changed, 1 insertion(+)
configs/sandbox_defconfig +1 -0
@@ -28,6 +28,7 @@ CONFIG_SPL_SYSCON=y CONFIG_DEVRES=y CONFIG_ADC=y CONFIG_ADC_SANDBOX=y +CONFIG_BLK=y CONFIG_CLK=y CONFIG_SANDBOX_GPIO=y CONFIG_SYS_I2C_SANDBOX=y
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 28/32 dm: sandbox: Drop the pre-DM host implementation
In reply to Simon GlassDriver model is used for host device block devices now, so we don't need the old code. Remove it.
---
Changes in v2: None
drivers/block/sandbox.c | 90 ------------------------------------------------- 1 file changed, 90 deletions(-)
drivers/block/sandbox.c +0 -90
@@ -17,19 +17,6 @@DECLARE_GLOBAL_DATA_PTR ; -#ifndef CONFIG_BLK -static struct host_block_dev host_devices[CONFIG_HOST_MAX_DEVICES ]; - -static struct host_block_dev *find_host_device (int dev) -{ -if (dev >=0 && dev <CONFIG_HOST_MAX_DEVICES ) -return &host_devices[dev]; - -return NULL ; -} -#endif - -#ifdef CONFIG_BLK static unsigned long host_block_read (struct udevice *dev,unsigned long start,lbaint_t blkcnt,void *buffer)
@@ -37,18 +24,6 @@ static unsigned long host_block_read(struct udevice *dev,struct host_block_dev *host_dev =dev_get_priv (dev);struct blk_desc *block_dev =dev_get_uclass_platdata (dev); -#else -static unsigned long host_block_read (struct blk_desc *block_dev, -unsigned long start,lbaint_t blkcnt, -void *buffer) -{ -int dev = block_dev->devnum; -struct host_block_dev *host_dev =find_host_device (dev); - -if (!host_dev) -return -1 ; -#endif -if (os_lseek (host_dev->fd, start * block_dev->blksz,OS_SEEK_SET ) ==-1 ) {printf ("ERROR: Invalid block %lx\n" , start);
@@ -60,21 +35,12 @@ static unsigned long host_block_read(struct blk_desc *block_dev,return -1 ; } -#ifdef CONFIG_BLK static unsigned long host_block_write (struct udevice *dev,unsigned long start,lbaint_t blkcnt,const void *buffer) {struct host_block_dev *host_dev =dev_get_priv (dev);struct blk_desc *block_dev =dev_get_uclass_platdata (dev); -#else -static unsigned long host_block_write (struct blk_desc *block_dev, -unsigned long start,lbaint_t blkcnt, -const void *buffer) -{ -int dev = block_dev->devnum; -struct host_block_dev *host_dev =find_host_device (dev); -#endif if (os_lseek (host_dev->fd, start * block_dev->blksz,OS_SEEK_SET ) ==-1 ) {
@@ -87,7 +53,6 @@ static unsigned long host_block_write(struct blk_desc *block_dev,return -1 ; } -#ifdef CONFIG_BLK int host_dev_bind (int devnum,char *filename) {struct host_block_dev *host_dev;
@@ -150,51 +115,9 @@ err:free (str);return ret; } -#else -int host_dev_bind (int dev,char *filename) -{ -struct host_block_dev *host_dev =find_host_device (dev); - -if (!host_dev) -return -1 ; -if (host_dev->blk_dev.priv) { -os_close (host_dev->fd); - host_dev->blk_dev.priv =NULL ; - } -if (host_dev->filename) -free (host_dev->filename); -if (filename && *filename) { - host_dev->filename =strdup (filename); - }else { - host_dev->filename =NULL ; -return 0 ; - } - - host_dev->fd =os_open (host_dev->filename,OS_O_RDWR ); -if (host_dev->fd ==-1 ) { -printf ("Failed to access host backing file '%s'\n" , - host_dev->filename); -return 1 ; - } - -struct blk_desc *blk_dev = &host_dev->blk_dev; - blk_dev->if_type =IF_TYPE_HOST ; - blk_dev->priv = host_dev; - blk_dev->blksz =512 ; - blk_dev->lba =os_lseek (host_dev->fd,0 ,OS_SEEK_END ) / blk_dev->blksz; - blk_dev->block_read = host_block_read; - blk_dev->block_write = host_block_write; - blk_dev->devnum = dev; - blk_dev->part_type =PART_TYPE_UNKNOWN ; -part_init (blk_dev); - -return 0 ; -} -#endif int host_get_dev_err (int devnum,struct blk_desc **blk_devp) { -#ifdef CONFIG_BLK struct udevice *dev;int ret;
@@ -202,17 +125,6 @@ int host_get_dev_err(int devnum, struct blk_desc **blk_devp)if (ret)return ret; *blk_devp =dev_get_uclass_platdata (dev); -#else -struct host_block_dev *host_dev =find_host_device (devnum); - -if (!host_dev) -return -ENODEV ; - -if (!host_dev->blk_dev.priv) -return -ENOENT ; - - *blk_devp = &host_dev->blk_dev; -#endif return 0 ; }
@@ -227,7 +139,6 @@ struct blk_desc *host_get_dev(int dev)return blk_dev; } -#ifdef CONFIG_BLK static const struct blk_ops sandbox_host_blk_ops = { .read = host_block_read, .write = host_block_write,
@@ -239,4 +150,3 @@ U_BOOT_DRIVER(sandbox_host_blk) = { .ops = &sandbox_host_blk_ops, .priv_auto_alloc_size = sizeof(struct host_block_dev), }; -#endif
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 29/32 dm: usb: Clean up USB after each test
In reply to Simon GlassThe USB subsystem has a few counters that need to be reset since they are stored in static variables rather than driver-model data. An example is usb_max_devs. Ultimately we should move this data into the USB uclass.
For now, make sure that USB is reset after each test, so that the counters go back to zero.
Note: this is not a perfect solution: It a USB test fails it will exit immediately and leave USB un-reset. The impact here is that it may cause subsequence test failures in the same run.
---
Changes in v2: None
test/dm/usb.c | 2 ++ 1 file changed, 2 insertions(+)
test/dm/usb.c +2 -0
@@ -52,6 +52,7 @@ static int dm_test_usb_flash(struct unit_test_state *uts)memset (cmp,'\0' ,sizeof (cmp));ut_asserteq (2 ,blk_dread (dev_desc,0 ,2 , cmp));ut_assertok (strcmp (cmp,"this is a test" )); +ut_assertok (usb_stop ());return 0 ; }
@@ -67,6 +68,7 @@ static int dm_test_usb_multi(struct unit_test_state *uts)ut_assertok (uclass_get_device (UCLASS_MASS_STORAGE ,0 , &dev));ut_assertok (uclass_get_device (UCLASS_MASS_STORAGE ,1 , &dev));ut_assertok (uclass_get_device (UCLASS_MASS_STORAGE ,2 , &dev)); +ut_assertok (usb_stop ());return 0 ; }
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 29/32 dm: usb: Clean up USB after each test
Quoted 11 lines · Simon Glass
The USB subsystem has a few counters that need to be reset since they are stored in static variables rather than driver-model data. An example is
usb_max_devs. Ultimately we should move this data into the USB uclass.For now, make sure that USB is reset after each test, so that the counters go back to zero.
Note: this is not a perfect solution: It a USB test fails it will exit immediately and leave USB un-reset. The impact here is that it may cause subsequence test failures in the same run.
Quoted 7 lines
Signed-off-by Simon Glass <[email protected]>---
Changes in v2: None
test/dm/usb.c | 2 ++ 1 file changed, 2 insertions(+)
Applied to u-boot-dm/next.
PATCH v2 30/32 dm: blk: Add tests for block devices
In reply to Simon GlassAdd some tests to check that block devices work as expected.
---
Changes in v2:
- Rename to blk_get_device_by_str()
test/dm/Makefile | 1 + test/dm/blk.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 test/dm/blk.c
test/dm/Makefile +1 -0
@@ -15,6 +15,7 @@ obj-$(CONFIG_UT_DM) += test-uclass.o # subsystem you must add sandbox tests here. obj-$(CONFIG_UT_DM) += core.o ifneq ($(CONFIG_SANDBOX),) +obj-$(CONFIG_BLK) += blk.o obj-$(CONFIG_CLK) += clk.o obj-$(CONFIG_DM_ETH) += eth.o obj-$(CONFIG_DM_GPIO) += gpio.o
test/dm/blk.c new file +96 -0
96 lines not on this page · raw message
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 31/32 part: Rename test_part_xx() and print_part_xx()
In reply to Simon GlassRename these functions so that part_ is at the start. This more clearly identifies these functions as partition functions.
---
Changes in v2:
- Add new patch to rename test_part_xx() and print_part_xx()
disk/part_amiga.c | 22 +++++++++++----------- disk/part_dos.c | 8 ++++---- disk/part_efi.c | 8 ++++---- disk/part_iso.c | 8 ++++---- disk/part_mac.c | 8 ++++---- 5 files changed, 27 insertions(+), 27 deletions(-)
disk/part_amiga.c +11 -11
@@ -207,27 +207,27 @@ struct bootcode_block *get_bootcode(struct blk_desc *dev_desc)* Test if the given partition has an Amiga partition table/Rigid * Disk block */ -static int test_part_amiga (struct blk_desc *dev_desc) +static int part_test_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *bootcode; -PRINTF ("test_part_amiga: Testing for an Amiga RDB partition\n" ); +PRINTF ("part_test_amiga: Testing for an Amiga RDB partition\n" ); rdb =get_rdisk (dev_desc);if (rdb) { bootcode =get_bootcode (dev_desc);if (bootcode) -PRINTF ("test_part_amiga: bootable Amiga disk\n" ); +PRINTF ("part_test_amiga: bootable Amiga disk\n" );else -PRINTF ("test_part_amiga: non-bootable Amiga disk\n" ); +PRINTF ("part_test_amiga: non-bootable Amiga disk\n" );return 0 ; }else { -PRINTF ("test_part_amiga: no RDB found\n" ); +PRINTF ("part_test_amiga: no RDB found\n" );return -1 ; }
@@ -318,7 +318,7 @@ static int part_get_info_amiga(struct blk_desc *dev_desc, int part,return 0 ; } -static void print_part_amiga (struct blk_desc *dev_desc) +static void part_print_amiga (struct blk_desc *dev_desc) {struct rigid_disk_block *rdb;struct bootcode_block *boot;
@@ -329,14 +329,14 @@ static void print_part_amiga(struct blk_desc *dev_desc) rdb =get_rdisk (dev_desc);if (!rdb) { -PRINTF ("print_part_amiga: no rdb found\n" ); +PRINTF ("part_print_amiga: no rdb found\n" );return ; } -PRINTF ("print_part_amiga: Scanning partition list\n" ); +PRINTF ("part_print_amiga: Scanning partition list\n" ); block = rdb->partition_list; -PRINTF ("print_part_amiga: partition list at 0x%x\n" , block); +PRINTF ("part_print_amiga: partition list at 0x%x\n" , block);printf ("Summary: DiskBlockSize: %d\n" " Cylinders : %d\n"
@@ -382,8 +382,8 @@ U_BOOT_PART_TYPE(amiga) = { .name = "AMIGA", .part_type = PART_TYPE_AMIGA, .get_info = part_get_info_amiga, - .print = print_part_amiga, - .test = test_part_amiga, + .print = part_print_amiga, + .test = part_test_amiga, };#endif
disk/part_dos.c +4 -4
@@ -87,7 +87,7 @@ static int test_block_type(unsigned char *buffer) } -static int test_part_dos (struct blk_desc *dev_desc) +static int part_test_dos (struct blk_desc *dev_desc) { ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, dev_desc->blksz);
@@ -285,7 +285,7 @@ static int part_get_info_extended(struct blk_desc *dev_desc,return -1 ; } -void print_part_dos (struct blk_desc *dev_desc) +void part_print_dos (struct blk_desc *dev_desc) {printf ("Part\tStart Sector\tNum Sectors\tUUID\t\tType\n" );print_partition_extended (dev_desc,0 ,0 ,1 ,0 );
@@ -301,8 +301,8 @@ U_BOOT_PART_TYPE(dos) = { .name = "DOS", .part_type = PART_TYPE_DOS, .get_info = part_get_info_ptr(part_get_info_dos), - .print = part_print_ptr(print_part_dos), - .test = test_part_dos, + .print = part_print_ptr(part_print_dos), + .test = part_test_dos, };#endif
disk/part_efi.c +4 -4
@@ -176,7 +176,7 @@ static void prepare_backup_gpt_header(gpt_header *gpt_h)* Public Functions (include/part.h) */ -void print_part_efi (struct blk_desc *dev_desc) +void part_print_efi (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER_PAD (gpt_header, gpt_head,1 , dev_desc->blksz);gpt_entry *gpt_pte =NULL ;
@@ -319,7 +319,7 @@ int part_get_info_efi_by_name(struct blk_desc *dev_desc,return -2 ; } -static int test_part_efi (struct blk_desc *dev_desc) +static int part_test_efi (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER_PAD (legacy_mbr, legacymbr,1 , dev_desc->blksz);
@@ -959,7 +959,7 @@ U_BOOT_PART_TYPE(a_efi) = { .name = "EFI", .part_type = PART_TYPE_EFI, .get_info = part_get_info_ptr(part_get_info_efi), - .print = part_print_ptr(print_part_efi), - .test = test_part_efi, + .print = part_print_ptr(part_print_efi), + .test = part_test_efi, };#endif
disk/part_iso.c +4 -4
@@ -223,7 +223,7 @@ static int part_get_info_iso(struct blk_desc *dev_desc, int part_num,return part_get_info_iso_verb (dev_desc, part_num, info,1 ); } -static void print_part_iso (struct blk_desc *dev_desc) +static void part_print_iso (struct blk_desc *dev_desc) {disk_partition_t info;int i;
@@ -242,7 +242,7 @@ static void print_part_iso(struct blk_desc *dev_desc) }while (part_get_info_iso_verb (dev_desc, i, &info,0 ) !=-1 ); } -static int test_part_iso (struct blk_desc *dev_desc) +static int part_test_iso (struct blk_desc *dev_desc) {disk_partition_t info;
@@ -253,7 +253,7 @@ U_BOOT_PART_TYPE(iso) = { .name = "ISO", .part_type = PART_TYPE_ISO, .get_info = part_get_info_iso, - .print = print_part_iso, - .test = test_part_iso, + .print = part_print_iso, + .test = part_test_iso, };#endif
disk/part_mac.c +4 -4
@@ -40,7 +40,7 @@ static int part_mac_read_pdb(struct blk_desc *dev_desc, int part,/* * Test for a valid MAC partition */ -static int test_part_mac (struct blk_desc *dev_desc) +static int part_test_mac (struct blk_desc *dev_desc) {ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );ALLOC_CACHE_ALIGN_BUFFER (mac_partition_t, mpart,1 );
@@ -63,7 +63,7 @@ static int test_part_mac(struct blk_desc *dev_desc)return (0 ); } -static void print_part_mac (struct blk_desc *dev_desc) +static void part_print_mac (struct blk_desc *dev_desc) {ulong i, n;ALLOC_CACHE_ALIGN_BUFFER (mac_driver_desc_t, ddesc,1 );
@@ -240,7 +240,7 @@ U_BOOT_PART_TYPE(mac) = { .name = "MAC", .part_type = PART_TYPE_MAC, .get_info = part_get_info_mac, - .print = print_part_mac, - .test = test_part_mac, + .print = part_print_mac, + .test = part_test_mac, };#endif
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 31/32 part: Rename test_part_xx() and print_part_xx()
Quoted 9 lines · Simon Glass
Rename these functions so that
part_is at the start. This more clearly identifies these functions as partition functions.Signed-off-by Simon Glass <[email protected]>---
Changes in v2:
- Add new patch to renametest_part_xx()andprint_part_xx()
Quoted 6 lines
disk/part_amiga.c | 22 +++++++++++----------- disk/part_dos.c | 8 ++++---- disk/part_efi.c | 8 ++++---- disk/part_iso.c | 8 ++++---- disk/part_mac.c | 8 ++++---- 5 files changed, 27 insertions(+), 27 deletions(-)
Applied to u-boot-dm/next.
PATCH v2 1/32 dm: Drop the block_dev_desc_t typedef
In reply to Simon GlassQuoted 2 lines · Simon Glass
Use 'struct' instead of a typdef. Also since 'struct
block_dev_desc' is long and causes 80-column violations, rename it to structblk_desc.
The series,
PATCH v2 32/32 Drop CONFIG_CRAMFS_CMDLINE
In reply to Simon GlassThis option doesn't do anything. Drop it.
---
Changes in v2: None
cmd/cramfs.c | 5 ----- include/configs/UCP1020.h | 1 - include/configs/km/keymile-common.h | 1 - include/configs/sandbox.h | 1 - 4 files changed, 8 deletions(-)
cmd/cramfs.c +0 -5
@@ -29,7 +29,6 @@ # define DEBUGF(fmt, args...)#endif -#ifdef CONFIG_CRAMFS_CMDLINE #include <flash.h> #ifdef CONFIG_SYS_NO_FLASH
@@ -201,7 +200,3 @@ U_BOOT_CMD("[ directory ]\n" " - list files in a directory.\n" ); - -#endif /* #ifdef CONFIG_CRAMFS_CMDLINE */ - -/***************************************************/
include/configs/UCP1020.h +0 -1
@@ -495,7 +495,6 @@#define CONFIG_CMD_REGINFO #define CONFIG_CMD_ERRATA #define CONFIG_CMD_CRAMFS -#define CONFIG_CRAMFS_CMDLINE /* * USB
include/configs/km/keymile-common.h +0 -1
@@ -83,7 +83,6 @@#define CONFIG_MTD_CONCAT #define CONFIG_CMD_CRAMFS -#define CONFIG_CRAMFS_CMDLINE #ifndef CONFIG_KM_DEF_ENV_BOOTPARAMS #define CONFIG_KM_DEF_ENV_BOOTPARAMS \
include/configs/sandbox.h +0 -1
@@ -46,7 +46,6 @@#define CONFIG_CMD_EXT4_WRITE #define CONFIG_CMD_CBFS #define CONFIG_CMD_CRAMFS -#define CONFIG_CRAMFS_CMDLINE #define CONFIG_CMD_PART #define CONFIG_DOS_PARTITION #define CONFIG_HOST_MAX_DEVICES 4
Signature · 1 line
2.7.0.rc3.207.g0ac5344
PATCH v2 32/32 Drop CONFIG_CRAMFS_CMDLINE
Quoted 6 lines · Simon Glass
This option doesn't do anything. Drop it.
Signed-off-by Simon Glass <[email protected]>Suggested-by Bin Meng <[email protected]>---
Quoted 7 lines
Changes in v2: None
cmd/cramfs.c | 5 ----- include/configs/UCP1020.h | 1 - include/configs/km/keymile-common.h | 1 - include/configs/sandbox.h | 1 - 4 files changed, 8 deletions(-)
Applied to u-boot-dm/next.