Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1226645 > unrolled thread
| Started by | WEN Pingbo <pingbo.wen@linaro.org> |
|---|---|
| First post | 2015-09-17 05:20 +0200 |
| Last post | 2015-09-17 13:50 +0200 |
| Articles | 5 — 4 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH V2] dummy_hcd: replace timeval with timespec64 WEN Pingbo <pingbo.wen@linaro.org> - 2015-09-17 05:20 +0200
Re: [PATCH V2] dummy_hcd: replace timeval with timespec64 Arnd Bergmann <arnd@arndb.de> - 2015-09-17 10:20 +0200
[PATCH V3] dummy_hcd: replace timeval with timespec64 WEN Pingbo <pingbo.wen@linaro.org> - 2015-09-18 05:00 +0200
Re: [PATCH V2] dummy_hcd: replace timeval with timespec64 Peter Stuge <peter@stuge.se> - 2015-09-17 12:00 +0200
Re: [PATCH V2] dummy_hcd: replace timeval with timespec64 Pingbo Wen <pingbo.wen@linaro.org> - 2015-09-17 13:50 +0200
| From | WEN Pingbo <pingbo.wen@linaro.org> |
|---|---|
| Date | 2015-09-17 05:20 +0200 |
| Subject | [PATCH V2] dummy_hcd: replace timeval with timespec64 |
| Message-ID | <q9xTP-7ER-7@gated-at.bofh.it> |
The millisecond of the last second will be normal if tv_sec is
overflowed. But for y2038 consistency and demonstration purpose,
and avoiding further risks, we need to remove 'timeval' in this
driver, to avoid similair problems.
V2 Updates:
- using monotonic time here by replacing getnstimeofday() with
ktime_get_ts64(), to avoid leap second issues. The frame time in USB
is always 1ms, no matter what speed, so ktime_get_ts64() have enough
resolution to cover this.
- using NSEC_PER_MSEC instead of hard code.
Signed-off-by: Pingbo Wen <pingbo.wen@linaro.org>
Cc: Y2038 <y2038@lists.linaro.org>
Cc: linux-kernel@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: WEN Pingbo <pingbo.wen@linaro.org>
---
drivers/usb/gadget/udc/dummy_hcd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
index 1379ad4..6d1ed35 100644
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
@@ -833,10 +833,10 @@ static const struct usb_ep_ops dummy_ep_ops = {
/* there are both host and device side versions of this call ... */
static int dummy_g_get_frame(struct usb_gadget *_gadget)
{
- struct timeval tv;
+ struct timespec64 tv;
- do_gettimeofday(&tv);
- return tv.tv_usec / 1000;
+ ktime_get_ts64(&tv);
+ return tv.tv_nsec / NSEC_PER_MSEC;
}
static int dummy_wakeup(struct usb_gadget *_gadget)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Arnd Bergmann <arnd@arndb.de> |
|---|---|
| Date | 2015-09-17 10:20 +0200 |
| Message-ID | <q9CAa-65P-25@gated-at.bofh.it> |
| In reply to | #1226645 |
On Thursday 17 September 2015 11:09:49 WEN Pingbo wrote: > The millisecond of the last second will be normal if tv_sec is > overflowed. But for y2038 consistency and demonstration purpose, > and avoiding further risks, we need to remove 'timeval' in this > driver, to avoid similair problems. > > V2 Updates: > - using monotonic time here by replacing getnstimeofday() with > ktime_get_ts64(), to avoid leap second issues. The frame time in USB > is always 1ms, no matter what speed, so ktime_get_ts64() have enough > resolution to cover this. > - using NSEC_PER_MSEC instead of hard code. > > Signed-off-by: Pingbo Wen <pingbo.wen@linaro.org> > Cc: Y2038 <y2038@lists.linaro.org> > Cc: linux-kernel@vger.kernel.org > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Felipe Balbi <balbi@ti.com> > Signed-off-by: WEN Pingbo <pingbo.wen@linaro.org> > The patch looks good to me now, Reviewed-by: Arnd Bergmann <arnd@arndb.de> Regarding the changelog, I notice you have a duplicate Signed-off-by line, one of the two should be removed. Also, The "V2 update" portion should be split into the part that you want in the changelog, without the '-' bullet points (in this case, the explanation for monontonic time), and the purely informational part that makes sense for the review but not for the git history (what changes were done against previous versions of the patch), which should go below the '---' line under the Signed-off-by chain, so it gets removed when imported to git. If Felipe decides to do these changes himself when he applies the patch, that's fine, otherwise please send the patch again as 'V3' tomorrow. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | WEN Pingbo <pingbo.wen@linaro.org> |
|---|---|
| Date | 2015-09-18 05:00 +0200 |
| Subject | [PATCH V3] dummy_hcd: replace timeval with timespec64 |
| Message-ID | <q9U42-6wJ-7@gated-at.bofh.it> |
| In reply to | #1226741 |
The millisecond of the last second will be normal if tv_sec is
overflowed. But for y2038 consistency and demonstration purpose,
and avoiding further risks, we need to remove 'timeval' in this
driver, to avoid similair problems.
Signed-off-by: Pingbo Wen <pingbo.wen@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
---
V3 Updates:
- using ts64 variable name to avoid confusion
V2 Updates:
- using monotonic time here by replacing getnstimeofday() with
ktime_get_ts64(), to avoid leap second issues. The frame time in USB
is always 1ms, no matter what speed, so ktime_get_ts64() have enough
resolution to cover this.
- using NSEC_PER_MSEC instead of hard code.
drivers/usb/gadget/udc/dummy_hcd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
index 1379ad4..2ac9a13 100644
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
@@ -833,10 +833,10 @@ static const struct usb_ep_ops dummy_ep_ops = {
/* there are both host and device side versions of this call ... */
static int dummy_g_get_frame(struct usb_gadget *_gadget)
{
- struct timeval tv;
+ struct timespec64 ts64;
- do_gettimeofday(&tv);
- return tv.tv_usec / 1000;
+ ktime_get_ts64(&ts64);
+ return ts64.tv_nsec / NSEC_PER_MSEC;
}
static int dummy_wakeup(struct usb_gadget *_gadget)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Peter Stuge <peter@stuge.se> |
|---|---|
| Date | 2015-09-17 12:00 +0200 |
| Message-ID | <q9E8W-8lc-21@gated-at.bofh.it> |
| In reply to | #1226645 |
WEN Pingbo wrote:
> +++ b/drivers/usb/gadget/udc/dummy_hcd.c
> @@ -833,10 +833,10 @@ static const struct usb_ep_ops dummy_ep_ops = {
> /* there are both host and device side versions of this call ... */
> static int dummy_g_get_frame(struct usb_gadget *_gadget)
> {
> - struct timeval tv;
> + struct timespec64 tv;
tv is very often used for timeval structs.
I suggest also changing the variable name, for example to ts, to
avoid some possible confusion.
//Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Pingbo Wen <pingbo.wen@linaro.org> |
|---|---|
| Date | 2015-09-17 13:50 +0200 |
| Message-ID | <q9FRq-2rZ-35@gated-at.bofh.it> |
| In reply to | #1226831 |
On Thursday, September 17, 2015 05:59 PM, Peter Stuge wrote:
> WEN Pingbo wrote:
>> +++ b/drivers/usb/gadget/udc/dummy_hcd.c
>> @@ -833,10 +833,10 @@ static const struct usb_ep_ops dummy_ep_ops = {
>> /* there are both host and device side versions of this call ... */
>> static int dummy_g_get_frame(struct usb_gadget *_gadget)
>> {
>> - struct timeval tv;
>> + struct timespec64 tv;
>
> tv is very often used for timeval structs.
>
> I suggest also changing the variable name, for example to ts, to
> avoid some possible confusion.
>
Hi Peter,
Thanks for pointing it out, I will fix it in next version.
Pingbo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web