mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-03 19:08:58 +00:00
MFC r282017:
Allow DSP basename cloning to be disabled or enabled at boot and runtime. This is useful when implementing OSS sound stacks in userspace via libcuse for example.
This commit is contained in:
parent
0a44f62da2
commit
751c7427e3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=283192
@ -48,6 +48,12 @@ SYSCTL_INT(_hw_snd, OID_AUTO, compat_linux_mmap, CTLFLAG_RW,
|
||||
&dsp_mmap_allow_prot_exec, 0,
|
||||
"linux mmap compatibility (-1=force disable 0=auto 1=force enable)");
|
||||
|
||||
static int dsp_basename_clone = 1;
|
||||
SYSCTL_INT(_hw_snd, OID_AUTO, basename_clone, CTLFLAG_RWTUN,
|
||||
&dsp_basename_clone, 0,
|
||||
"DSP basename cloning (0: Disable; 1: Enabled)");
|
||||
TUNABLE_INT("hw.snd.basename_clone", &dsp_basename_clone);
|
||||
|
||||
struct dsp_cdevinfo {
|
||||
struct pcm_channel *rdch, *wrch;
|
||||
struct pcm_channel *volch;
|
||||
@ -2359,9 +2365,10 @@ dsp_clone(void *arg,
|
||||
devname = devcmp;
|
||||
devhw = dsp_cdevs[i].hw;
|
||||
devcmax = dsp_cdevs[i].max - 1;
|
||||
if (strcmp(name, devcmp) == 0)
|
||||
unit = snd_unit;
|
||||
else if (dsp_stdclone(name, devcmp, devsep,
|
||||
if (strcmp(name, devcmp) == 0) {
|
||||
if (dsp_basename_clone != 0)
|
||||
unit = snd_unit;
|
||||
} else if (dsp_stdclone(name, devcmp, devsep,
|
||||
dsp_cdevs[i].use_sep, &unit, &cunit) != 0) {
|
||||
unit = -1;
|
||||
cunit = -1;
|
||||
|
Loading…
Reference in New Issue
Block a user