Merge tag 'sound-fix-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "Here is a bunch of small fixes that have been collected since the previous pull request. In addition to various misc fixes, the following are included: - HD-audio quirks for Dell, HP, Chromebook, and ALC28x codecs - HD-audio AMD HDMI regression fix - Continued PM support/fixes for ice1712 driver - Multiplatform fixes for ASoC samsung drivers - Addition of device id tables to a few ASoC drivers - Bit clock polarity config and error flag fixes in ASoC fsl_sai" * tag 'sound-fix-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (32 commits) ALSA: usb-audio: Suppress repetitive debug messages from retire_playback_urb() ALSA: hda - Make full_reset boolean ALSA: hda - add headset mic detect quirk for a Dell laptop sound: dmasound: use module_platform_driver_probe() ALSA: au1x00: use module_platform_driver() ALSA: hda - Use runtime helper to check active state. ALSA: ice1712: Fix boundary checks in PCM pointer ops ASoC: davinci-mcasp: Fix bit clock polarity settings ASoC: samsung: Fix build on multiplatform ASoC: fsl_sai: Fix Bit Clock Polarity configurations ALSA: hda - Do not assign streams in reverse order ALSA: hda/realtek - Add eapd shutup to ALC283 ALSA: hda/realtek - Change model name alias for ChromeOS ASoC: da732x: Print correct major id ALSA: hda/realtek - Improve HP depop when system change power state on Chromebook ASoC: cs42l52: Fix mask for REVID sound/oss: Remove uncompilable DBG macro use ALSA: ice1712: Save/restore routing and rate registers ALSA: ice1712: restore AK4xxx volumes on resume ASoC: alc56(23|32): fix undefined return value of probing code ...
Этот коммит содержится в:
@@ -50,8 +50,6 @@
|
||||
#include <linux/pnp.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#define DEB(x)
|
||||
#define DEB1(x)
|
||||
#include "sound_config.h"
|
||||
|
||||
#include "ad1848.h"
|
||||
@@ -1016,8 +1014,6 @@ static void ad1848_close(int dev)
|
||||
ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc;
|
||||
ad1848_port_info *portc = (ad1848_port_info *) audio_devs[dev]->portc;
|
||||
|
||||
DEB(printk("ad1848_close(void)\n"));
|
||||
|
||||
devc->intr_active = 0;
|
||||
ad1848_halt(dev);
|
||||
|
||||
|
@@ -733,19 +733,7 @@ static struct platform_driver amiga_audio_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
static int __init amiga_audio_init(void)
|
||||
{
|
||||
return platform_driver_probe(&amiga_audio_driver, amiga_audio_probe);
|
||||
}
|
||||
|
||||
module_init(amiga_audio_init);
|
||||
|
||||
static void __exit amiga_audio_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&amiga_audio_driver);
|
||||
}
|
||||
|
||||
module_exit(amiga_audio_exit);
|
||||
module_platform_driver_probe(amiga_audio_driver, amiga_audio_probe);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_ALIAS("platform:amiga-audio");
|
||||
|
@@ -275,7 +275,6 @@ static int opl3_kill_note (int devno, int voice, int note, int velocity)
|
||||
devc->v_alloc->map[voice] = 0;
|
||||
|
||||
map = &pv_map[devc->lv_map[voice]];
|
||||
DEB(printk("Kill note %d\n", voice));
|
||||
|
||||
if (map->voice_mode == 0)
|
||||
return 0;
|
||||
@@ -873,8 +872,6 @@ static void opl3_aftertouch(int dev, int voice, int pressure)
|
||||
|
||||
map = &pv_map[devc->lv_map[voice]];
|
||||
|
||||
DEB(printk("Aftertouch %d\n", voice));
|
||||
|
||||
if (map->voice_mode == 0)
|
||||
return;
|
||||
|
||||
|
@@ -21,10 +21,6 @@
|
||||
|
||||
#include "pas2.h"
|
||||
|
||||
#ifndef DEB
|
||||
#define DEB(what) /* (what) */
|
||||
#endif
|
||||
|
||||
extern int pas_translate_code;
|
||||
extern char pas_model;
|
||||
extern int *pas_osp;
|
||||
@@ -120,8 +116,6 @@ pas_mixer_set(int whichDev, unsigned int level)
|
||||
{
|
||||
int left, right, devmask, changed, i, mixer = 0;
|
||||
|
||||
DEB(printk("static int pas_mixer_set(int whichDev = %d, unsigned int level = %X)\n", whichDev, level));
|
||||
|
||||
left = level & 0x7f;
|
||||
right = (level & 0x7f00) >> 8;
|
||||
|
||||
@@ -207,8 +201,6 @@ pas_mixer_reset(void)
|
||||
{
|
||||
int foo;
|
||||
|
||||
DEB(printk("pas2_mixer.c: void pas_mixer_reset(void)\n"));
|
||||
|
||||
for (foo = 0; foo < SOUND_MIXER_NRDEVICES; foo++)
|
||||
pas_mixer_set(foo, levels[foo]);
|
||||
|
||||
@@ -220,7 +212,6 @@ static int pas_mixer_ioctl(int dev, unsigned int cmd, void __user *arg)
|
||||
int level,v ;
|
||||
int __user *p = (int __user *)arg;
|
||||
|
||||
DEB(printk("pas2_mixer.c: int pas_mixer_ioctl(unsigned int cmd = %X, unsigned int arg = %X)\n", cmd, arg));
|
||||
if (cmd == SOUND_MIXER_PRIVATE1) { /* Set loudness bit */
|
||||
if (get_user(level, p))
|
||||
return -EFAULT;
|
||||
|
@@ -22,10 +22,6 @@
|
||||
|
||||
#include "pas2.h"
|
||||
|
||||
#ifndef DEB
|
||||
#define DEB(WHAT)
|
||||
#endif
|
||||
|
||||
#define PAS_PCM_INTRBITS (0x08)
|
||||
/*
|
||||
* Sample buffer timer interrupt enable
|
||||
@@ -156,8 +152,6 @@ static int pas_audio_ioctl(int dev, unsigned int cmd, void __user *arg)
|
||||
int val, ret;
|
||||
int __user *p = arg;
|
||||
|
||||
DEB(printk("pas2_pcm.c: static int pas_audio_ioctl(unsigned int cmd = %X, unsigned int arg = %X)\n", cmd, arg));
|
||||
|
||||
switch (cmd)
|
||||
{
|
||||
case SOUND_PCM_WRITE_RATE:
|
||||
@@ -204,8 +198,6 @@ static int pas_audio_ioctl(int dev, unsigned int cmd, void __user *arg)
|
||||
|
||||
static void pas_audio_reset(int dev)
|
||||
{
|
||||
DEB(printk("pas2_pcm.c: static void pas_audio_reset(void)\n"));
|
||||
|
||||
pas_write(pas_read(0xF8A) & ~0x40, 0xF8A); /* Disable PCM */
|
||||
}
|
||||
|
||||
@@ -214,8 +206,6 @@ static int pas_audio_open(int dev, int mode)
|
||||
int err;
|
||||
unsigned long flags;
|
||||
|
||||
DEB(printk("pas2_pcm.c: static int pas_audio_open(int mode = %X)\n", mode));
|
||||
|
||||
spin_lock_irqsave(&pas_lock, flags);
|
||||
if (pcm_busy)
|
||||
{
|
||||
@@ -239,8 +229,6 @@ static void pas_audio_close(int dev)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
DEB(printk("pas2_pcm.c: static void pas_audio_close(void)\n"));
|
||||
|
||||
spin_lock_irqsave(&pas_lock, flags);
|
||||
|
||||
pas_audio_reset(dev);
|
||||
@@ -256,8 +244,6 @@ static void pas_audio_output_block(int dev, unsigned long buf, int count,
|
||||
{
|
||||
unsigned long flags, cnt;
|
||||
|
||||
DEB(printk("pas2_pcm.c: static void pas_audio_output_block(char *buf = %P, int count = %X)\n", buf, count));
|
||||
|
||||
cnt = count;
|
||||
if (audio_devs[dev]->dmap_out->dma > 3)
|
||||
cnt >>= 1;
|
||||
@@ -303,8 +289,6 @@ static void pas_audio_start_input(int dev, unsigned long buf, int count,
|
||||
unsigned long flags;
|
||||
int cnt;
|
||||
|
||||
DEB(printk("pas2_pcm.c: static void pas_audio_start_input(char *buf = %P, int count = %X)\n", buf, count));
|
||||
|
||||
cnt = count;
|
||||
if (audio_devs[dev]->dmap_out->dma > 3)
|
||||
cnt >>= 1;
|
||||
@@ -388,8 +372,6 @@ static struct audio_driver pas_audio_driver =
|
||||
|
||||
void __init pas_pcm_init(struct address_info *hw_config)
|
||||
{
|
||||
DEB(printk("pas2_pcm.c: long pas_pcm_init()\n"));
|
||||
|
||||
pcm_bitsok = 8;
|
||||
if (pas_read(0xEF8B) & 0x08)
|
||||
pcm_bitsok |= 16;
|
||||
|
@@ -226,8 +226,6 @@ int sb_dsp_reset(sb_devc * devc)
|
||||
{
|
||||
int loopc;
|
||||
|
||||
DEB(printk("Entered sb_dsp_reset()\n"));
|
||||
|
||||
if (devc->model == MDL_ESS) return ess_dsp_reset (devc);
|
||||
|
||||
/* This is only for non-ESS chips */
|
||||
@@ -246,8 +244,6 @@ int sb_dsp_reset(sb_devc * devc)
|
||||
return 0; /* Sorry */
|
||||
}
|
||||
|
||||
DEB(printk("sb_dsp_reset() OK\n"));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -865,8 +865,6 @@ printk(KERN_INFO "FKS: ess_dsp_reset 1\n");
|
||||
ess_show_mixerregs (devc);
|
||||
#endif
|
||||
|
||||
DEB(printk("Entered ess_dsp_reset()\n"));
|
||||
|
||||
outb(3, DSP_RESET); /* Reset FIFO too */
|
||||
|
||||
udelay(10);
|
||||
@@ -881,8 +879,6 @@ ess_show_mixerregs (devc);
|
||||
}
|
||||
ess_extended (devc);
|
||||
|
||||
DEB(printk("sb_dsp_reset() OK\n"));
|
||||
|
||||
#ifdef FKS_LOGGING
|
||||
printk(KERN_INFO "FKS: dsp_reset 2\n");
|
||||
ess_show_mixerregs (devc);
|
||||
|
@@ -216,8 +216,6 @@ int sequencer_write(int dev, struct file *file, const char __user *buf, int coun
|
||||
|
||||
dev = dev >> 4;
|
||||
|
||||
DEB(printk("sequencer_write(dev=%d, count=%d)\n", dev, count));
|
||||
|
||||
if (mode == OPEN_READ)
|
||||
return -EIO;
|
||||
|
||||
@@ -959,8 +957,6 @@ int sequencer_open(int dev, struct file *file)
|
||||
dev = dev >> 4;
|
||||
mode = translate_mode(file);
|
||||
|
||||
DEB(printk("sequencer_open(dev=%d)\n", dev));
|
||||
|
||||
if (!sequencer_ok)
|
||||
{
|
||||
/* printk("Sound card: sequencer not initialized\n");*/
|
||||
@@ -1133,8 +1129,6 @@ void sequencer_release(int dev, struct file *file)
|
||||
|
||||
dev = dev >> 4;
|
||||
|
||||
DEB(printk("sequencer_release(dev=%d)\n", dev));
|
||||
|
||||
/*
|
||||
* Wait until the queue is empty (if we don't have nonblock)
|
||||
*/
|
||||
|
@@ -123,10 +123,6 @@ static inline int translate_mode(struct file *file)
|
||||
#include "sound_calls.h"
|
||||
#include "dev_table.h"
|
||||
|
||||
#ifndef DEB
|
||||
#define DEB(x)
|
||||
#endif
|
||||
|
||||
#ifndef DDB
|
||||
#define DDB(x) do {} while (0)
|
||||
#endif
|
||||
|
@@ -154,7 +154,6 @@ static ssize_t sound_read(struct file *file, char __user *buf, size_t count, lof
|
||||
|
||||
mutex_lock(&soundcard_mutex);
|
||||
|
||||
DEB(printk("sound_read(dev=%d, count=%d)\n", dev, count));
|
||||
switch (dev & 0x0f) {
|
||||
case SND_DEV_DSP:
|
||||
case SND_DEV_DSP16:
|
||||
@@ -180,7 +179,6 @@ static ssize_t sound_write(struct file *file, const char __user *buf, size_t cou
|
||||
int ret = -EINVAL;
|
||||
|
||||
mutex_lock(&soundcard_mutex);
|
||||
DEB(printk("sound_write(dev=%d, count=%d)\n", dev, count));
|
||||
switch (dev & 0x0f) {
|
||||
case SND_DEV_SEQ:
|
||||
case SND_DEV_SEQ2:
|
||||
@@ -206,7 +204,6 @@ static int sound_open(struct inode *inode, struct file *file)
|
||||
int dev = iminor(inode);
|
||||
int retval;
|
||||
|
||||
DEB(printk("sound_open(dev=%d)\n", dev));
|
||||
if ((dev >= SND_NDEVS) || (dev < 0)) {
|
||||
printk(KERN_ERR "Invalid minor device %d\n", dev);
|
||||
return -ENXIO;
|
||||
@@ -257,7 +254,6 @@ static int sound_release(struct inode *inode, struct file *file)
|
||||
int dev = iminor(inode);
|
||||
|
||||
mutex_lock(&soundcard_mutex);
|
||||
DEB(printk("sound_release(dev=%d)\n", dev));
|
||||
switch (dev & 0x0f) {
|
||||
case SND_DEV_CTL:
|
||||
module_put(mixer_devs[dev >> 4]->owner);
|
||||
@@ -351,7 +347,6 @@ static long sound_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
if (!access_ok(VERIFY_WRITE, p, len))
|
||||
return -EFAULT;
|
||||
}
|
||||
DEB(printk("sound_ioctl(dev=%d, cmd=0x%x, arg=0x%x)\n", dev, cmd, arg));
|
||||
if (cmd == OSS_GETVERSION)
|
||||
return __put_user(SOUND_VERSION, (int __user *)p);
|
||||
|
||||
@@ -409,7 +404,6 @@ static unsigned int sound_poll(struct file *file, poll_table * wait)
|
||||
struct inode *inode = file_inode(file);
|
||||
int dev = iminor(inode);
|
||||
|
||||
DEB(printk("sound_poll(dev=%d)\n", dev));
|
||||
switch (dev & 0x0f) {
|
||||
case SND_DEV_SEQ:
|
||||
case SND_DEV_SEQ2:
|
||||
|
@@ -274,19 +274,12 @@ static int reset_uart401(uart401_devc * devc)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Flush input before enabling interrupts */
|
||||
if (ok)
|
||||
{
|
||||
DEB(printk("Reset UART401 OK\n"));
|
||||
}
|
||||
uart401_input_loop(devc);
|
||||
else
|
||||
DDB(printk("Reset UART401 failed - No hardware detected.\n"));
|
||||
|
||||
if (ok)
|
||||
uart401_input_loop(devc); /*
|
||||
* Flush input before enabling interrupts
|
||||
*/
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
Ссылка в новой задаче
Block a user