[U-Boot] [PATCH v4] dfu, nand, ubi: add partubi alt settings for updating ubi partition

Heiko Schocher hs at denx.de
Thu Jul 25 06:34:42 CEST 2013


Hello Scott,

Am 24.07.2013 21:08, schrieb Scott Wood:
> On 07/23/2013 11:30:55 PM, Heiko Schocher wrote:
>> Hello Scott,
>>
>> Am 24.07.2013 01:22, schrieb Scott Wood:
>>> On 07/18/2013 11:32:14 PM, Heiko Schocher wrote:
>>>> +static int dfu_flush_medium_nand(struct dfu_entity *dfu)
>>>> +{
>>>> + int ret = 0;
>>>> +
>>>> + /* in case of ubi partition, erase rest of the partition */
>>>> + if (dfu->data.nand.ubi) {
>>>> + nand_info_t *nand;
>>>> + nand_erase_options_t opts;
>>>> +
>>>> + if (nand_curr_device < 0 ||
>>>> + nand_curr_device >= CONFIG_SYS_MAX_NAND_DEVICE ||
>>>> + !nand_info[nand_curr_device].name) {
>>>> + printf("%s: invalid nand device\n", __func__);
>>>> + return -1;
>>>> + }
>>>> +
>>>> + nand = &nand_info[nand_curr_device];
>>>> +
>>>> + memset(&opts, 0, sizeof(opts));
>>>> + opts.offset = dfu->data.nand.start + dfu->offset +
>>>> + dfu->bad_skip;
>>>> + opts.length = dfu->data.nand.start +
>>>> + dfu->data.nand.size - opts.offset;
>>>
>>> opts.length is equivalent to dfu->data.nand.size - dfu->offset - dfu->bad_skip. Is this correct? dfu->data.nand.size includes dfu->offset, but dfu->data.nand.start doesn't?
>>
>> Yes, it is correct!
>
> No need to shout...

Sorry, I did not intent to shout ...

>> I could not parse "dfu->data.nand.size includes dfu->offset, but
>> dfu->data.nand.start doesn't" ... What do you mean?
>
> I think my confusion was over what dfu->offset and nand.start represent. If nand.start/nand.size describe the raw partition, and dfu->offset is the offset into that partition that the image starts at, then this looks OK.

Ok, I send an update of this patch for your other comment, thanks.

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list