diff options
Diffstat (limited to 'sound/pci/cs46xx/cs46xx_lib.c')
| -rw-r--r-- | sound/pci/cs46xx/cs46xx_lib.c | 62 | 
1 files changed, 8 insertions, 54 deletions
| diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 32b44f25b5c8..8d74004b1ed2 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c @@ -57,6 +57,7 @@  #include <linux/module.h>  #include <linux/firmware.h>  #include <linux/vmalloc.h> +#include <linux/io.h>  #include <sound/core.h>  #include <sound/control.h> @@ -65,8 +66,6 @@  #include <sound/pcm_params.h>  #include "cs46xx.h" -#include <asm/io.h> -  #include "cs46xx_lib.h"  #include "dsp_spos.h" @@ -1778,13 +1777,11 @@ static struct snd_pcm_ops snd_cs46xx_capture_indirect_ops = {  #define MAX_PLAYBACK_CHANNELS	1  #endif -int snd_cs46xx_pcm(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm) +int snd_cs46xx_pcm(struct snd_cs46xx *chip, int device)  {  	struct snd_pcm *pcm;  	int err; -	if (rpcm) -		*rpcm = NULL;  	if ((err = snd_pcm_new(chip->card, "CS46xx", device, MAX_PLAYBACK_CHANNELS, 1, &pcm)) < 0)  		return err; @@ -1801,23 +1798,16 @@ int snd_cs46xx_pcm(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm)  	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,  					      snd_dma_pci_data(chip->pci), 64*1024, 256*1024); -	if (rpcm) -		*rpcm = pcm; -  	return 0;  }  #ifdef CONFIG_SND_CS46XX_NEW_DSP -int snd_cs46xx_pcm_rear(struct snd_cs46xx *chip, int device, -			struct snd_pcm **rpcm) +int snd_cs46xx_pcm_rear(struct snd_cs46xx *chip, int device)  {  	struct snd_pcm *pcm;  	int err; -	if (rpcm) -		*rpcm = NULL; -  	if ((err = snd_pcm_new(chip->card, "CS46xx - Rear", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)  		return err; @@ -1833,21 +1823,14 @@ int snd_cs46xx_pcm_rear(struct snd_cs46xx *chip, int device,  	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,  					      snd_dma_pci_data(chip->pci), 64*1024, 256*1024); -	if (rpcm) -		*rpcm = pcm; -  	return 0;  } -int snd_cs46xx_pcm_center_lfe(struct snd_cs46xx *chip, int device, -			      struct snd_pcm **rpcm) +int snd_cs46xx_pcm_center_lfe(struct snd_cs46xx *chip, int device)  {  	struct snd_pcm *pcm;  	int err; -	if (rpcm) -		*rpcm = NULL; -  	if ((err = snd_pcm_new(chip->card, "CS46xx - Center LFE", device, MAX_PLAYBACK_CHANNELS, 0, &pcm)) < 0)  		return err; @@ -1863,21 +1846,14 @@ int snd_cs46xx_pcm_center_lfe(struct snd_cs46xx *chip, int device,  	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,  					      snd_dma_pci_data(chip->pci), 64*1024, 256*1024); -	if (rpcm) -		*rpcm = pcm; -  	return 0;  } -int snd_cs46xx_pcm_iec958(struct snd_cs46xx *chip, int device, -			  struct snd_pcm **rpcm) +int snd_cs46xx_pcm_iec958(struct snd_cs46xx *chip, int device)  {  	struct snd_pcm *pcm;  	int err; -	if (rpcm) -		*rpcm = NULL; -  	if ((err = snd_pcm_new(chip->card, "CS46xx - IEC958", device, 1, 0, &pcm)) < 0)  		return err; @@ -1893,9 +1869,6 @@ int snd_cs46xx_pcm_iec958(struct snd_cs46xx *chip, int device,  	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,  					      snd_dma_pci_data(chip->pci), 64*1024, 256*1024); -	if (rpcm) -		*rpcm = pcm; -  	return 0;  }  #endif @@ -2724,13 +2697,11 @@ static struct snd_rawmidi_ops snd_cs46xx_midi_input =  	.trigger =	snd_cs46xx_midi_input_trigger,  }; -int snd_cs46xx_midi(struct snd_cs46xx *chip, int device, struct snd_rawmidi **rrawmidi) +int snd_cs46xx_midi(struct snd_cs46xx *chip, int device)  {  	struct snd_rawmidi *rmidi;  	int err; -	if (rrawmidi) -		*rrawmidi = NULL;  	if ((err = snd_rawmidi_new(chip->card, "CS46XX", device, 1, 1, &rmidi)) < 0)  		return err;  	strcpy(rmidi->name, "CS46XX"); @@ -2739,8 +2710,6 @@ int snd_cs46xx_midi(struct snd_cs46xx *chip, int device, struct snd_rawmidi **rr  	rmidi->info_flags |= SNDRV_RAWMIDI_INFO_OUTPUT | SNDRV_RAWMIDI_INFO_INPUT | SNDRV_RAWMIDI_INFO_DUPLEX;  	rmidi->private_data = chip;  	chip->rmidi = rmidi; -	if (rrawmidi) -		*rrawmidi = NULL;  	return 0;  } @@ -2979,8 +2948,8 @@ static int snd_cs46xx_free(struct snd_cs46xx *chip)  	for (idx = 0; idx < 5; idx++) {  		struct snd_cs46xx_region *region = &chip->region.idx[idx]; -		if (region->remap_addr) -			iounmap(region->remap_addr); + +		iounmap(region->remap_addr);  		release_and_free_resource(region->resource);  	} @@ -3804,7 +3773,6 @@ static unsigned int saved_regs[] = {  static int snd_cs46xx_suspend(struct device *dev)  { -	struct pci_dev *pci = to_pci_dev(dev);  	struct snd_card *card = dev_get_drvdata(dev);  	struct snd_cs46xx *chip = card->private_data;  	int i, amp_saved; @@ -3829,16 +3797,11 @@ static int snd_cs46xx_suspend(struct device *dev)  	/* disable CLKRUN */  	chip->active_ctrl(chip, -chip->amplifier);  	chip->amplifier = amp_saved; /* restore the status */ - -	pci_disable_device(pci); -	pci_save_state(pci); -	pci_set_power_state(pci, PCI_D3hot);  	return 0;  }  static int snd_cs46xx_resume(struct device *dev)  { -	struct pci_dev *pci = to_pci_dev(dev);  	struct snd_card *card = dev_get_drvdata(dev);  	struct snd_cs46xx *chip = card->private_data;  	int amp_saved; @@ -3847,15 +3810,6 @@ static int snd_cs46xx_resume(struct device *dev)  #endif  	unsigned int tmp; -	pci_set_power_state(pci, PCI_D0); -	pci_restore_state(pci); -	if (pci_enable_device(pci) < 0) { -		dev_err(dev, "pci_enable_device failed, disabling device\n"); -		snd_card_disconnect(card); -		return -EIO; -	} -	pci_set_master(pci); -  	amp_saved = chip->amplifier;  	chip->amplifier = 0;  	chip->active_ctrl(chip, 1); /* force to on */ |