rt2x00: Introduce separate interface type for PCI-express.
authorGertjan van Wingerde <gwingerde@gmail.com>
Thu, 3 Jun 2010 08:52:00 +0000 (10:52 +0200)
committerIvo van Doorn <IvDoorn@gmail.com>
Thu, 3 Jun 2010 08:52:00 +0000 (10:52 +0200)
Needed later for PCI-express specific code in rt2800pci.

Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00pci.c

index 9fc3612dd182d90fc37220972d798e57922b66ee..e7acc6abfd891fe87df046003ad55d22dab0fc3e 100644 (file)
@@ -160,6 +160,7 @@ struct avg_val {
 
 enum rt2x00_chip_intf {
        RT2X00_CHIP_INTF_PCI,
+       RT2X00_CHIP_INTF_PCIE,
        RT2X00_CHIP_INTF_USB,
        RT2X00_CHIP_INTF_SOC,
 };
@@ -980,7 +981,13 @@ static inline bool rt2x00_intf(struct rt2x00_dev *rt2x00dev,
 
 static inline bool rt2x00_is_pci(struct rt2x00_dev *rt2x00dev)
 {
-       return rt2x00_intf(rt2x00dev, RT2X00_CHIP_INTF_PCI);
+       return rt2x00_intf(rt2x00dev, RT2X00_CHIP_INTF_PCI) ||
+              rt2x00_intf(rt2x00dev, RT2X00_CHIP_INTF_PCIE);
+}
+
+static inline bool rt2x00_is_pcie(struct rt2x00_dev *rt2x00dev)
+{
+       return rt2x00_intf(rt2x00dev, RT2X00_CHIP_INTF_PCIE);
 }
 
 static inline bool rt2x00_is_usb(struct rt2x00_dev *rt2x00dev)
index d583ee070b47cc16b53be46a6df8f13fa5b7c74a..10eaffd12b1b9faa387748b7e9392d9294f5861d 100644 (file)
@@ -351,7 +351,10 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
        rt2x00dev->irq = pci_dev->irq;
        rt2x00dev->name = pci_name(pci_dev);
 
-       rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_PCI);
+       if (pci_dev->is_pcie)
+               rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_PCIE);
+       else
+               rt2x00_set_chip_intf(rt2x00dev, RT2X00_CHIP_INTF_PCI);
 
        retval = rt2x00pci_alloc_reg(rt2x00dev);
        if (retval)