[U-Boot] [PATCH v2] wdt: Update uclass to make clear that the timeout is in ms
Simon Glass
sjg at chromium.org
Sun Aug 13 21:35:15 UTC 2017
Hi Maxim,
On 7 August 2017 at 11:54, Maxim Sloyko <maxims at google.com> wrote:
> On Fri, Aug 4, 2017 at 2:48 PM, Simon Glass <sjg at chromium.org> wrote:
>> From: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
>>
>> Convert name to show explicitly that we are using milliseconds. For a
>> watchdog timer this is precise enough.
>>
>> No functional change intended.
>>
>> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> Changes in v2:
>> - Use milliseconds since microseconds seems too fine a control
>> - Update commit message to suit
>>
>> drivers/watchdog/wdt-uclass.c | 4 ++--
>> include/wdt.h | 8 ++++----
>> 2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c
>> index bb9ae80866..8a30f024fd 100644
>> --- a/drivers/watchdog/wdt-uclass.c
>> +++ b/drivers/watchdog/wdt-uclass.c
>> @@ -13,14 +13,14 @@
>>
>> DECLARE_GLOBAL_DATA_PTR;
>>
>> -int wdt_start(struct udevice *dev, u64 timeout, ulong flags)
>> +int wdt_start(struct udevice *dev, u64 timeout_ms, ulong flags)
>> {
>> const struct wdt_ops *ops = device_get_ops(dev);
>>
>> if (!ops->start)
>> return -ENOSYS;
>>
>> - return ops->start(dev, timeout, flags);
>> + return ops->start(dev, timeout_ms, flags);
>> }
>>
>> int wdt_stop(struct udevice *dev)
>> diff --git a/include/wdt.h b/include/wdt.h
>> index 0b5f05851a..9b90fbeeb3 100644
>> --- a/include/wdt.h
>> +++ b/include/wdt.h
>> @@ -21,12 +21,12 @@
>> * Start the timer
>> *
>> * @dev: WDT Device
>> - * @timeout: Number of ticks before timer expires
>> + * @timeout_ms: Number of ticks (milliseconds) before timer expires
>
> These are not the same and this is definitely a functional change. The
> length of a single tick depends on frequency of the clock that feeds
> WDT. It might not be the same as 1/SYS_HZ. For example ast_wdt driver
> uses 1MHz clock, so this parameter means microseconds for it.
OK I see. Then the current code is doubly confusing, because ticks has
a certain meaning in U-Boot and we cannot have the WDT using a
different meaning.
This patch changes / clarifies the API to indicate that the time is in
ms. Can we update existing drivers to honour that?
>
>> * @flags: Driver specific flags. This might be used to specify
>> * which action needs to be executed when the timer expires
>> * @return: 0 if OK, -ve on error
>> */
>> -int wdt_start(struct udevice *dev, u64 timeout, ulong flags);
>> +int wdt_start(struct udevice *dev, u64 timeout_ms, ulong flags);
>>
>> /*
>> * Stop the timer, thus disabling the Watchdog. Use wdt_start to start it again.
>> @@ -67,12 +67,12 @@ struct wdt_ops {
>> * Start the timer
>> *
>> * @dev: WDT Device
>> - * @timeout: Number of ticks before the timer expires
>> + * @timeout_ms: Number of ticks (milliseconds) before the timer expires
>> * @flags: Driver specific flags. This might be used to specify
>> * which action needs to be executed when the timer expires
>> * @return: 0 if OK, -ve on error
>> */
>> - int (*start)(struct udevice *dev, u64 timeout, ulong flags);
>> + int (*start)(struct udevice *dev, u64 timeout_ms, ulong flags);
>> /*
>> * Stop the timer
>> *
>> --
>> 2.14.0.rc1.383.gd1ce394fe2-goog
>>
>
>
>
> --
> Maxim Sloyko
Regards,
Simon
More information about the U-Boot
mailing list