Commit a9793731 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] add one more neomagic audio device id

From: Christoph Hellwig <hch@lst.de>

From: Mattia Monga via Debian kernel package

Add support for nm256xl+ in sound/oss/nm256_audio.c
parent 1b4d4894
...@@ -52,6 +52,7 @@ static int handle_pm_event (struct pm_dev *dev, pm_request_t rqst, void *data); ...@@ -52,6 +52,7 @@ static int handle_pm_event (struct pm_dev *dev, pm_request_t rqst, void *data);
/* These belong in linux/pci.h. */ /* These belong in linux/pci.h. */
#define PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO 0x8005 #define PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO 0x8005
#define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 0x8006 #define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 0x8006
#define PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO 0x8016
/* List of cards. */ /* List of cards. */
static struct nm256_info *nmcard_list; static struct nm256_info *nmcard_list;
...@@ -1275,6 +1276,8 @@ nm256_probe(struct pci_dev *pcidev,const struct pci_device_id *pciid) ...@@ -1275,6 +1276,8 @@ nm256_probe(struct pci_dev *pcidev,const struct pci_device_id *pciid)
return nm256_install(pcidev, REV_NM256AV, "256AV"); return nm256_install(pcidev, REV_NM256AV, "256AV");
if (pcidev->device == PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO) if (pcidev->device == PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO)
return nm256_install(pcidev, REV_NM256ZX, "256ZX"); return nm256_install(pcidev, REV_NM256ZX, "256ZX");
if (pcidev->device == PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO)
return nm256_install(pcidev, REV_NM256ZX, "256XL+");
return -1; /* should not come here ... */ return -1; /* should not come here ... */
} }
...@@ -1662,6 +1665,8 @@ static struct pci_device_id nm256_pci_tbl[] = { ...@@ -1662,6 +1665,8 @@ static struct pci_device_id nm256_pci_tbl[] = {
PCI_ANY_ID, PCI_ANY_ID, 0, 0}, PCI_ANY_ID, PCI_ANY_ID, 0, 0},
{PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO,
PCI_ANY_ID, PCI_ANY_ID, 0, 0}, PCI_ANY_ID, PCI_ANY_ID, 0, 0},
{PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO,
PCI_ANY_ID, PCI_ANY_ID, 0, 0},
{0,} {0,}
}; };
MODULE_DEVICE_TABLE(pci, nm256_pci_tbl); MODULE_DEVICE_TABLE(pci, nm256_pci_tbl);
......
...@@ -275,11 +275,15 @@ struct snd_nm256 { ...@@ -275,11 +275,15 @@ struct snd_nm256 {
#ifndef PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO #ifndef PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO
#define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 0x8006 #define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 0x8006
#endif #endif
#ifndef PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO
#define PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO 0x8016
#endif
static struct pci_device_id snd_nm256_ids[] = { static struct pci_device_id snd_nm256_ids[] = {
{PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{0,}, {0,},
}; };
...@@ -1591,6 +1595,9 @@ static int __devinit snd_nm256_probe(struct pci_dev *pci, ...@@ -1591,6 +1595,9 @@ static int __devinit snd_nm256_probe(struct pci_dev *pci,
case PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO: case PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO:
strcpy(card->driver, "NM256ZX"); strcpy(card->driver, "NM256ZX");
break; break;
case PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO:
strcpy(card->driver, "NM256XL+");
break;
default: default:
snd_printk("invalid device id 0x%x\n", pci->device); snd_printk("invalid device id 0x%x\n", pci->device);
snd_card_free(card); snd_card_free(card);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment