mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2023-10-10 13:37:43 +02:00
fixes for 3.x kernels
This commit is contained in:
parent
991393950b
commit
dedb5bd387
@ -32,10 +32,27 @@ MODULE_PARM_DESC(msi,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (KERNEL_VERSION(4, 8, 0) > LINUX_VERSION_CODE)
|
#if (KERNEL_VERSION(4, 8, 0) > LINUX_VERSION_CODE)
|
||||||
|
#if (KERNEL_VERSION(3, 19, 0) > LINUX_VERSION_CODE)
|
||||||
|
#define msi_desc_to_dev(desc) (&(desc)->dev.dev)
|
||||||
|
#define dev_to_msi_list(dev) (&to_pci_dev((dev))->msi_list)
|
||||||
|
#define first_msi_entry(dev) \
|
||||||
|
list_first_entry(dev_to_msi_list((dev)), struct msi_desc, list)
|
||||||
|
#define for_each_msi_entry(desc, dev) \
|
||||||
|
list_for_each_entry((desc), dev_to_msi_list((dev)), list)
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCI_MSI
|
||||||
|
#define first_pci_msi_entry(pdev) first_msi_entry(&(pdev)->dev)
|
||||||
|
#define for_each_pci_msi_entry(desc, pdev) \
|
||||||
|
for_each_msi_entry((desc), &(pdev)->dev)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <linux/msi.h>
|
#include <linux/msi.h>
|
||||||
|
|
||||||
int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
|
int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_PCI_MSI
|
||||||
if (dev->msix_enabled) {
|
if (dev->msix_enabled) {
|
||||||
struct msi_desc *entry;
|
struct msi_desc *entry;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -48,6 +65,8 @@ int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
|
|||||||
WARN_ON_ONCE(1);
|
WARN_ON_ONCE(1);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
/* This does not work < 3.19 because nvec_used is used differently. */
|
||||||
|
#if (KERNEL_VERSION(3, 19, 0) <= LINUX_VERSION_CODE)
|
||||||
if (dev->msi_enabled) {
|
if (dev->msi_enabled) {
|
||||||
struct msi_desc *entry = first_pci_msi_entry(dev);
|
struct msi_desc *entry = first_pci_msi_entry(dev);
|
||||||
|
|
||||||
@ -57,6 +76,8 @@ int pci_irq_vector(struct pci_dev *dev, unsigned int nr)
|
|||||||
if (WARN_ON_ONCE(nr > 0))
|
if (WARN_ON_ONCE(nr > 0))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
return dev->irq + nr;
|
return dev->irq + nr;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1382,7 +1382,7 @@ static int dvb_net_add_if(struct dvb_net *dvbnet, u16 pid, u8 feedtype)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
net = alloc_netdev(sizeof(struct dvb_net_priv), "dvb",
|
net = alloc_netdev(sizeof(struct dvb_net_priv), "dvb",
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0))
|
||||||
NET_NAME_UNKNOWN,
|
NET_NAME_UNKNOWN,
|
||||||
#endif
|
#endif
|
||||||
dvb_net_setup);
|
dvb_net_setup);
|
||||||
|
Loading…
Reference in New Issue
Block a user