mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 01:02:08 +00:00
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
This commit is contained in:
commit
8316cb8f20
@ -111,7 +111,7 @@ snd_seq_oss_create_client(void)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* receive annoucement from system port, and check the midi device
|
* receive announcement from system port, and check the midi device
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
receive_announce(struct snd_seq_event *ev, int direct, void *private, int atomic, int hop)
|
receive_announce(struct snd_seq_event *ev, int direct, void *private, int atomic, int hop)
|
||||||
|
@ -1290,6 +1290,10 @@ static int snd_seq_ioctl_set_client_info(struct snd_seq_client *client,
|
|||||||
client->midi_version = client_info->midi_version;
|
client->midi_version = client_info->midi_version;
|
||||||
memcpy(client->event_filter, client_info->event_filter, 32);
|
memcpy(client->event_filter, client_info->event_filter, 32);
|
||||||
client->group_filter = client_info->group_filter;
|
client->group_filter = client_info->group_filter;
|
||||||
|
|
||||||
|
/* notify the change */
|
||||||
|
snd_seq_system_client_ev_client_change(client->number);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1413,6 +1417,9 @@ static int snd_seq_ioctl_set_port_info(struct snd_seq_client *client, void *arg)
|
|||||||
if (port) {
|
if (port) {
|
||||||
snd_seq_set_port_info(port, info);
|
snd_seq_set_port_info(port, info);
|
||||||
snd_seq_port_unlock(port);
|
snd_seq_port_unlock(port);
|
||||||
|
/* notify the change */
|
||||||
|
snd_seq_system_client_ev_port_change(info->addr.client,
|
||||||
|
info->addr.port);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -49,12 +49,14 @@ static int sysclient = -1;
|
|||||||
/* port id numbers for this client */
|
/* port id numbers for this client */
|
||||||
static int announce_port = -1;
|
static int announce_port = -1;
|
||||||
|
|
||||||
|
/* number of subscriptions to announce port */
|
||||||
|
static int announce_subscribed;
|
||||||
|
|
||||||
|
|
||||||
/* fill standard header data, source port & channel are filled in */
|
/* fill standard header data, source port & channel are filled in */
|
||||||
static int setheader(struct snd_seq_event * ev, int client, int port)
|
static int setheader(struct snd_seq_event * ev, int client, int port)
|
||||||
{
|
{
|
||||||
if (announce_port < 0)
|
if (announce_port < 0 || !announce_subscribed)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
memset(ev, 0, sizeof(struct snd_seq_event));
|
memset(ev, 0, sizeof(struct snd_seq_event));
|
||||||
@ -104,6 +106,22 @@ static int event_input_timer(struct snd_seq_event * ev, int direct, void *privat
|
|||||||
return snd_seq_control_queue(ev, atomic, hop);
|
return snd_seq_control_queue(ev, atomic, hop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int sys_announce_subscribe(void *private_data,
|
||||||
|
struct snd_seq_port_subscribe *info)
|
||||||
|
{
|
||||||
|
announce_subscribed++;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int sys_announce_unsubscribe(void *private_data,
|
||||||
|
struct snd_seq_port_subscribe *info)
|
||||||
|
{
|
||||||
|
if (snd_BUG_ON(!announce_subscribed))
|
||||||
|
return 0;
|
||||||
|
announce_subscribed--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* register our internal client */
|
/* register our internal client */
|
||||||
int __init snd_seq_system_client_init(void)
|
int __init snd_seq_system_client_init(void)
|
||||||
{
|
{
|
||||||
@ -143,7 +161,10 @@ int __init snd_seq_system_client_init(void)
|
|||||||
/* register announcement port */
|
/* register announcement port */
|
||||||
strcpy(port->name, "Announce");
|
strcpy(port->name, "Announce");
|
||||||
port->capability = SNDRV_SEQ_PORT_CAP_READ|SNDRV_SEQ_PORT_CAP_SUBS_READ; /* for broadcast only */
|
port->capability = SNDRV_SEQ_PORT_CAP_READ|SNDRV_SEQ_PORT_CAP_SUBS_READ; /* for broadcast only */
|
||||||
port->kernel = NULL;
|
pcallbacks.event_input = NULL;
|
||||||
|
pcallbacks.subscribe = sys_announce_subscribe;
|
||||||
|
pcallbacks.unsubscribe = sys_announce_unsubscribe;
|
||||||
|
port->kernel = &pcallbacks;
|
||||||
port->type = 0;
|
port->type = 0;
|
||||||
port->flags = SNDRV_SEQ_PORT_FLG_GIVEN_PORT;
|
port->flags = SNDRV_SEQ_PORT_FLG_GIVEN_PORT;
|
||||||
port->addr.client = sysclient;
|
port->addr.client = sysclient;
|
||||||
|
@ -272,8 +272,6 @@ static void update_port_infos(struct seq_ump_client *client)
|
|||||||
new);
|
new);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
continue;
|
continue;
|
||||||
/* notify to system port */
|
|
||||||
snd_seq_system_client_ev_port_change(client->seq_client, i);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1864,7 +1864,7 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name, int m
|
|||||||
strcat(name, " ");
|
strcat(name, " ");
|
||||||
strcat(name, pid->name);
|
strcat(name, pid->name);
|
||||||
if (pid->mask != 0xffffffff)
|
if (pid->mask != 0xffffffff)
|
||||||
sprintf(name + strlen(name), " rev %d", id & ~pid->mask);
|
sprintf(name + strlen(name), " rev %u", id & ~pid->mask);
|
||||||
if (ac97 && pid->patch) {
|
if (ac97 && pid->patch) {
|
||||||
if ((modem && (pid->flags & AC97_MODEM_PATCH)) ||
|
if ((modem && (pid->flags & AC97_MODEM_PATCH)) ||
|
||||||
(! modem && ! (pid->flags & AC97_MODEM_PATCH)))
|
(! modem && ! (pid->flags & AC97_MODEM_PATCH)))
|
||||||
|
@ -3084,7 +3084,7 @@ static int snd_cmipci_create(struct snd_card *card, struct pci_dev *pci,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sprintf(card->shortname, "C-Media CMI%d", val);
|
sprintf(card->shortname, "C-Media CMI%u", val);
|
||||||
if (cm->chip_version < 68)
|
if (cm->chip_version < 68)
|
||||||
scnprintf(modelstr, sizeof(modelstr),
|
scnprintf(modelstr, sizeof(modelstr),
|
||||||
" (model %d)", cm->chip_version);
|
" (model %d)", cm->chip_version);
|
||||||
|
@ -84,10 +84,8 @@ static int hda_hwdep_ioctl_compat(struct snd_hwdep *hw, struct file *file,
|
|||||||
|
|
||||||
static int hda_hwdep_open(struct snd_hwdep *hw, struct file *file)
|
static int hda_hwdep_open(struct snd_hwdep *hw, struct file *file)
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_SND_DEBUG_VERBOSE
|
|
||||||
if (!capable(CAP_SYS_RAWIO))
|
if (!capable(CAP_SYS_RAWIO))
|
||||||
return -EACCES;
|
return -EACCES;
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -648,7 +648,7 @@ static const struct hda_patch_item patch_items[NUM_LINE_MODES] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* check the line starting with '[' -- change the parser mode accodingly */
|
/* check the line starting with '[' -- change the parser mode accordingly */
|
||||||
static int parse_line_mode(char *buf, struct hda_bus *bus)
|
static int parse_line_mode(char *buf, struct hda_bus *bus)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -35,7 +35,7 @@ unsigned int lola_sample_rate_convert(unsigned int coded)
|
|||||||
default: return 0; /* error */
|
default: return 0; /* error */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ajustement */
|
/* adjustement */
|
||||||
switch (coded & 0x60) {
|
switch (coded & 0x60) {
|
||||||
case (0 << 5): break;
|
case (0 << 5): break;
|
||||||
case (1 << 5): freq = (freq * 999) / 1000; break;
|
case (1 << 5): freq = (freq * 999) / 1000; break;
|
||||||
|
@ -1135,9 +1135,9 @@ static void snd_sonicvibes_proc_read(struct snd_info_entry *entry,
|
|||||||
tmp == 0x00 ? "on-board ROM" :
|
tmp == 0x00 ? "on-board ROM" :
|
||||||
tmp == 0x01 ? "PCI bus" : "on-board ROM + PCI bus");
|
tmp == 0x01 ? "PCI bus" : "on-board ROM + PCI bus");
|
||||||
tmp = sonic->mpu_switch;
|
tmp = sonic->mpu_switch;
|
||||||
snd_iprintf(buffer, "Onboard synth : %s\n", tmp & 0x01 ? "on" : "off");
|
snd_iprintf(buffer, "Onboard synth : %s\n", str_on_off(tmp & 0x01));
|
||||||
snd_iprintf(buffer, "Ext. Rx to synth : %s\n", tmp & 0x02 ? "on" : "off");
|
snd_iprintf(buffer, "Ext. Rx to synth : %s\n", str_on_off(tmp & 0x02));
|
||||||
snd_iprintf(buffer, "MIDI to ext. Tx : %s\n", tmp & 0x04 ? "on" : "off");
|
snd_iprintf(buffer, "MIDI to ext. Tx : %s\n", str_on_off(tmp & 0x04));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void snd_sonicvibes_proc_init(struct sonicvibes *sonic)
|
static void snd_sonicvibes_proc_init(struct sonicvibes *sonic)
|
||||||
|
Loading…
Reference in New Issue
Block a user