From: Takashi Iwai <tiwai@suse.de>
To: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
Cc: perex@perex.cz, bhelgaas@google.com, benoit.taine@lip6.fr,
arnd@arndb.de, opw-kernel@googlegroups.com,
alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sound: pci: pcxhr: convert timeval to ktime_t
Date: Tue, 28 Oct 2014 12:59:59 +0100 [thread overview]
Message-ID: <s5hsii88kw0.wl-tiwai@suse.de> (raw)
In-Reply-To: <20141028112955.GA2365@localhost.localdomain>
At Tue, 28 Oct 2014 13:29:56 +0200,
Aya Mahfouz wrote:
>
> This patch is concerned with migrating the time variables in the pcxhr
> module found in the sound driver. The changes are concerend with the
> y2038 problem where timeval will overflow in the year 2038. ktime_t
> was used instead of timeval to get the wall time. The difference
> is displayed now in nanoseconds instead of microseconds.
>
> Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal@gmail.com>
> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
It gets compile errors like below. Please submit a patch at least
after build testing.
thanks,
Takashi
===
sound/pci/pcxhr/pcxhr_core.c: In function ‘pcxhr_set_pipe_state’:
sound/pci/pcxhr/pcxhr_core.c:913:10: error: ‘start’ redeclared as different kind of symbol
ktime_t start, stop, diff;
^
sound/pci/pcxhr/pcxhr_core.c:907:27: note: previous definition of ‘start’ was here
int capture_mask, int start)
^
In file included from include/linux/printk.h:260:0,
from include/linux/kernel.h:13,
from include/linux/delay.h:10,
from sound/pci/pcxhr/pcxhr_core.c:23:
sound/pci/pcxhr/pcxhr_core.c:923:13: error: used union type value where scalar is required
start ? "START" : "STOP", audio_mask, state);
^
include/linux/dynamic_debug.h:87:9: note: in definition of macro ‘dynamic_dev_dbg’
##__VA_ARGS__); \
^
sound/pci/pcxhr/pcxhr_core.c:921:2: note: in expansion of macro ‘dev_dbg’
dev_dbg(&mgr->pci->dev,
^
sound/pci/pcxhr/pcxhr_core.c:924:6: error: used union type value where scalar is required
if (start) {
^
sound/pci/pcxhr/pcxhr_core.c:950:38: error: used union type value where scalar is required
if ((state & audio_mask) == (start ? audio_mask : 0))
^
sound/pci/pcxhr/pcxhr_core.c:958:6: error: wrong type argument to unary exclamation mark
if (!start) {
^
scripts/Makefile.build:257: recipe for target 'sound/pci/pcxhr/pcxhr_core.o' failed
> ---
> sound/pci/pcxhr/pcxhr.c | 10 ++++++----
> sound/pci/pcxhr/pcxhr_core.c | 10 ++++++----
> 2 files changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c
> index b854fc5..3f4607c 100644
> --- a/sound/pci/pcxhr/pcxhr.c
> +++ b/sound/pci/pcxhr/pcxhr.c
> @@ -711,8 +711,9 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr)
> int playback_mask = 0;
>
> #ifdef CONFIG_SND_DEBUG_VERBOSE
> - struct timeval my_tv1, my_tv2;
> - do_gettimeofday(&my_tv1);
> + ktime_t start, stop, diff;
> +
> + start = ktime_get();
> #endif
> mutex_lock(&mgr->setup_mutex);
>
> @@ -823,9 +824,10 @@ static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr)
> mutex_unlock(&mgr->setup_mutex);
>
> #ifdef CONFIG_SND_DEBUG_VERBOSE
> - do_gettimeofday(&my_tv2);
> + stop = ktime_get();
> + diff = ktime_sub(stop, start);
> dev_dbg(&mgr->pci->dev, "***TRIGGER START*** TIME = %ld (err = %x)\n",
> - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err);
> + (long)(ktime_to_ns(diff)), err);
> #endif
> }
>
> diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c
> index a584acb..be3c003 100644
> --- a/sound/pci/pcxhr/pcxhr_core.c
> +++ b/sound/pci/pcxhr/pcxhr_core.c
> @@ -910,8 +910,9 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask,
> int audio_mask;
>
> #ifdef CONFIG_SND_DEBUG_VERBOSE
> - struct timeval my_tv1, my_tv2;
> - do_gettimeofday(&my_tv1);
> + ktime_t start, stop, diff;
> +
> + start = ktime_get();
> #endif
> audio_mask = (playback_mask |
> (capture_mask << PCXHR_PIPE_STATE_CAPTURE_OFFSET));
> @@ -960,9 +961,10 @@ int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask,
> return err;
> }
> #ifdef CONFIG_SND_DEBUG_VERBOSE
> - do_gettimeofday(&my_tv2);
> + stop = ktime_get();
> + diff = ktime_sub(stop, start);
> dev_dbg(&mgr->pci->dev, "***SET PIPE STATE*** TIME = %ld (err = %x)\n",
> - (long)(my_tv2.tv_usec - my_tv1.tv_usec), err);
> + (long)(ktime_to_ns(diff)), err);
> #endif
> return 0;
> }
> --
> 1.9.3
>
next prev parent reply other threads:[~2014-10-28 12:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 11:29 Aya Mahfouz
2014-10-28 11:59 ` Takashi Iwai [this message]
2014-10-28 12:35 ` Aya Mahfouz
2014-10-28 12:41 ` Takashi Iwai
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=s5hsii88kw0.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=benoit.taine@lip6.fr \
--cc=bhelgaas@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mahfouz.saif.elyazal@gmail.com \
--cc=opw-kernel@googlegroups.com \
--cc=perex@perex.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®