Merge branch 'for-3.16' of git://linux-nfs.org/~bfields/linux
[firefly-linux-kernel-4.4.55.git] / sound / pci / als300.c
index 9acd88ab93a432029527220b25914743d716af1a..cc9a15a1304ba191f902b91bdebbc835401200d7 100644 (file)
 #define PLAYBACK_BLOCK_COUNTER 0x9A
 #define RECORD_BLOCK_COUNTER   0x9B
 
-#define DEBUG_CALLS    0
 #define DEBUG_PLAY_REC 0
 
-#if DEBUG_CALLS
-#define snd_als300_dbgcalls(format, args...) printk(KERN_DEBUG format, ##args)
-#define snd_als300_dbgcallenter() printk(KERN_ERR "--> %s\n", __func__)
-#define snd_als300_dbgcallleave() printk(KERN_ERR "<-- %s\n", __func__)
-#else
-#define snd_als300_dbgcalls(format, args...)
-#define snd_als300_dbgcallenter()
-#define snd_als300_dbgcallleave()
-#endif
-
 #if DEBUG_PLAY_REC
 #define snd_als300_dbgplay(format, args...) printk(KERN_ERR format, ##args)
 #else
@@ -177,7 +166,6 @@ static inline void snd_als300_gcr_write(unsigned long port,
 static void snd_als300_set_irq_flag(struct snd_als300 *chip, int cmd)
 {
        u32 tmp = snd_als300_gcr_read(chip->port, MISC_CONTROL);
-       snd_als300_dbgcallenter();
 
        /* boolean XOR check, since old vs. new hardware have
           directly reversed bit setting for ENABLE and DISABLE.
@@ -188,19 +176,16 @@ static void snd_als300_set_irq_flag(struct snd_als300 *chip, int cmd)
        else
                tmp &= ~IRQ_SET_BIT;
        snd_als300_gcr_write(chip->port, MISC_CONTROL, tmp);
-       snd_als300_dbgcallleave();
 }
 
 static int snd_als300_free(struct snd_als300 *chip)
 {
-       snd_als300_dbgcallenter();
        snd_als300_set_irq_flag(chip, IRQ_DISABLE);
        if (chip->irq >= 0)
                free_irq(chip->irq, chip);
        pci_release_regions(chip->pci);
        pci_disable_device(chip->pci);
        kfree(chip);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -280,9 +265,7 @@ static irqreturn_t snd_als300plus_interrupt(int irq, void *dev_id)
 
 static void snd_als300_remove(struct pci_dev *pci)
 {
-       snd_als300_dbgcallenter();
        snd_card_free(pci_get_drvdata(pci));
-       snd_als300_dbgcallleave();
 }
 
 static unsigned short snd_als300_ac97_read(struct snd_ac97 *ac97,
@@ -330,14 +313,12 @@ static int snd_als300_ac97(struct snd_als300 *chip)
                .read = snd_als300_ac97_read,
        };
 
-       snd_als300_dbgcallenter();
        if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus)) < 0)
                return err;
 
        memset(&ac97, 0, sizeof(ac97));
        ac97.private_data = chip;
 
-       snd_als300_dbgcallleave();
        return snd_ac97_mixer(bus, &ac97, &chip->ac97);
 }
 
@@ -395,13 +376,11 @@ static int snd_als300_playback_open(struct snd_pcm_substream *substream)
 
        if (!data)
                return -ENOMEM;
-       snd_als300_dbgcallenter();
        chip->playback_substream = substream;
        runtime->hw = snd_als300_playback_hw;
        runtime->private_data = data;
        data->control_register = PLAYBACK_CONTROL;
        data->block_counter_register = PLAYBACK_BLOCK_COUNTER;
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -411,11 +390,9 @@ static int snd_als300_playback_close(struct snd_pcm_substream *substream)
        struct snd_als300_substream_data *data;
 
        data = substream->runtime->private_data;
-       snd_als300_dbgcallenter();
        kfree(data);
        chip->playback_substream = NULL;
        snd_pcm_lib_free_pages(substream);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -428,13 +405,11 @@ static int snd_als300_capture_open(struct snd_pcm_substream *substream)
 
        if (!data)
                return -ENOMEM;
-       snd_als300_dbgcallenter();
        chip->capture_substream = substream;
        runtime->hw = snd_als300_capture_hw;
        runtime->private_data = data;
        data->control_register = RECORD_CONTROL;
        data->block_counter_register = RECORD_BLOCK_COUNTER;
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -444,11 +419,9 @@ static int snd_als300_capture_close(struct snd_pcm_substream *substream)
        struct snd_als300_substream_data *data;
 
        data = substream->runtime->private_data;
-       snd_als300_dbgcallenter();
        kfree(data);
        chip->capture_substream = NULL;
        snd_pcm_lib_free_pages(substream);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -472,7 +445,6 @@ static int snd_als300_playback_prepare(struct snd_pcm_substream *substream)
        unsigned short period_bytes = snd_pcm_lib_period_bytes(substream);
        unsigned short buffer_bytes = snd_pcm_lib_buffer_bytes(substream);
        
-       snd_als300_dbgcallenter();
        spin_lock_irq(&chip->reg_lock);
        tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
        tmp &= ~TRANSFER_START;
@@ -491,7 +463,6 @@ static int snd_als300_playback_prepare(struct snd_pcm_substream *substream)
        snd_als300_gcr_write(chip->port, PLAYBACK_END,
                                        runtime->dma_addr + buffer_bytes - 1);
        spin_unlock_irq(&chip->reg_lock);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -503,7 +474,6 @@ static int snd_als300_capture_prepare(struct snd_pcm_substream *substream)
        unsigned short period_bytes = snd_pcm_lib_period_bytes(substream);
        unsigned short buffer_bytes = snd_pcm_lib_buffer_bytes(substream);
 
-       snd_als300_dbgcallenter();
        spin_lock_irq(&chip->reg_lock);
        tmp = snd_als300_gcr_read(chip->port, RECORD_CONTROL);
        tmp &= ~TRANSFER_START;
@@ -522,7 +492,6 @@ static int snd_als300_capture_prepare(struct snd_pcm_substream *substream)
        snd_als300_gcr_write(chip->port, RECORD_END,
                                        runtime->dma_addr + buffer_bytes - 1);
        spin_unlock_irq(&chip->reg_lock);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -537,7 +506,6 @@ static int snd_als300_trigger(struct snd_pcm_substream *substream, int cmd)
        data = substream->runtime->private_data;
        reg = data->control_register;
 
-       snd_als300_dbgcallenter();
        spin_lock(&chip->reg_lock);
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
@@ -568,7 +536,6 @@ static int snd_als300_trigger(struct snd_pcm_substream *substream, int cmd)
                ret = -EINVAL;
        }
        spin_unlock(&chip->reg_lock);
-       snd_als300_dbgcallleave();
        return ret;
 }
 
@@ -582,7 +549,6 @@ static snd_pcm_uframes_t snd_als300_pointer(struct snd_pcm_substream *substream)
        data = substream->runtime->private_data;
        period_bytes = snd_pcm_lib_period_bytes(substream);
        
-       snd_als300_dbgcallenter();
        spin_lock(&chip->reg_lock);
        current_ptr = (u16) snd_als300_gcr_read(chip->port,
                                        data->block_counter_register) + 4;
@@ -595,7 +561,6 @@ static snd_pcm_uframes_t snd_als300_pointer(struct snd_pcm_substream *substream)
        if (data->period_flipflop == 0)
                current_ptr += period_bytes;
        snd_als300_dbgplay("Pointer (bytes): %d\n", current_ptr);
-       snd_als300_dbgcallleave();
        return bytes_to_frames(substream->runtime, current_ptr);
 }
 
@@ -626,7 +591,6 @@ static int snd_als300_new_pcm(struct snd_als300 *chip)
        struct snd_pcm *pcm;
        int err;
 
-       snd_als300_dbgcallenter();
        err = snd_pcm_new(chip->card, "ALS300", 0, 1, 1, &pcm);
        if (err < 0)
                return err;
@@ -643,7 +607,6 @@ static int snd_als300_new_pcm(struct snd_als300 *chip)
        /* pre-allocation of buffers */
        snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
        snd_dma_pci_data(chip->pci), 64*1024, 64*1024);
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -652,7 +615,6 @@ static void snd_als300_init(struct snd_als300 *chip)
        unsigned long flags;
        u32 tmp;
        
-       snd_als300_dbgcallenter();
        spin_lock_irqsave(&chip->reg_lock, flags);
        chip->revision = (snd_als300_gcr_read(chip->port, MISC_CONTROL) >> 16)
                                                                & 0x0000000F;
@@ -679,7 +641,6 @@ static void snd_als300_init(struct snd_als300 *chip)
        snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL,
                        tmp & ~TRANSFER_START);
        spin_unlock_irqrestore(&chip->reg_lock, flags);
-       snd_als300_dbgcallleave();
 }
 
 static int snd_als300_create(struct snd_card *card,
@@ -695,13 +656,12 @@ static int snd_als300_create(struct snd_card *card,
        };
        *rchip = NULL;
 
-       snd_als300_dbgcallenter();
        if ((err = pci_enable_device(pci)) < 0)
                return err;
 
        if (pci_set_dma_mask(pci, DMA_BIT_MASK(28)) < 0 ||
                pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(28)) < 0) {
-               printk(KERN_ERR "error setting 28bit DMA mask\n");
+               dev_err(card->dev, "error setting 28bit DMA mask\n");
                pci_disable_device(pci);
                return -ENXIO;
        }
@@ -733,7 +693,7 @@ static int snd_als300_create(struct snd_card *card,
 
        if (request_irq(pci->irq, irq_handler, IRQF_SHARED,
                        KBUILD_MODNAME, chip)) {
-               snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq);
+               dev_err(card->dev, "unable to grab IRQ %d\n", pci->irq);
                snd_als300_free(chip);
                return -EBUSY;
        }
@@ -744,13 +704,13 @@ static int snd_als300_create(struct snd_card *card,
 
        err = snd_als300_ac97(chip);
        if (err < 0) {
-               snd_printk(KERN_WARNING "Could not create ac97\n");
+               dev_err(card->dev, "Could not create ac97\n");
                snd_als300_free(chip);
                return err;
        }
 
        if ((err = snd_als300_new_pcm(chip)) < 0) {
-               snd_printk(KERN_WARNING "Could not create PCM\n");
+               dev_err(card->dev, "Could not create PCM\n");
                snd_als300_free(chip);
                return err;
        }
@@ -762,7 +722,6 @@ static int snd_als300_create(struct snd_card *card,
        }
 
        *rchip = chip;
-       snd_als300_dbgcallleave();
        return 0;
 }
 
@@ -792,8 +751,7 @@ static int snd_als300_resume(struct device *dev)
        pci_set_power_state(pci, PCI_D0);
        pci_restore_state(pci);
        if (pci_enable_device(pci) < 0) {
-               printk(KERN_ERR "als300: pci_enable_device failed, "
-                      "disabling device\n");
+               dev_err(dev, "pci_enable_device failed, disabling device\n");
                snd_card_disconnect(card);
                return -EIO;
        }