Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
c2f43981
Commit
c2f43981
authored
Mar 24, 2009
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/hwdep-cleanup' into for-linus
parents
dec14f8c
28b7e343
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
30 additions
and
126 deletions
+30
-126
include/sound/hwdep.h
include/sound/hwdep.h
+24
-14
sound/core/hwdep.c
sound/core/hwdep.c
+5
-4
sound/drivers/vx/vx_hwdep.c
sound/drivers/vx/vx_hwdep.c
+0
-12
sound/pci/mixart/mixart_hwdep.c
sound/pci/mixart/mixart_hwdep.c
+0
-12
sound/pci/pcxhr/pcxhr_hwdep.c
sound/pci/pcxhr/pcxhr_hwdep.c
+0
-12
sound/pci/rme9652/hdsp.c
sound/pci/rme9652/hdsp.c
+0
-9
sound/pci/rme9652/hdspm.c
sound/pci/rme9652/hdspm.c
+0
-9
sound/synth/emux/emux_hwdep.c
sound/synth/emux/emux_hwdep.c
+0
-21
sound/usb/usbmixer.c
sound/usb/usbmixer.c
+1
-21
sound/usb/usx2y/usX2Yhwdep.c
sound/usb/usx2y/usX2Yhwdep.c
+0
-12
No files found.
include/sound/hwdep.h
View file @
c2f43981
...
...
@@ -27,18 +27,28 @@
struct
snd_hwdep
;
/* hwdep file ops; all ops can be NULL */
struct
snd_hwdep_ops
{
long
long
(
*
llseek
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
long
long
offset
,
int
orig
);
long
(
*
read
)
(
struct
snd_hwdep
*
hw
,
char
__user
*
buf
,
long
count
,
loff_t
*
offset
);
long
(
*
write
)
(
struct
snd_hwdep
*
hw
,
const
char
__user
*
buf
,
long
count
,
loff_t
*
offset
);
int
(
*
open
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
);
int
(
*
release
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
);
unsigned
int
(
*
poll
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
poll_table
*
wait
);
int
(
*
ioctl
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
);
int
(
*
ioctl_compat
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
);
int
(
*
mmap
)
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
struct
vm_area_struct
*
vma
);
int
(
*
dsp_status
)
(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_status
*
status
);
int
(
*
dsp_load
)
(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_image
*
image
);
long
long
(
*
llseek
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
long
long
offset
,
int
orig
);
long
(
*
read
)(
struct
snd_hwdep
*
hw
,
char
__user
*
buf
,
long
count
,
loff_t
*
offset
);
long
(
*
write
)(
struct
snd_hwdep
*
hw
,
const
char
__user
*
buf
,
long
count
,
loff_t
*
offset
);
int
(
*
open
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
);
int
(
*
release
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
);
unsigned
int
(
*
poll
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
poll_table
*
wait
);
int
(
*
ioctl
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
);
int
(
*
ioctl_compat
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
);
int
(
*
mmap
)(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
struct
vm_area_struct
*
vma
);
int
(
*
dsp_status
)(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_status
*
status
);
int
(
*
dsp_load
)(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_image
*
image
);
};
struct
snd_hwdep
{
...
...
@@ -61,9 +71,9 @@ struct snd_hwdep {
void
(
*
private_free
)
(
struct
snd_hwdep
*
hwdep
);
struct
mutex
open_mutex
;
int
used
;
unsigned
int
dsp_loaded
;
unsigned
int
exclusive
:
1
;
int
used
;
/* reference counter */
unsigned
int
dsp_loaded
;
/* bit fields of loaded dsp indices */
unsigned
int
exclusive
:
1
;
/* exclusive access mode */
};
extern
int
snd_hwdep_new
(
struct
snd_card
*
card
,
char
*
id
,
int
device
,
...
...
sound/core/hwdep.c
View file @
c2f43981
...
...
@@ -99,9 +99,6 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
if
(
hw
==
NULL
)
return
-
ENODEV
;
if
(
!
hw
->
ops
.
open
)
return
-
ENXIO
;
if
(
!
try_module_get
(
hw
->
card
->
module
))
return
-
EFAULT
;
...
...
@@ -113,6 +110,10 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
err
=
-
EBUSY
;
break
;
}
if
(
!
hw
->
ops
.
open
)
{
err
=
0
;
break
;
}
err
=
hw
->
ops
.
open
(
hw
,
file
);
if
(
err
>=
0
)
break
;
...
...
@@ -151,7 +152,7 @@ static int snd_hwdep_open(struct inode *inode, struct file * file)
static
int
snd_hwdep_release
(
struct
inode
*
inode
,
struct
file
*
file
)
{
int
err
=
-
ENXIO
;
int
err
=
0
;
struct
snd_hwdep
*
hw
=
file
->
private_data
;
struct
module
*
mod
=
hw
->
card
->
module
;
...
...
sound/drivers/vx/vx_hwdep.c
View file @
c2f43981
...
...
@@ -119,16 +119,6 @@ void snd_vx_free_firmware(struct vx_core *chip)
#else
/* old style firmware loading */
static
int
vx_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
vx_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
vx_hwdep_dsp_status
(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_status
*
info
)
{
...
...
@@ -243,8 +233,6 @@ int snd_vx_setup_firmware(struct vx_core *chip)
hw
->
iface
=
SNDRV_HWDEP_IFACE_VX
;
hw
->
private_data
=
chip
;
hw
->
ops
.
open
=
vx_hwdep_open
;
hw
->
ops
.
release
=
vx_hwdep_release
;
hw
->
ops
.
dsp_status
=
vx_hwdep_dsp_status
;
hw
->
ops
.
dsp_load
=
vx_hwdep_dsp_load
;
hw
->
exclusive
=
1
;
...
...
sound/pci/mixart/mixart_hwdep.c
View file @
c2f43981
...
...
@@ -581,16 +581,6 @@ MODULE_FIRMWARE("mixart/miXart8AES.xlx");
/* miXart hwdep interface id string */
#define SND_MIXART_HWDEP_ID "miXart Loader"
static
int
mixart_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
mixart_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
mixart_hwdep_dsp_status
(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_status
*
info
)
{
...
...
@@ -643,8 +633,6 @@ int snd_mixart_setup_firmware(struct mixart_mgr *mgr)
hw
->
iface
=
SNDRV_HWDEP_IFACE_MIXART
;
hw
->
private_data
=
mgr
;
hw
->
ops
.
open
=
mixart_hwdep_open
;
hw
->
ops
.
release
=
mixart_hwdep_release
;
hw
->
ops
.
dsp_status
=
mixart_hwdep_dsp_status
;
hw
->
ops
.
dsp_load
=
mixart_hwdep_dsp_load
;
hw
->
exclusive
=
1
;
...
...
sound/pci/pcxhr/pcxhr_hwdep.c
View file @
c2f43981
...
...
@@ -471,16 +471,6 @@ static int pcxhr_hwdep_dsp_load(struct snd_hwdep *hw,
return
0
;
}
static
int
pcxhr_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
pcxhr_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
int
pcxhr_setup_firmware
(
struct
pcxhr_mgr
*
mgr
)
{
int
err
;
...
...
@@ -495,8 +485,6 @@ int pcxhr_setup_firmware(struct pcxhr_mgr *mgr)
hw
->
iface
=
SNDRV_HWDEP_IFACE_PCXHR
;
hw
->
private_data
=
mgr
;
hw
->
ops
.
open
=
pcxhr_hwdep_open
;
hw
->
ops
.
release
=
pcxhr_hwdep_release
;
hw
->
ops
.
dsp_status
=
pcxhr_hwdep_dsp_status
;
hw
->
ops
.
dsp_load
=
pcxhr_hwdep_dsp_load
;
hw
->
exclusive
=
1
;
...
...
sound/pci/rme9652/hdsp.c
View file @
c2f43981
...
...
@@ -4413,13 +4413,6 @@ static int snd_hdsp_capture_release(struct snd_pcm_substream *substream)
return
0
;
}
static
int
snd_hdsp_hwdep_dummy_op
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
/* we have nothing to initialize but the call is required */
return
0
;
}
/* helper functions for copying meter values */
static
inline
int
copy_u32_le
(
void
__user
*
dest
,
void
__iomem
*
src
)
{
...
...
@@ -4738,9 +4731,7 @@ static int snd_hdsp_create_hwdep(struct snd_card *card, struct hdsp *hdsp)
hw
->
private_data
=
hdsp
;
strcpy
(
hw
->
name
,
"HDSP hwdep interface"
);
hw
->
ops
.
open
=
snd_hdsp_hwdep_dummy_op
;
hw
->
ops
.
ioctl
=
snd_hdsp_hwdep_ioctl
;
hw
->
ops
.
release
=
snd_hdsp_hwdep_dummy_op
;
return
0
;
}
...
...
sound/pci/rme9652/hdspm.c
View file @
c2f43981
...
...
@@ -4100,13 +4100,6 @@ static int snd_hdspm_capture_release(struct snd_pcm_substream *substream)
return
0
;
}
static
int
snd_hdspm_hwdep_dummy_op
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
/* we have nothing to initialize but the call is required */
return
0
;
}
static
int
snd_hdspm_hwdep_ioctl
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
...
...
@@ -4213,9 +4206,7 @@ static int __devinit snd_hdspm_create_hwdep(struct snd_card *card,
hw
->
private_data
=
hdspm
;
strcpy
(
hw
->
name
,
"HDSPM hwdep interface"
);
hw
->
ops
.
open
=
snd_hdspm_hwdep_dummy_op
;
hw
->
ops
.
ioctl
=
snd_hdspm_hwdep_ioctl
;
hw
->
ops
.
release
=
snd_hdspm_hwdep_dummy_op
;
return
0
;
}
...
...
sound/synth/emux/emux_hwdep.c
View file @
c2f43981
...
...
@@ -24,25 +24,6 @@
#include <asm/uaccess.h>
#include "emux_voice.h"
/*
* open the hwdep device
*/
static
int
snd_emux_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
/*
* close the device
*/
static
int
snd_emux_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
#define TMP_CLIENT_ID 0x1001
...
...
@@ -146,8 +127,6 @@ snd_emux_init_hwdep(struct snd_emux *emu)
emu
->
hwdep
=
hw
;
strcpy
(
hw
->
name
,
SNDRV_EMUX_HWDEP_NAME
);
hw
->
iface
=
SNDRV_HWDEP_IFACE_EMUX_WAVETABLE
;
hw
->
ops
.
open
=
snd_emux_hwdep_open
;
hw
->
ops
.
release
=
snd_emux_hwdep_release
;
hw
->
ops
.
ioctl
=
snd_emux_hwdep_ioctl
;
hw
->
exclusive
=
1
;
hw
->
private_data
=
emu
;
...
...
sound/usb/usbmixer.c
View file @
c2f43981
...
...
@@ -78,7 +78,6 @@ struct usb_mixer_interface {
/* Sound Blaster remote control stuff */
const
struct
rc_config
*
rc_cfg
;
unsigned
long
rc_hwdep_open
;
u32
rc_code
;
wait_queue_head_t
rc_waitq
;
struct
urb
*
rc_urb
;
...
...
@@ -1797,24 +1796,6 @@ static void snd_usb_soundblaster_remote_complete(struct urb *urb)
wake_up
(
&
mixer
->
rc_waitq
);
}
static
int
snd_usb_sbrc_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
struct
usb_mixer_interface
*
mixer
=
hw
->
private_data
;
if
(
test_and_set_bit
(
0
,
&
mixer
->
rc_hwdep_open
))
return
-
EBUSY
;
return
0
;
}
static
int
snd_usb_sbrc_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
struct
usb_mixer_interface
*
mixer
=
hw
->
private_data
;
clear_bit
(
0
,
&
mixer
->
rc_hwdep_open
);
smp_mb__after_clear_bit
();
return
0
;
}
static
long
snd_usb_sbrc_hwdep_read
(
struct
snd_hwdep
*
hw
,
char
__user
*
buf
,
long
count
,
loff_t
*
offset
)
{
...
...
@@ -1867,9 +1848,8 @@ static int snd_usb_soundblaster_remote_init(struct usb_mixer_interface *mixer)
hwdep
->
iface
=
SNDRV_HWDEP_IFACE_SB_RC
;
hwdep
->
private_data
=
mixer
;
hwdep
->
ops
.
read
=
snd_usb_sbrc_hwdep_read
;
hwdep
->
ops
.
open
=
snd_usb_sbrc_hwdep_open
;
hwdep
->
ops
.
release
=
snd_usb_sbrc_hwdep_release
;
hwdep
->
ops
.
poll
=
snd_usb_sbrc_hwdep_poll
;
hwdep
->
exclusive
=
1
;
mixer
->
rc_urb
=
usb_alloc_urb
(
0
,
GFP_KERNEL
);
if
(
!
mixer
->
rc_urb
)
...
...
sound/usb/usx2y/usX2Yhwdep.c
View file @
c2f43981
...
...
@@ -106,16 +106,6 @@ static unsigned int snd_us428ctls_poll(struct snd_hwdep *hw, struct file *file,
}
static
int
snd_usX2Y_hwdep_open
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
snd_usX2Y_hwdep_release
(
struct
snd_hwdep
*
hw
,
struct
file
*
file
)
{
return
0
;
}
static
int
snd_usX2Y_hwdep_dsp_status
(
struct
snd_hwdep
*
hw
,
struct
snd_hwdep_dsp_status
*
info
)
{
...
...
@@ -267,8 +257,6 @@ int usX2Y_hwdep_new(struct snd_card *card, struct usb_device* device)
hw
->
iface
=
SNDRV_HWDEP_IFACE_USX2Y
;
hw
->
private_data
=
usX2Y
(
card
);
hw
->
ops
.
open
=
snd_usX2Y_hwdep_open
;
hw
->
ops
.
release
=
snd_usX2Y_hwdep_release
;
hw
->
ops
.
dsp_status
=
snd_usX2Y_hwdep_dsp_status
;
hw
->
ops
.
dsp_load
=
snd_usX2Y_hwdep_dsp_load
;
hw
->
ops
.
mmap
=
snd_us428ctls_mmap
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment