Skip to content

Commit 7996f1a

Browse files
authored
Merge pull request #471 from akloniex/redefine-abi-version
abi: Redefine SOF_ABI_VERSION to allow for backward compatibility
2 parents bad7b99 + 62ad4b8 commit 7996f1a

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

src/include/uapi/abi.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,21 @@
3838
#define __INCLUDE_UAPI_ABI_H__
3939

4040
/** \brief SOF ABI version number. */
41-
#define SOF_ABI_VERSION 1
41+
#define SOF_ABI_VER(major, minor, micro) \
42+
(((major)<<8)|((minor)<<4)|(micro))
43+
#define SOF_ABI_VERSION_MAJOR(version) (((version)>>8) & 0xff)
44+
#define SOF_ABI_VERSION_MINOR(version) (((version)>>4) & 0xf)
45+
#define SOF_ABI_VERSION_MICRO(version) ((version) & 0xf)
46+
#define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver, client_ver) \
47+
(SOF_ABI_VERSION_MAJOR(sof_ver) != SOF_ABI_VERSION_MAJOR(client_ver) ||\
48+
(SOF_ABI_VERSION_MAJOR(sof_ver) == SOF_ABI_VERSION_MAJOR(client_ver) &&\
49+
SOF_ABI_VERSION_MINOR(sof_ver) != SOF_ABI_VERSION_MINOR(client_ver)))
50+
51+
#define SOF_ABI_MAJOR 1
52+
#define SOF_ABI_MINOR 0
53+
#define SOF_ABI_MICRO 0
54+
55+
#define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_MICRO)
4256

4357
/** \brief SOF ABI magic number "SOF\0". */
4458
#define SOF_ABI_MAGIC 0x00464F53

0 commit comments

Comments
 (0)