On Mon, Aug 09, 2010 at 04:44:00PM -0400, Ben Gardiner wrote:
> +#if defined(CONFIG_CMD_MTDPARTS_SPREAD)
> +             s = strchr(argv[1], '.');
> +
> +             if (get_mtd_info(dev->id->type, dev->id->num, &mtd))
> +                     return 1;
> +#endif
> +
>               if ((dev_tmp = device_find(dev->id->type, dev->id->num)) == 
> NULL) {
> +#if defined(CONFIG_CMD_MTDPARTS_SPREAD)
> +                     if (s && !strcmp(s, ".spread")) {

No need for the strchr, just do "if (!strcmp(&argv[1][3], ".spread"))".

> +                             p = list_entry(dev->parts.next,
> +                                            struct part_info, link);
> +                             spread_partition(mtd, p, &next_offset);
> +
> +                             debug("increased %s to %d bytes\n", p->name,
> +                                                                 p->size);
> +                     }
> +#endif
>                       device_add(dev);
>               } else {
>                       /* merge new partition with existing ones*/
>                       p = list_entry(dev->parts.next, struct part_info, link);
> +#if defined(CONFIG_CMD_MTDPARTS_SPREAD)
> +                     if (s && !strcmp(s, ".spread")) {
> +                             spread_partition(mtd, p, &next_offset);
> +
> +                             debug("increased %s to %d bytes\n", p->name,
> +                                                                 p->size);
> +                     }
> +#endif

Don't duplicate this on both sides of the "if"; instead do something like:

p = list_entry(dev->parts.next...);

if (!strcmp(&argv[1][3], ".spread"))
        spread_partition(mtd, p, &next_offset);

if ((dev_tmp = ...) {
        device_add(dev);
} else if (part_add(dev_tmp, p)) {
        device_del(dev);
        return 1;
}

-Scott

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to