[media] cobalt: use pci_irq_allocate_vectors()
Simplify the interrupt setup by using the new PCI layer helpers. Despite using pci_enable_msi_range(), this driver was only requesting a single MSI vector anyway. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
dadf17334f
commit
e8e8dd6d20
|
@ -308,9 +308,7 @@ static void cobalt_pci_iounmap(struct cobalt *cobalt, struct pci_dev *pci_dev)
|
|||
static void cobalt_free_msi(struct cobalt *cobalt, struct pci_dev *pci_dev)
|
||||
{
|
||||
free_irq(pci_dev->irq, (void *)cobalt);
|
||||
|
||||
if (cobalt->msi_enabled)
|
||||
pci_disable_msi(pci_dev);
|
||||
pci_free_irq_vectors(pci_dev);
|
||||
}
|
||||
|
||||
static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev,
|
||||
|
@ -387,14 +385,12 @@ static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev,
|
|||
from being generated. */
|
||||
cobalt_set_interrupt(cobalt, false);
|
||||
|
||||
if (pci_enable_msi_range(pci_dev, 1, 1) < 1) {
|
||||
if (pci_alloc_irq_vectors(pci_dev, 1, 1, PCI_IRQ_MSI) < 1) {
|
||||
cobalt_err("Could not enable MSI\n");
|
||||
cobalt->msi_enabled = false;
|
||||
ret = -EIO;
|
||||
goto err_release;
|
||||
}
|
||||
msi_config_show(cobalt, pci_dev);
|
||||
cobalt->msi_enabled = true;
|
||||
|
||||
/* Register IRQ */
|
||||
if (request_irq(pci_dev->irq, cobalt_irq_handler, IRQF_SHARED,
|
||||
|
|
|
@ -287,8 +287,6 @@ struct cobalt {
|
|||
u32 irq_none;
|
||||
u32 irq_full_fifo;
|
||||
|
||||
bool msi_enabled;
|
||||
|
||||
/* omnitek dma */
|
||||
int dma_channels;
|
||||
int first_fifo_channel;
|
||||
|
|
Loading…
Reference in New Issue