From: Mathias Nyman <mathias.nyman-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Thierry Reding
<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jonathan Hunter
<jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Chunfeng Yun
<chunfeng.yun-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] usb: xhci: tegra: use time64_t for printing timestamp
Date: Fri, 20 Oct 2017 13:37:18 +0300 [thread overview]
Message-ID: <59E9D1DE.9070407@intel.com> (raw)
In-Reply-To: <20171020072006.4174886-1-arnd-r2nGTMty4D4@public.gmane.org>
On 20.10.2017 10:19, Arnd Bergmann wrote:
> The time_t type and time_to_tm() function are deprecated because
> of y2038 problems. In this driver, they are used to pretty-print
> the timestamp of the firmware build. This is fine as long as
> we don't get a firmware build past 2038.
>
> Converting to time64_t and time64_to_tm() avoids the deprecated
> interfaces and works until 2106, when the firmware-defined
> data structure overflows.
>
> Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> ---
> drivers/usb/host/xhci-tegra.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
> index 74436f8ca538..39b6e93130d3 100644
> --- a/drivers/usb/host/xhci-tegra.c
> +++ b/drivers/usb/host/xhci-tegra.c
> @@ -771,7 +771,7 @@ static int tegra_xusb_load_firmware(struct tegra_xusb *tegra)
> struct device *dev = tegra->dev;
> const struct firmware *fw;
> unsigned long timeout;
> - time_t timestamp;
> + time64_t timestamp;
> struct tm time;
> u64 address;
> u32 value;
> @@ -877,7 +877,7 @@ static int tegra_xusb_load_firmware(struct tegra_xusb *tegra)
> }
>
> timestamp = le32_to_cpu(header->fwimg_created_time);
> - time_to_tm(timestamp, 0, &time);
> + time64_to_tm(timestamp, 0, &time);
>
> dev_info(dev, "Firmware timestamp: %ld-%02d-%02d %02d:%02d:%02d UTC\n",
> time.tm_year + 1900, time.tm_mon + 1, time.tm_mday,
>
Thanks, adding to queue
-Mathias
WARNING: multiple messages have this Message-ID (diff)
From: Mathias Nyman <mathias.nyman@intel.com>
To: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>,
linux-usb@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb: xhci: tegra: use time64_t for printing timestamp
Date: Fri, 20 Oct 2017 13:37:18 +0300 [thread overview]
Message-ID: <59E9D1DE.9070407@intel.com> (raw)
In-Reply-To: <20171020072006.4174886-1-arnd@arndb.de>
On 20.10.2017 10:19, Arnd Bergmann wrote:
> The time_t type and time_to_tm() function are deprecated because
> of y2038 problems. In this driver, they are used to pretty-print
> the timestamp of the firmware build. This is fine as long as
> we don't get a firmware build past 2038.
>
> Converting to time64_t and time64_to_tm() avoids the deprecated
> interfaces and works until 2106, when the firmware-defined
> data structure overflows.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> drivers/usb/host/xhci-tegra.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
> index 74436f8ca538..39b6e93130d3 100644
> --- a/drivers/usb/host/xhci-tegra.c
> +++ b/drivers/usb/host/xhci-tegra.c
> @@ -771,7 +771,7 @@ static int tegra_xusb_load_firmware(struct tegra_xusb *tegra)
> struct device *dev = tegra->dev;
> const struct firmware *fw;
> unsigned long timeout;
> - time_t timestamp;
> + time64_t timestamp;
> struct tm time;
> u64 address;
> u32 value;
> @@ -877,7 +877,7 @@ static int tegra_xusb_load_firmware(struct tegra_xusb *tegra)
> }
>
> timestamp = le32_to_cpu(header->fwimg_created_time);
> - time_to_tm(timestamp, 0, &time);
> + time64_to_tm(timestamp, 0, &time);
>
> dev_info(dev, "Firmware timestamp: %ld-%02d-%02d %02d:%02d:%02d UTC\n",
> time.tm_year + 1900, time.tm_mon + 1, time.tm_mday,
>
Thanks, adding to queue
-Mathias
next prev parent reply other threads:[~2017-10-20 10:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-20 7:19 [PATCH] usb: xhci: tegra: use time64_t for printing timestamp Arnd Bergmann
2017-10-20 7:19 ` Arnd Bergmann
[not found] ` <20171020072006.4174886-1-arnd-r2nGTMty4D4@public.gmane.org>
2017-10-20 10:37 ` Mathias Nyman [this message]
2017-10-20 10:37 ` Mathias Nyman
-- strict thread matches above, loose matches on Subject: below --
2017-11-02 14:34 Arnd Bergmann
2017-11-02 14:34 ` Arnd Bergmann
2017-11-02 16:17 ` Thierry Reding
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=59E9D1DE.9070407@intel.com \
--to=mathias.nyman-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=chunfeng.yun-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.