[U-Boot] [PATCH v2] wdt: Update uclass to make clear that the timeout is in ms

From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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 * @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 *

On 04 Aug 2017, at 23:48, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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
Should this not just be ‘number of milliseconds’ (as this would otherwise equate ticks and milliseconds, which don’t necessarily need to be the same)?
- @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
See above.
* @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
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

+Tom
Hi Philipp,
On 4 August 2017 at 16:21, Dr. Philipp Tomsich philipp.tomsich@theobroma-systems.com wrote:
On 04 Aug 2017, at 23:48, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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
Should this not just be ‘number of milliseconds’ (as this would otherwise equate ticks and milliseconds, which don’t necess
Iarily
need to be the same)?
I believe they are the same. We used to have a setting for it (CONFIG_SYS_HZ I think) but now everything is in milliseconds. See for example get_timer().
- @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
See above.
* @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
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Regards, Simon

On 05 Aug 2017, at 00:30, Simon Glass sjg@chromium.org wrote:
+Tom
Hi Philipp,
On 4 August 2017 at 16:21, Dr. Philipp Tomsich philipp.tomsich@theobroma-systems.com wrote:
On 04 Aug 2017, at 23:48, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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
Should this not just be ‘number of milliseconds’ (as this would otherwise equate ticks and milliseconds, which don’t necessarily need to be the same)?
I believe they are the same. We used to have a setting for it (CONFIG_SYS_HZ I think) but now everything is in milliseconds. See for example get_timer().
I had thought of my remark more as a nitpick. Bit it seems there’s more to it, after all: at least lib/time.c still treats ’ticks’ and ‘milliseconds' as separate concepts:
uint64_t __weak notrace get_ticks(void) { unsigned long now = timer_read_counter();
/* increment tbu if tbl has rolled over */ if (now < gd->timebase_l) gd->timebase_h++; gd->timebase_l = now; return ((uint64_t)gd->timebase_h << 32) | gd->timebase_l; }
/* Returns time in milliseconds */ static uint64_t notrace tick_to_time(uint64_t tick) { ulong div = get_tbclk();
tick *= CONFIG_SYS_HZ; do_div(tick, div); return tick; }
- @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
See above.
* @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);
/* * Stop the timer *int (*start)(struct udevice *dev, u64 timeout_ms, ulong flags);
-- 2.14.0.rc1.383.gd1ce394fe2-goog
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Regards, Simon

Hi,
On 4 August 2017 at 16:37, Dr. Philipp Tomsich philipp.tomsich@theobroma-systems.com wrote:
On 05 Aug 2017, at 00:30, Simon Glass sjg@chromium.org wrote:
+Tom
Hi Philipp,
On 4 August 2017 at 16:21, Dr. Philipp Tomsich philipp.tomsich@theobroma-systems.com wrote:
On 04 Aug 2017, at 23:48, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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
Should this not just be ‘number of milliseconds’ (as this would otherwise equate ticks and milliseconds, which don’t necessarily need to be the same)?
I believe they are the same. We used to have a setting for it (CONFIG_SYS_HZ I think) but now everything is in milliseconds. See for example get_timer().
I had thought of my remark more as a nitpick. Bit it seems there’s more to it, after all: at least lib/time.c still treats ’ticks’ and ‘milliseconds' as separate concepts:
uint64_t __weak notrace get_ticks(void) { unsigned long now = timer_read_counter();
/* increment tbu if tbl has rolled over */ if (now < gd->timebase_l) gd->timebase_h++; gd->timebase_l = now; return ((uint64_t)gd->timebase_h << 32) | gd->timebase_l;
}
/* Returns time in milliseconds */ static uint64_t notrace tick_to_time(uint64_t tick) { ulong div = get_tbclk();
tick *= CONFIG_SYS_HZ; do_div(tick, div); return tick;
}
But see lib/Kconfig:
config SYS_HZ int default 1000 help The frequency of the timer returned by get_timer(). get_timer() must operate in milliseconds and this option must be set to 1000.
- @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
See above.
* @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);
/* * Stop the timer *int (*start)(struct udevice *dev, u64 timeout_ms, ulong flags);
-- 2.14.0.rc1.383.gd1ce394fe2-goog
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Regards, Simon

On Sat, Aug 5, 2017 at 5:48 AM, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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(-)
Reviewed-by: Bin Meng bmeng.cn@gmail.com

On Fri, Aug 4, 2017 at 2:48 PM, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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.
- @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

Hi Maxim,
On 7 August 2017 at 11:54, Maxim Sloyko maxims@google.com wrote:
On Fri, Aug 4, 2017 at 2:48 PM, Simon Glass sjg@chromium.org wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@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

On Fri, Aug 04, 2017 at 03:48:28PM -0600, Simon Glass wrote:
From: Andy Shevchenko andriy.shevchenko@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@linux.intel.com Signed-off-by: Simon Glass sjg@chromium.org Reviewed-by: Bin Meng bmeng.cn@gmail.com
Applied to u-boot/master, thanks!
participants (5)
-
Bin Meng
-
Dr. Philipp Tomsich
-
Maxim Sloyko
-
Simon Glass
-
Tom Rini