[alsa-devel] [alsa-lib][PATCH v2 0/3] timer/hwdep: update included headers with UAPI headers in recent kernel
Hi,
In this subsystem, interfaces between kernel/userspace are described in UAPI headers of kernel source. User space library (alsa-lib) includes this header as its code base. When developers update UAPI headers in development cycle of kernel, corresponding headers in alsa-lib should be updated synchronously.
The purpose of this patchset is to catch up recent UAPI header for userspace library. There're missing changes added at v4.7, v4.9 and v4.12 development period.
v2 changes: - Update commit description. - Reorder commits so that aligned according to date of corresponding code change.
Takashi Sakamoto (3): timer: obsolete legacy rtctimer instance hwdep: add Line6 USB series support hwdep: add support for MOTU FireWire series and RME Fireface series
include/hwdep.h | 5 ++++- include/sound/asound.h | 7 +++++-- include/timer.h | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-)
At v4.7 development, ALSA timer interface dropped device instance based on legacy rtctimer implementation. User space applications should not use the device instance.
This commit adds comments to notify a corresponding macro should not be used anymore.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- include/sound/asound.h | 2 +- include/timer.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/sound/asound.h b/include/sound/asound.h index 67bf49d..609cadb 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h @@ -672,7 +672,7 @@ enum {
/* global timers (device member) */ #define SNDRV_TIMER_GLOBAL_SYSTEM 0 -#define SNDRV_TIMER_GLOBAL_RTC 1 +#define SNDRV_TIMER_GLOBAL_RTC 1 /* unused */ #define SNDRV_TIMER_GLOBAL_HPET 2 #define SNDRV_TIMER_GLOBAL_HRTIMER 3
diff --git a/include/timer.h b/include/timer.h index 2803f53..32d9b89 100644 --- a/include/timer.h +++ b/include/timer.h @@ -112,7 +112,7 @@ typedef struct _snd_timer_tread { /** global timer - system */ #define SND_TIMER_GLOBAL_SYSTEM 0 /** global timer - RTC */ -#define SND_TIMER_GLOBAL_RTC 1 +#define SND_TIMER_GLOBAL_RTC 1 /* Obsoleted, due to enough legacy. */ /** global timer - HPET */ #define SND_TIMER_GLOBAL_HPET 2 /** global timer - HRTIMER */
Drivers for Line6 USB series was firstly added to staging directory at development period of v2.6.30 kernel. At v4.9 kernel development, they were moved to sound directory. The drivers include HwDep interface, while header in user space library has never been updated for an entry corresponding to the drivers.
This commit adds the entry.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- include/hwdep.h | 3 ++- include/sound/asound.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/hwdep.h b/include/hwdep.h index 2fe78cd..e09703c 100644 --- a/include/hwdep.h +++ b/include/hwdep.h @@ -76,8 +76,9 @@ typedef enum _snd_hwdep_iface { SND_HWDEP_IFACE_FW_OXFW, /**< Oxford OXFW970/971 based device */ SND_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */ SND_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */ + SND_HWDEP_IFACE_LINE6, /* Line6 USB processors */
- SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_FW_TASCAM /**< last known hwdep interface */ + SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_LINE6, /**< last known hwdep interface */ } snd_hwdep_iface_t;
/** open for reading */ diff --git a/include/sound/asound.h b/include/sound/asound.h index 609cadb..36d1681 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h @@ -106,9 +106,10 @@ enum { SNDRV_HWDEP_IFACE_FW_OXFW, /* Oxford OXFW970/971 based device */ SNDRV_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */ SNDRV_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */ + SNDRV_HWDEP_IFACE_LINE6, /* Line6 USB processors */
/* Don't forget to change the following: */ - SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_FW_TASCAM + SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_LINE6, };
struct snd_hwdep_info {
Drivers for MOTU FireWire series and RME Fireface series were newly added to v4.12 kernel. Like the other drivers in ALSA firewire stack, they also support HwDep interface.
This commit add entries for the drivers.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- include/hwdep.h | 4 +++- include/sound/asound.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/include/hwdep.h b/include/hwdep.h index e09703c..ac71368 100644 --- a/include/hwdep.h +++ b/include/hwdep.h @@ -77,8 +77,10 @@ typedef enum _snd_hwdep_iface { SND_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */ SND_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */ SND_HWDEP_IFACE_LINE6, /* Line6 USB processors */ + SND_HWDEP_IFACE_FW_MOTU, /* MOTU FireWire series */ + SND_HWDEP_IFACE_FW_FIREFACE, /* RME Fireface series */
- SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_LINE6, /**< last known hwdep interface */ + SND_HWDEP_IFACE_LAST = SND_HWDEP_IFACE_FW_FIREFACE, /**< last known hwdep interface */ } snd_hwdep_iface_t;
/** open for reading */ diff --git a/include/sound/asound.h b/include/sound/asound.h index 36d1681..fb8d7d7 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h @@ -107,9 +107,11 @@ enum { SNDRV_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */ SNDRV_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */ SNDRV_HWDEP_IFACE_LINE6, /* Line6 USB processors */ + SNDRV_HWDEP_IFACE_FW_MOTU, /* MOTU FireWire series */ + SNDRV_HWDEP_IFACE_FW_FIREFACE, /* RME Fireface series */
/* Don't forget to change the following: */ - SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_LINE6, + SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_FW_FIREFACE, };
struct snd_hwdep_info {
On Fri, 21 Apr 2017 17:27:58 +0200, Takashi Sakamoto wrote:
Hi,
In this subsystem, interfaces between kernel/userspace are described in UAPI headers of kernel source. User space library (alsa-lib) includes this header as its code base. When developers update UAPI headers in development cycle of kernel, corresponding headers in alsa-lib should be updated synchronously.
The purpose of this patchset is to catch up recent UAPI header for userspace library. There're missing changes added at v4.7, v4.9 and v4.12 development period.
v2 changes:
- Update commit description.
- Reorder commits so that aligned according to date of corresponding code change.
Takashi Sakamoto (3): timer: obsolete legacy rtctimer instance hwdep: add Line6 USB series support hwdep: add support for MOTU FireWire series and RME Fireface series
Applied all three patches now. Thanks.
Takashi
participants (2)
-
Takashi Iwai
-
Takashi Sakamoto