|
@@ -318,13 +318,12 @@ static void ali_read_regs(ali_t *codec, int channel)
|
|
static void ali_read_cfg(unsigned int vendor, unsigned deviceid)
|
|
static void ali_read_cfg(unsigned int vendor, unsigned deviceid)
|
|
{
|
|
{
|
|
unsigned int dwVal;
|
|
unsigned int dwVal;
|
|
- struct pci_dev *pci_dev = NULL;
|
|
|
|
|
|
+ struct pci_dev *pci_dev;
|
|
int i,j;
|
|
int i,j;
|
|
|
|
|
|
-
|
|
|
|
- pci_dev = pci_find_device(vendor, deviceid, pci_dev);
|
|
|
|
- if (pci_dev == NULL)
|
|
|
|
- return ;
|
|
|
|
|
|
+ pci_dev = pci_get_device(vendor, deviceid, NULL);
|
|
|
|
+ if (pci_dev == NULL)
|
|
|
|
+ return ;
|
|
|
|
|
|
printk("\nM%x PCI CFG\n", deviceid);
|
|
printk("\nM%x PCI CFG\n", deviceid);
|
|
printk(" ");
|
|
printk(" ");
|
|
@@ -341,6 +340,7 @@ static void ali_read_cfg(unsigned int vendor, unsigned deviceid)
|
|
}
|
|
}
|
|
printk("\n");
|
|
printk("\n");
|
|
}
|
|
}
|
|
|
|
+ pci_dev_put(pci_dev);
|
|
}
|
|
}
|
|
static void ali_read_ac97regs(ali_t *codec, int secondary)
|
|
static void ali_read_ac97regs(ali_t *codec, int secondary)
|
|
{
|
|
{
|
|
@@ -2108,6 +2108,8 @@ static int snd_ali_free(ali_t * codec)
|
|
#ifdef CONFIG_PM
|
|
#ifdef CONFIG_PM
|
|
kfree(codec->image);
|
|
kfree(codec->image);
|
|
#endif
|
|
#endif
|
|
|
|
+ pci_dev_put(codec->pci_m1533);
|
|
|
|
+ pci_dev_put(codec->pci_m7101);
|
|
kfree(codec);
|
|
kfree(codec);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -2297,7 +2299,7 @@ static int __devinit snd_ali_create(snd_card_t * card,
|
|
codec->chregs.data.ainten = 0x00;
|
|
codec->chregs.data.ainten = 0x00;
|
|
|
|
|
|
/* M1533: southbridge */
|
|
/* M1533: southbridge */
|
|
- pci_dev = pci_find_device(0x10b9, 0x1533, NULL);
|
|
|
|
|
|
+ pci_dev = pci_get_device(0x10b9, 0x1533, NULL);
|
|
codec->pci_m1533 = pci_dev;
|
|
codec->pci_m1533 = pci_dev;
|
|
if (! codec->pci_m1533) {
|
|
if (! codec->pci_m1533) {
|
|
snd_printk(KERN_ERR "ali5451: cannot find ALi 1533 chip.\n");
|
|
snd_printk(KERN_ERR "ali5451: cannot find ALi 1533 chip.\n");
|
|
@@ -2305,7 +2307,7 @@ static int __devinit snd_ali_create(snd_card_t * card,
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
}
|
|
}
|
|
/* M7101: power management */
|
|
/* M7101: power management */
|
|
- pci_dev = pci_find_device(0x10b9, 0x7101, NULL);
|
|
|
|
|
|
+ pci_dev = pci_get_device(0x10b9, 0x7101, NULL);
|
|
codec->pci_m7101 = pci_dev;
|
|
codec->pci_m7101 = pci_dev;
|
|
if (! codec->pci_m7101 && codec->revision == ALI_5451_V02) {
|
|
if (! codec->pci_m7101 && codec->revision == ALI_5451_V02) {
|
|
snd_printk(KERN_ERR "ali5451: cannot find ALi 7101 chip.\n");
|
|
snd_printk(KERN_ERR "ali5451: cannot find ALi 7101 chip.\n");
|