Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp27295ybl; Wed, 11 Dec 2019 13:23:03 -0800 (PST) X-Google-Smtp-Source: APXvYqwSTF0Fjyztr/D7/TQ+ophejd7d572CGDWJBc3Y3vPtpy563l8afZqm3ZtQjq3mzB/L+cKN X-Received: by 2002:a05:6830:2001:: with SMTP id e1mr3842378otp.97.1576099383349; Wed, 11 Dec 2019 13:23:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576099383; cv=none; d=google.com; s=arc-20160816; b=uzHMu0N+nKGo0RIc30IQ302HmrkMzQ1SjrraR0Ix2JzweLtoWWyDFtUnJaCtnWURLj 5U8ibO6yzY8VVT6r8qtBUiPQ+6gSVc0PQlRnLW3E85YpB/jRZMxsIyDYPGv4d76GZsP2 Sqj4cgPsnrj+qRBFgg/fFMwtXj8GH5veIcAcB0tCPYBtXJN2h5mpr+2gKrE8CdfYOsJt iqa6Nlp0aMO9ae5DDLvGISp9XBdApEI7d3k7eFIFmkIkXlWgJZ988KsjopRiMBmvb5Kh dTU/rwFXPNIzSGpbSSXqLpocvBbByz8e6jg+SOZ9Ng5ePf+lj5mxIvKCKk8KSZAWCFik 5tfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=PaTEP3yqvbxAypv2YEbMrKUhYrMnW93taUK6TvpQcs8=; b=fl6HLdOUGeOTnL31eFSTYMQeNqtqnj3h3u1b8PTVMo7F/a6gnzGt09ZAMlH57WnSjI kuYIpvXfBGwm8uJjPWrQkpf4lZWfWNjO+QxJ3/3sCzEKUrSMcmNobjDamzJdVYvQzAnQ v+8bBvzvpDUlUf99sfNViCgqEIxaonAzkD2Eymf/zDm9fEL0tZA7EncB6DIT2i5JIVmA skCvCrAKzQ43YWvi9+gMQJ7xksM94EqWibSluEEhMCT3ghkuTXbjuyHK7K02b02DOo8t V4rA2B03mNgtgnrJpLUSslJhd2aU+m6cUAy03oYNN2FXTws0Z14H7XhietRk1fY0Gz8P 5b2Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l4si1898578otq.55.2019.12.11.13.22.48; Wed, 11 Dec 2019 13:23:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727045AbfLKVVN (ORCPT + 99 others); Wed, 11 Dec 2019 16:21:13 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:40411 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726841AbfLKVUv (ORCPT ); Wed, 11 Dec 2019 16:20:51 -0500 Received: from threadripper.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.145]) with ESMTPA (Nemesis) id 1MhCq4-1i2E1j40qQ-00eMD8; Wed, 11 Dec 2019 22:20:34 +0100 From: Arnd Bergmann To: alsa-devel@alsa-project.org, Takashi Iwai Cc: Baolin Wang , y2038@lists.linaro.org, linux-kernel@vger.kernel.org, Jaroslav Kysela , Mark Brown , Arnd Bergmann Subject: [PATCH v7 9/9] ALSA: bump uapi version numbers Date: Wed, 11 Dec 2019 22:20:25 +0100 Message-Id: <20191211212025.1981822-10-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20191211212025.1981822-1-arnd@arndb.de> References: <20191211212025.1981822-1-arnd@arndb.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:lCktzJYozNs3B0kWxyrFoZnS1JrDshoD0BgAOOtPca5RzXgAQmc l2W4MPeCpp+inIq/7xjx/JNBcdZMsOMO+ZGxkgXmmlTdZIz4PmlxmfS9CnXtK5JOYnXIzNl 7hd+IjJQcFknL4nQjrbDyV6y+M1TgsPkdrQKscsHLB8MBvVeNLTPTo0P/axUvyUXy0JEzPV QEBxYIL+LVVq/qBET8lWQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Me9XM8idYBw=:PpSHMQCjMCOePdCjSzUNcb XIhHkC5twEGrwaTXmoAViaEsJuuZsIwshSMm6rS69sQgmCDyGt347t9xcufhQOdjfPVY5Lz5X VvOeVZRHdH9iS7YdcUMpGvcci0+u35WxvX5V6wzI810OhowCUd4oAh7oD2pGuiCTQF6buCV9q ZRh64e0TzMHnXVJnR5S5K1/g2IWA8VNYj+72lmzR7Nce+Ne3nE86anPtQeOdse93DqM4VFsAl m/IV/o+vOscmgzwqbmLRs1Rcfen/AR8FY6d/vIF+v5VkFhRRJTBcW3s44CEvuJsXZBT4VbH+9 XZr8p8C2stni19yy6007gcRA8Ttlx68V6bdLnBhu/1jAvn5ESFo/zuM6FlOkrNm6/MkO2Y8wv UuLSwXT0eZydx8d9jRuZH/sO5Asdec0mcNmUFI/VXq8MsXNOcQDqg19mG1EEh7NbFKXcM+uaJ pqRduztWV0RSwx6a9PrYCy9/5YpbGrYsv3/+uEJaTjyMnXfZ63C6ErvnlwJWleH1OMj9fiqZE bJAZE0t/nIFNdJCxk1U4WKdfC7fLxv8Vum1nvTVpgztuyit5L1/VNyQRy31W/cjm4d5/ngM/8 6usvnt3rvtp/svkTjBTrza+o2wYrCph66B4WcQjZ7Xe3xfbYqyq20+pHlHlh0lmJSyZfPiXzc fgoXbV1z4mRKNcEgHaIatcBTzDEKtPY+2/XblOWVSjYGc9m2zO6TErjus1qUC9Fm5o3rRXPwL 6XwPGoLyRME5cZcqzCO+7NN1Emwk6/vuNHRXJIODICPF50HXVowfoimva+aG87VWGVS4K0YkK Hk2qQswi1SjfY5SvMz+DoN9/i/AayNLXUfflLc3jFM4e9W/ceY7JAdvRhJd7AQDrGHxzz8G1I Pc5XxChsunG7YtGvMWHA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Change SNDRV_PCM_VERSION, SNDRV_RAWMIDI_VERSION and SNDRV_TIMER_VERSION to indicate the addition of the time64 version of the mmap interface and these ioctl commands: SNDRV_PCM_IOCTL_SYNC SNDRV_RAWMIDI_IOCTL_STATUS SNDRV_PCM_IOCTL_STATUS SNDRV_PCM_IOCTL_STATUS_EXT SNDRV_TIMER_IOCTL_TREAD SNDRV_TIMER_IOCTL_STATUS 32-bit applications built with 64-bit time_t require both the headers and the running kernel to support at least the new API version. When built with earlier kernel headers, some of these may not work correctly, so applications are encouraged to fail compilation like #if SNDRV_PCM_VERSION < SNDRV_PROTOCOL_VERSION(2, 0, 15) extern int __fail_build_for_time_64[sizeof(long) - sizeof(time_t)]; #endif or provide their own updated copy of the header file. At runtime, the interface is unchanged for 32-bit time_t, but new kernels are required to work with user compiled with 64-bit time_t. A runtime check can be used to detect old kernel versions and warn about those. Signed-off-by: Arnd Bergmann --- include/uapi/sound/asound.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/uapi/sound/asound.h b/include/uapi/sound/asound.h index df9983e7ead5..e6a958b8aff1 100644 --- a/include/uapi/sound/asound.h +++ b/include/uapi/sound/asound.h @@ -156,7 +156,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; @@ -710,7 +710,7 @@ enum { * Raw MIDI section - /dev/snd/midi?? */ -#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0) +#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1) enum { SNDRV_RAWMIDI_STREAM_OUTPUT = 0, @@ -766,7 +766,7 @@ struct snd_rawmidi_status { * Timer section - /dev/snd/timer */ -#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6) +#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7) enum { SNDRV_TIMER_CLASS_NONE = -1, -- 2.20.0