Re: [U-Boot-Users] [PATCH 1/1] FAT Bare Partition Support

17 Jun
2008
17 Jun
'08
1:13 p.m.
If you can't find who is it - because I think there is no any special custodian for disks, Wolfgang Denk is that person.
And please send your emails about U-BOOT directly to mailing list not personally to me. If you want use to me for a support, we can sign a contract.
Michal
Sorry Michael but I'm pretty new... how can I know who is it? I looked into MAINTAINERS and CREDITS but no disk/ directory found.
Regards, Antonio
2008/6/16 Michal Simek <monstr@seznam.cz mailto:monstr@seznam.cz>:
> 2008/6/16 Michal Simek <monstr@seznam.cz <mailto:monstr@seznam.cz> <mailto:monstr@seznam.cz <mailto:monstr@seznam.cz>>>: > > Hi Antonio > > I am not responsible for this part of U-BOOT but your patch contain > coding style > violation. > > Regards, > Michal Simek > > > Logic unit: > > Purpose: Add support for bare partitions (no partition table) > > Author: Antnoio R. Costa <antonio.costa <at> atmel.com <http://atmel.com> > <http://atmel.com>> > > Date : 11 Jun 2008 > > > > Status: > > ~~~~~~ > > Some SD cards are not formatted with a partition table but with > > just a bare partition at the beginnig of the memory. > > > > I modified get_partition_info_extended to call test_block_type > > as done by print_partition_extended. In this way bare FAT partitions > > are recognised. Now we need a test for Ext2. > > > > Signed-off-by: Antonio R. Costa <antonio.costa@atmel.com <mailto:antonio.costa@atmel.com> > <mailto:antonio.costa@atmel.com <mailto:antonio.costa@atmel.com>>> > > > > diff --git a/disk/part_dos.c b/disk/part_dos.c > > index 4d778ec..e5cc8aa 100644 > > --- a/disk/part_dos.c > > +++ b/disk/part_dos.c > > @@ -1,4 +1,7 @@ > > /* > > + * (C) Copyright 2008 Atmel Corp. > > + * Antonio R. Costa <antonio.costa <at> atmel.com <http://atmel.com> <http://atmel.com>> > > + * <costa.antonior <at> gmail.com <http://gmail.com> > <http://gmail.com>> > > choose only one email > > > Ok > > > > > > * (C) Copyright 2001 > > * Raymond Lo, lo@routefree.com <mailto:lo@routefree.com> <mailto:lo@routefree.com <mailto:lo@routefree.com>> > > * Wolfgang Denk, DENX Software Engineering, wd@denx.de <mailto:wd@denx.de> > <mailto:wd@denx.de <mailto:wd@denx.de>>. > > @@ -53,6 +56,11 @@ static inline int le32_to_int(unsigned char *le32) > > ); > > } > > > > +static inline int le16_to_int(unsigned char *le16) > > +{ > > + return ((le16[1] << 8) + le16[0]); > > +} > > + > > this should be in header file > > > why? le32_to_int is defined in this file just above my function ??? > OK, keep it. > > > static inline int is_extended(int part_type) > > { > > return (part_type == 0x5 || > > @@ -166,12 +174,20 @@ static int get_partition_info_extended > (block_dev_desc_t *dev_desc, int ext_part > > unsigned char buffer[DEFAULT_SECTOR_SIZE]; > > dos_partition_t *pt; > > int i; > > - > > + > > Coding style issue. > > What is this ? Some kind of white spaces instead tabs or what? In our initial patch, you had on this line tab - look at it. And send this patch with cc to person who is responsible for this part of u-boot. Michal > > if (dev_desc->block_read (dev_desc->dev, ext_part_sector, 1, > (ulong *) buffer) != 1) { > > printf ("** Can't read partition table on %d:%d **\n", > > dev_desc->dev, ext_part_sector); > > return -1; > > } > > + > > +/* > > + * ARC: This check is bad: > > + * unfortunately both MBR and FAT bootsector > > + * have a sign 0x55aa @ 0x1FF > > + * I replaced it by test_block_type as in > > + * print_partition_extended > > + > > if (buffer[DOS_PART_MAGIC_OFFSET] != 0x55 || > > buffer[DOS_PART_MAGIC_OFFSET + 1] != 0xaa) { > > printf ("bad MBR sector signature 0x%02x%02x\n", > > @@ -179,7 +195,19 @@ static int get_partition_info_extended > (block_dev_desc_t *dev_desc, int ext_part > > buffer[DOS_PART_MAGIC_OFFSET + 1]); > > return -1; > > } > > - > > +*/ > > + i=test_block_type(buffer); > > + > > + if(i==-1) { > > + printf ("bad MBR sector signature 0x%02x%02x\n", > > + buffer[DOS_PART_MAGIC_OFFSET], > > + buffer[DOS_PART_MAGIC_OFFSET + 1]); > > + return -1; > > + } > > + > > + if(i==DOS_PBR) > > + return -1; > > + > > /* Print all primary/logical partitions */ > > pt = (dos_partition_t *) (buffer + DOS_PART_TBL_OFFSET); > > for (i = 0; i < 4; i++, pt++) { > > @@ -193,6 +221,7 @@ static int get_partition_info_extended > (block_dev_desc_t *dev_desc, int ext_part > > info->blksz = 512; > > info->start = ext_part_sector + le32_to_int > (pt->start4); > > info->size = le32_to_int (pt->size4); > > + > > switch(dev_desc->if_type) { > > case IF_TYPE_IDE: > > case IF_TYPE_SATA: > > @@ -208,6 +237,13 @@ static int get_partition_info_extended > (block_dev_desc_t *dev_desc, int ext_part > > case IF_TYPE_DOC: > > sprintf ((char *)info->name, > "docd%c%d\n", 'a' + dev_desc->dev, part_num); > > break; > > + case IF_TYPE_MMC: > > + sprintf ((char *)info->name, > "mmc%c%d\n", 'a' + dev_desc->dev, part_num); > > + break; > > + case IF_TYPE_SD: > > + case IF_TYPE_SDHC: > > + sprintf ((char *)info->name, > "sd%c%d\n", 'a' + dev_desc->dev, part_num); > > + break; > > default: > > sprintf ((char *)info->name, > "xx%c%d\n", 'a' + dev_desc->dev, part_num); > > break; > > > > > > Regards, > Michal Simek
No virus found in this incoming message. Checked by AVG. Version: 8.0.100 / Virus Database: 270.3.0/1504 - Release Date: 15.6.2008 05:52
6177
Age (days ago)
6177
Last active (days ago)
0 comments
1 participants
participants (1)
-
Michal Simek