diff options
Diffstat (limited to 'disk/part_mac.c')
-rw-r--r-- | disk/part_mac.c | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/disk/part_mac.c b/disk/part_mac.c index f3bc8dd..3952b8d 100644 --- a/disk/part_mac.c +++ b/disk/part_mac.c @@ -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) +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); @@ -51,8 +53,7 @@ int test_part_mac (block_dev_desc_t *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); } @@ -62,8 +63,7 @@ int test_part_mac (block_dev_desc_t *dev_desc) return (0); } - -void print_part_mac (block_dev_desc_t *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); @@ -105,16 +105,16 @@ void print_part_mac (block_dev_desc_t *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->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; } @@ -149,9 +149,10 @@ 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) { + if (blk_dread(dev_desc, 0, 1, (ulong *)ddb_p) != 1) { printf ("** Can't read Driver Desriptor Block **\n"); return (-1); } @@ -169,7 +170,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; @@ -179,16 +181,16 @@ static int part_mac_read_pdb (block_dev_desc_t *dev_desc, int part, mac_partitio * 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->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); } @@ -197,9 +199,9 @@ static int part_mac_read_pdb (block_dev_desc_t *dev_desc, int part, mac_partitio 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); } @@ -210,7 +212,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) +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); ALLOC_CACHE_ALIGN_BUFFER(mac_partition_t, mpart, 1); @@ -233,4 +236,11 @@ int get_partition_info_mac (block_dev_desc_t *dev_desc, int part, disk_partition return (0); } +U_BOOT_PART_TYPE(mac) = { + .name = "MAC", + .part_type = PART_TYPE_MAC, + .get_info = part_get_info_mac, + .print = part_print_mac, + .test = part_test_mac, +}; #endif |