Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
Linux
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
jan.koester
Linux
Commits
05f93414
Commit
05f93414
authored
16 years ago
by
Takashi Iwai
Browse files
Options
Downloads
Plain Diff
Merge branch 'topic/usb-caiaq' into for-linus
parents
a24ba44c
16b28575
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
sound/usb/caiaq/caiaq-device.c
+1
-1
1 addition, 1 deletion
sound/usb/caiaq/caiaq-device.c
sound/usb/caiaq/caiaq-device.h
+1
-0
1 addition, 0 deletions
sound/usb/caiaq/caiaq-device.h
sound/usb/caiaq/caiaq-midi.c
+18
-14
18 additions, 14 deletions
sound/usb/caiaq/caiaq-midi.c
with
20 additions
and
15 deletions
sound/usb/caiaq/caiaq-device.c
+
1
−
1
View file @
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},"
...
...
This diff is collapsed.
Click to expand it.
sound/usb/caiaq/caiaq-device.h
+
1
−
0
View file @
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
];
...
...
This diff is collapsed.
Click to expand it.
sound/usb/caiaq/caiaq-midi.c
+
18
−
14
View file @
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
);
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment