Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
05f93414
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
05f93414
编写于
1月 12, 2009
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'topic/usb-caiaq' into for-linus
上级
a24ba44c
16b28575
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
15 deletion
+20
-15
sound/usb/caiaq/caiaq-device.c
sound/usb/caiaq/caiaq-device.c
+1
-1
sound/usb/caiaq/caiaq-device.h
sound/usb/caiaq/caiaq-device.h
+1
-0
sound/usb/caiaq/caiaq-midi.c
sound/usb/caiaq/caiaq-midi.c
+18
-14
未找到文件。
sound/usb/caiaq/caiaq-device.c
浏览文件 @
05f93414
...
...
@@ -42,7 +42,7 @@
#endif
MODULE_AUTHOR
(
"Daniel Mack <daniel@caiaq.de>"
);
MODULE_DESCRIPTION
(
"caiaq USB audio, version 1.3.
9
"
);
MODULE_DESCRIPTION
(
"caiaq USB audio, version 1.3.
10
"
);
MODULE_LICENSE
(
"GPL"
);
MODULE_SUPPORTED_DEVICE
(
"{{Native Instruments, RigKontrol2},"
"{Native Instruments, RigKontrol3},"
...
...
sound/usb/caiaq/caiaq-device.h
浏览文件 @
05f93414
...
...
@@ -75,6 +75,7 @@ struct snd_usb_caiaqdev {
wait_queue_head_t
ep1_wait_queue
;
wait_queue_head_t
prepare_wait_queue
;
int
spec_received
,
audio_parm_answer
;
int
midi_out_active
;
char
vendor_name
[
CAIAQ_USB_STR_LEN
];
char
product_name
[
CAIAQ_USB_STR_LEN
];
...
...
sound/usb/caiaq/caiaq-midi.c
浏览文件 @
05f93414
...
...
@@ -59,6 +59,11 @@ static int snd_usb_caiaq_midi_output_open(struct snd_rawmidi_substream *substrea
static
int
snd_usb_caiaq_midi_output_close
(
struct
snd_rawmidi_substream
*
substream
)
{
struct
snd_usb_caiaqdev
*
dev
=
substream
->
rmidi
->
private_data
;
if
(
dev
->
midi_out_active
)
{
usb_kill_urb
(
&
dev
->
midi_out_urb
);
dev
->
midi_out_active
=
0
;
}
return
0
;
}
...
...
@@ -69,7 +74,8 @@ static void snd_usb_caiaq_midi_send(struct snd_usb_caiaqdev *dev,
dev
->
midi_out_buf
[
0
]
=
EP1_CMD_MIDI_WRITE
;
dev
->
midi_out_buf
[
1
]
=
0
;
/* port */
len
=
snd_rawmidi_transmit_peek
(
substream
,
dev
->
midi_out_buf
+
3
,
EP1_BUFSIZE
-
3
);
len
=
snd_rawmidi_transmit
(
substream
,
dev
->
midi_out_buf
+
3
,
EP1_BUFSIZE
-
3
);
if
(
len
<=
0
)
return
;
...
...
@@ -79,24 +85,24 @@ static void snd_usb_caiaq_midi_send(struct snd_usb_caiaqdev *dev,
ret
=
usb_submit_urb
(
&
dev
->
midi_out_urb
,
GFP_ATOMIC
);
if
(
ret
<
0
)
log
(
"snd_usb_caiaq_midi_send(%p): usb_submit_urb() failed, %d
\n
"
,
substream
,
ret
);
log
(
"snd_usb_caiaq_midi_send(%p): usb_submit_urb() failed,"
"ret=%d, len=%d
\n
"
,
substream
,
ret
,
len
);
else
dev
->
midi_out_active
=
1
;
}
static
void
snd_usb_caiaq_midi_output_trigger
(
struct
snd_rawmidi_substream
*
substream
,
int
up
)
{
struct
snd_usb_caiaqdev
*
dev
=
substream
->
rmidi
->
private_data
;
if
(
dev
->
midi_out_substream
!=
NULL
)
return
;
if
(
!
up
)
{
if
(
up
)
{
dev
->
midi_out_substream
=
substream
;
if
(
!
dev
->
midi_out_active
)
snd_usb_caiaq_midi_send
(
dev
,
substream
);
}
else
{
dev
->
midi_out_substream
=
NULL
;
return
;
}
dev
->
midi_out_substream
=
substream
;
snd_usb_caiaq_midi_send
(
dev
,
substream
);
}
...
...
@@ -161,16 +167,14 @@ int snd_usb_caiaq_midi_init(struct snd_usb_caiaqdev *device)
void
snd_usb_caiaq_midi_output_done
(
struct
urb
*
urb
)
{
struct
snd_usb_caiaqdev
*
dev
=
urb
->
context
;
char
*
buf
=
urb
->
transfer_buffer
;
dev
->
midi_out_active
=
0
;
if
(
urb
->
status
!=
0
)
return
;
if
(
!
dev
->
midi_out_substream
)
return
;
snd_rawmidi_transmit_ack
(
dev
->
midi_out_substream
,
buf
[
2
]);
dev
->
midi_out_substream
=
NULL
;
snd_usb_caiaq_midi_send
(
dev
,
dev
->
midi_out_substream
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录