[ALSA] Change some timer ioctls due to confliction
Timer Midlevel,ALSA Core Change values of some timer ioctls to avoid confliction with FIO* ioctls. The protocol version is increased to indicate this change. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
15790a6be1
commit
8c50b37c04
3 changed files with 21 additions and 5 deletions
|
@ -560,7 +560,7 @@ enum {
|
||||||
* Timer section - /dev/snd/timer
|
* Timer section - /dev/snd/timer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 3)
|
#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 4)
|
||||||
|
|
||||||
enum sndrv_timer_class {
|
enum sndrv_timer_class {
|
||||||
SNDRV_TIMER_CLASS_NONE = -1,
|
SNDRV_TIMER_CLASS_NONE = -1,
|
||||||
|
@ -673,10 +673,11 @@ enum {
|
||||||
SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11, struct sndrv_timer_info),
|
SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11, struct sndrv_timer_info),
|
||||||
SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12, struct sndrv_timer_params),
|
SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12, struct sndrv_timer_params),
|
||||||
SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14, struct sndrv_timer_status),
|
SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14, struct sndrv_timer_status),
|
||||||
SNDRV_TIMER_IOCTL_START = _IO('T', 0x20),
|
/* The following four ioctls are changed since 1.0.9 due to confliction */
|
||||||
SNDRV_TIMER_IOCTL_STOP = _IO('T', 0x21),
|
SNDRV_TIMER_IOCTL_START = _IO('T', 0xa0),
|
||||||
SNDRV_TIMER_IOCTL_CONTINUE = _IO('T', 0x22),
|
SNDRV_TIMER_IOCTL_STOP = _IO('T', 0xa1),
|
||||||
SNDRV_TIMER_IOCTL_PAUSE = _IO('T', 0x23),
|
SNDRV_TIMER_IOCTL_CONTINUE = _IO('T', 0xa2),
|
||||||
|
SNDRV_TIMER_IOCTL_PAUSE = _IO('T', 0xa3),
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sndrv_timer_read {
|
struct sndrv_timer_read {
|
||||||
|
|
|
@ -1690,6 +1690,13 @@ static int snd_timer_user_pause(struct file *file)
|
||||||
return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0;
|
return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum {
|
||||||
|
SNDRV_TIMER_IOCTL_START_OLD = _IO('T', 0x20),
|
||||||
|
SNDRV_TIMER_IOCTL_STOP_OLD = _IO('T', 0x21),
|
||||||
|
SNDRV_TIMER_IOCTL_CONTINUE_OLD = _IO('T', 0x22),
|
||||||
|
SNDRV_TIMER_IOCTL_PAUSE_OLD = _IO('T', 0x23),
|
||||||
|
};
|
||||||
|
|
||||||
static long snd_timer_user_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
static long snd_timer_user_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||||
{
|
{
|
||||||
snd_timer_user_t *tu;
|
snd_timer_user_t *tu;
|
||||||
|
@ -1734,12 +1741,16 @@ static long snd_timer_user_ioctl(struct file *file, unsigned int cmd, unsigned l
|
||||||
case SNDRV_TIMER_IOCTL_STATUS:
|
case SNDRV_TIMER_IOCTL_STATUS:
|
||||||
return snd_timer_user_status(file, argp);
|
return snd_timer_user_status(file, argp);
|
||||||
case SNDRV_TIMER_IOCTL_START:
|
case SNDRV_TIMER_IOCTL_START:
|
||||||
|
case SNDRV_TIMER_IOCTL_START_OLD:
|
||||||
return snd_timer_user_start(file);
|
return snd_timer_user_start(file);
|
||||||
case SNDRV_TIMER_IOCTL_STOP:
|
case SNDRV_TIMER_IOCTL_STOP:
|
||||||
|
case SNDRV_TIMER_IOCTL_STOP_OLD:
|
||||||
return snd_timer_user_stop(file);
|
return snd_timer_user_stop(file);
|
||||||
case SNDRV_TIMER_IOCTL_CONTINUE:
|
case SNDRV_TIMER_IOCTL_CONTINUE:
|
||||||
|
case SNDRV_TIMER_IOCTL_CONTINUE_OLD:
|
||||||
return snd_timer_user_continue(file);
|
return snd_timer_user_continue(file);
|
||||||
case SNDRV_TIMER_IOCTL_PAUSE:
|
case SNDRV_TIMER_IOCTL_PAUSE:
|
||||||
|
case SNDRV_TIMER_IOCTL_PAUSE_OLD:
|
||||||
return snd_timer_user_pause(file);
|
return snd_timer_user_pause(file);
|
||||||
}
|
}
|
||||||
return -ENOTTY;
|
return -ENOTTY;
|
||||||
|
|
|
@ -106,9 +106,13 @@ static long snd_timer_user_ioctl_compat(struct file *file, unsigned int cmd, uns
|
||||||
case SNDRV_TIMER_IOCTL_SELECT:
|
case SNDRV_TIMER_IOCTL_SELECT:
|
||||||
case SNDRV_TIMER_IOCTL_PARAMS:
|
case SNDRV_TIMER_IOCTL_PARAMS:
|
||||||
case SNDRV_TIMER_IOCTL_START:
|
case SNDRV_TIMER_IOCTL_START:
|
||||||
|
case SNDRV_TIMER_IOCTL_START_OLD:
|
||||||
case SNDRV_TIMER_IOCTL_STOP:
|
case SNDRV_TIMER_IOCTL_STOP:
|
||||||
|
case SNDRV_TIMER_IOCTL_STOP_OLD:
|
||||||
case SNDRV_TIMER_IOCTL_CONTINUE:
|
case SNDRV_TIMER_IOCTL_CONTINUE:
|
||||||
|
case SNDRV_TIMER_IOCTL_CONTINUE_OLD:
|
||||||
case SNDRV_TIMER_IOCTL_PAUSE:
|
case SNDRV_TIMER_IOCTL_PAUSE:
|
||||||
|
case SNDRV_TIMER_IOCTL_PAUSE_OLD:
|
||||||
case SNDRV_TIMER_IOCTL_NEXT_DEVICE:
|
case SNDRV_TIMER_IOCTL_NEXT_DEVICE:
|
||||||
return snd_timer_user_ioctl(file, cmd, (unsigned long)argp);
|
return snd_timer_user_ioctl(file, cmd, (unsigned long)argp);
|
||||||
case SNDRV_TIMER_IOCTL_INFO32:
|
case SNDRV_TIMER_IOCTL_INFO32:
|
||||||
|
|
Loading…
Reference in a new issue