[U-Boot] [PATCH 2/2] dfu, nand: add medium specific polltimeout function
Pantelis Antoniou
panto at antoniou-consulting.com
Thu Apr 10 10:29:25 CEST 2014
Hi Marek,
On Apr 10, 2014, at 10:54 AM, Marek Vasut wrote:
> On Thursday, April 10, 2014 at 07:08:06 AM, Heiko Schocher wrote:
>> add a possibility to add a medium specific polltimeout
>> function. So it is possible to define different
>> poll timeouts.
>>
>> Used on nand medium, for setting the DFU_MANIFEST_POLL_TIMEOUT
>> only on nand ubi partitions, which is currently the only
>> usecase.
>>
>> Signed-off-by: Heiko Schocher <hs at denx.de>
>> Cc: Lukasz Majewski <l.majewski at samsung.com>
>> Cc: Kyungmin Park <kyungmin.park at samsung.com>
>> Cc: Marek Vasut <marex at denx.de>
>> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
>
> [...]
>
>> @@ -174,6 +174,17 @@ static void dnload_request_flush(struct usb_ep *ep,
>> struct usb_request *req) req->length, f_dfu->blk_seq_num);
>> }
>>
>> +static void dfu_set_poll_timeout_manifest(struct dfu_status *dstat,
>> + struct f_dfu *f_dfu)
>> +{
>> + struct dfu_entity *dfu = dfu_get_entity(f_dfu->altsetting);
>> +
>> + if (dfu->poll_timeout)
>> + dfu_set_poll_timeout(dstat, dfu->poll_timeout(dfu));
>> + else
>> + dfu_set_poll_timeout(dstat, DFU_MANIFEST_POLL_TIMEOUT);
>> +}
>
> Don't you think it'd be better (yet more intrusive) to have all the DFU users
> have default implementation of dfu->poll_timeout() ? Then you'd be able to avoid
> this if and even get rid of this dfu_set_poll_timeout_manifest() function.
>
Could work, but why not a simple accessor like this:
static inline unsigned int dfu_get_poll_timeout(struct dfu_entity *dfu)
{
return dfu->poll_timeout ? dfu->poll_timeout(dfu);
DFU_MANIFEST_POLL_TIMEOUT);
}
and dfu_set_poll_timeout(dstat, dfu_get_poll_timeout(dfu));
You even get the benefit of have a method to read the timeout value if we ever
needed sometime in the future.
>
> [...]
>
> Best regards,
> Marek Vasut
Regards
-- Pantelis
More information about the U-Boot
mailing list