On Wed, 13 Nov 2019 17:51:57 +0100, Arnd Bergmann wrote:
On Wed, Nov 13, 2019 at 5:40 PM Takashi Iwai tiwai@suse.de wrote:
On Wed, 13 Nov 2019 15:32:44 +0100, Arnd Bergmann wrote:
We had discussed alternatives for this one last time, and decided to go with the solution I posted here. The main alternative would be to change the 'timespec' in snd_timer_tread to a fixed-length structure based on two 'long' members. This would avoid the need to match the command with the time_t type, but the cost would be requiring CLOCK_MONOTONIC timestamps to avoid the overflow, and changing all application source code that requires the type to be compatible with 'timespec'.
Fair enough.
One thing I forgot to mention: when we add/modify the ioctl or ABI, we need to increment the protocol version, e.g. SNDRV_PCM_VERSION to indicate user-space the supported ABI. Please change these in your next patches, too.
Just to confirm: this should be a simple one-line patch at the end of the series like
diff --git a/tools/include/uapi/sound/asound.h b/tools/include/uapi/sound/asound.h index df1153cea0b7..72e8380c6dcd 100644 --- a/include/uapi/sound/asound.h +++ b/include/uapi/sound/asound.h @@ -154,7 +154,7 @@ struct snd_hwdep_dsp_image {
*
*****************************************************************************/
-#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14) +#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
typedef unsigned long snd_pcm_uframes_t; typedef signed long snd_pcm_sframes_t;
right? Most other kernel interfaces have no version numbering, so I don't know what policy you have here.
I don't mind much about that, so it's up to you -- we can fold this change into the patch that actually adds or modifies the ioctl, too.
thanks,
Takashi