diff options
Diffstat (limited to 'meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch')
-rw-r--r-- | meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch new file mode 100644 index 00000000..22fb6f89 --- /dev/null +++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-16.07-net-igb-move-PCI-device-IDs-from-EAL.patch | |||
@@ -0,0 +1,278 @@ | |||
1 | From 368fd936258873ee848f2c265e4ffd8e5d21d20e Mon Sep 17 00:00:00 2001 | ||
2 | From: Ferruh Yigit <ferruh.yigit@intel.com> | ||
3 | Date: Fri, 5 Aug 2016 15:09:30 +0100 | ||
4 | Subject: [PATCH 2/3] net/igb: move PCI device IDs from EAL | ||
5 | |||
6 | Upstream-Status: Backport [http://dpdk.org/browse/dpdk/commit/?id= | ||
7 | 109febfe58f93c5b425772563c35d4414a1a2c1c] | ||
8 | |||
9 | PCI device ids moved from common header into igb driver itself. | ||
10 | |||
11 | KNI starts using pci_device_id from kni/ethtool/igb driver, this is only | ||
12 | for KNI ethtool support, KNI data path is not affected. | ||
13 | |||
14 | Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> | ||
15 | (cherry picked from commit 109febfe58f93c5b425772563c35d4414a1a2c1c) | ||
16 | Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com> | ||
17 | --- | ||
18 | drivers/net/e1000/igb_ethdev.c | 55 +++++++++-- | ||
19 | lib/librte_eal/common/include/rte_pci_dev_ids.h | 107 --------------------- | ||
20 | lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 2 +- | ||
21 | lib/librte_eal/linuxapp/kni/kni_misc.c | 20 +--- | ||
22 | 4 files changed, 50 insertions(+), 134 deletions(-) | ||
23 | |||
24 | diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c | ||
25 | index fbf4d09..4e9e6a3 100644 | ||
26 | --- a/drivers/net/e1000/igb_ethdev.c | ||
27 | +++ b/drivers/net/e1000/igb_ethdev.c | ||
28 | @@ -306,22 +306,57 @@ static enum e1000_fc_mode igb_fc_setting = e1000_fc_full; | ||
29 | * The set of PCI devices this driver supports | ||
30 | */ | ||
31 | static const struct rte_pci_id pci_id_igb_map[] = { | ||
32 | - | ||
33 | -#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, | ||
34 | -#include "rte_pci_dev_ids.h" | ||
35 | - | ||
36 | -{0}, | ||
37 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576) }, | ||
38 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_FIBER) }, | ||
39 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES) }, | ||
40 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER) }, | ||
41 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_QUAD_COPPER_ET2) }, | ||
42 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS) }, | ||
43 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_NS_SERDES) }, | ||
44 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_SERDES_QUAD) }, | ||
45 | + | ||
46 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_COPPER) }, | ||
47 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575EB_FIBER_SERDES) }, | ||
48 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82575GB_QUAD_COPPER) }, | ||
49 | + | ||
50 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER) }, | ||
51 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_FIBER) }, | ||
52 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SERDES) }, | ||
53 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_SGMII) }, | ||
54 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_COPPER_DUAL) }, | ||
55 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82580_QUAD_FIBER) }, | ||
56 | + | ||
57 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_COPPER) }, | ||
58 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_FIBER) }, | ||
59 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SERDES) }, | ||
60 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_SGMII) }, | ||
61 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_DA4) }, | ||
62 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER) }, | ||
63 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_OEM1) }, | ||
64 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_COPPER_IT) }, | ||
65 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_FIBER) }, | ||
66 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SERDES) }, | ||
67 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I210_SGMII) }, | ||
68 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I211_COPPER) }, | ||
69 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, | ||
70 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_SGMII) }, | ||
71 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, | ||
72 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SGMII) }, | ||
73 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SERDES) }, | ||
74 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_BACKPLANE) }, | ||
75 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_DH89XXCC_SFP) }, | ||
76 | + { .vendor_id = 0, /* sentinel */ }, | ||
77 | }; | ||
78 | |||
79 | /* | ||
80 | * The set of PCI devices this driver supports (for 82576&I350 VF) | ||
81 | */ | ||
82 | static const struct rte_pci_id pci_id_igbvf_map[] = { | ||
83 | - | ||
84 | -#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) {RTE_PCI_DEVICE(vend, dev)}, | ||
85 | -#include "rte_pci_dev_ids.h" | ||
86 | - | ||
87 | -{0}, | ||
88 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF) }, | ||
89 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_82576_VF_HV) }, | ||
90 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF) }, | ||
91 | + { RTE_PCI_DEVICE(E1000_INTEL_VENDOR_ID, E1000_DEV_ID_I350_VF_HV) }, | ||
92 | + { .vendor_id = 0, /* sentinel */ }, | ||
93 | }; | ||
94 | |||
95 | static const struct rte_eth_desc_lim rx_desc_lim = { | ||
96 | diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
97 | index 1f9d372..1aae6f7 100644 | ||
98 | --- a/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
99 | +++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h | ||
100 | @@ -57,114 +57,7 @@ | ||
101 | * | ||
102 | */ | ||
103 | |||
104 | -#ifndef RTE_PCI_DEV_ID_DECL_IGB | ||
105 | -#define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) | ||
106 | -#endif | ||
107 | - | ||
108 | -#ifndef RTE_PCI_DEV_ID_DECL_IGBVF | ||
109 | -#define RTE_PCI_DEV_ID_DECL_IGBVF(vend, dev) | ||
110 | -#endif | ||
111 | - | ||
112 | #ifndef PCI_VENDOR_ID_INTEL | ||
113 | /** Vendor ID used by Intel devices */ | ||
114 | #define PCI_VENDOR_ID_INTEL 0x8086 | ||
115 | #endif | ||
116 | - | ||
117 | -/******************** Physical IGB devices from e1000_hw.h ********************/ | ||
118 | - | ||
119 | -#define E1000_DEV_ID_82576 0x10C9 | ||
120 | -#define E1000_DEV_ID_82576_FIBER 0x10E6 | ||
121 | -#define E1000_DEV_ID_82576_SERDES 0x10E7 | ||
122 | -#define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8 | ||
123 | -#define E1000_DEV_ID_82576_QUAD_COPPER_ET2 0x1526 | ||
124 | -#define E1000_DEV_ID_82576_NS 0x150A | ||
125 | -#define E1000_DEV_ID_82576_NS_SERDES 0x1518 | ||
126 | -#define E1000_DEV_ID_82576_SERDES_QUAD 0x150D | ||
127 | -#define E1000_DEV_ID_82575EB_COPPER 0x10A7 | ||
128 | -#define E1000_DEV_ID_82575EB_FIBER_SERDES 0x10A9 | ||
129 | -#define E1000_DEV_ID_82575GB_QUAD_COPPER 0x10D6 | ||
130 | -#define E1000_DEV_ID_82580_COPPER 0x150E | ||
131 | -#define E1000_DEV_ID_82580_FIBER 0x150F | ||
132 | -#define E1000_DEV_ID_82580_SERDES 0x1510 | ||
133 | -#define E1000_DEV_ID_82580_SGMII 0x1511 | ||
134 | -#define E1000_DEV_ID_82580_COPPER_DUAL 0x1516 | ||
135 | -#define E1000_DEV_ID_82580_QUAD_FIBER 0x1527 | ||
136 | -#define E1000_DEV_ID_I350_COPPER 0x1521 | ||
137 | -#define E1000_DEV_ID_I350_FIBER 0x1522 | ||
138 | -#define E1000_DEV_ID_I350_SERDES 0x1523 | ||
139 | -#define E1000_DEV_ID_I350_SGMII 0x1524 | ||
140 | -#define E1000_DEV_ID_I350_DA4 0x1546 | ||
141 | -#define E1000_DEV_ID_I210_COPPER 0x1533 | ||
142 | -#define E1000_DEV_ID_I210_COPPER_OEM1 0x1534 | ||
143 | -#define E1000_DEV_ID_I210_COPPER_IT 0x1535 | ||
144 | -#define E1000_DEV_ID_I210_FIBER 0x1536 | ||
145 | -#define E1000_DEV_ID_I210_SERDES 0x1537 | ||
146 | -#define E1000_DEV_ID_I210_SGMII 0x1538 | ||
147 | -#define E1000_DEV_ID_I210_COPPER_FLASHLESS 0x157B | ||
148 | -#define E1000_DEV_ID_I210_SERDES_FLASHLESS 0x157C | ||
149 | -#define E1000_DEV_ID_I211_COPPER 0x1539 | ||
150 | -#define E1000_DEV_ID_I354_BACKPLANE_1GBPS 0x1F40 | ||
151 | -#define E1000_DEV_ID_I354_SGMII 0x1F41 | ||
152 | -#define E1000_DEV_ID_I354_BACKPLANE_2_5GBPS 0x1F45 | ||
153 | -#define E1000_DEV_ID_DH89XXCC_SGMII 0x0438 | ||
154 | -#define E1000_DEV_ID_DH89XXCC_SERDES 0x043A | ||
155 | -#define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C | ||
156 | -#define E1000_DEV_ID_DH89XXCC_SFP 0x0440 | ||
157 | - | ||
158 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576) | ||
159 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_FIBER) | ||
160 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES) | ||
161 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER) | ||
162 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_QUAD_COPPER_ET2) | ||
163 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS) | ||
164 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_NS_SERDES) | ||
165 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_SERDES_QUAD) | ||
166 | - | ||
167 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER) | ||
168 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES) | ||
169 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER) | ||
170 | - | ||
171 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER) | ||
172 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_FIBER) | ||
173 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SERDES) | ||
174 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_SGMII) | ||
175 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_COPPER_DUAL) | ||
176 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82580_QUAD_FIBER) | ||
177 | - | ||
178 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_COPPER) | ||
179 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_FIBER) | ||
180 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SERDES) | ||
181 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_SGMII) | ||
182 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_DA4) | ||
183 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER) | ||
184 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_OEM1) | ||
185 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_COPPER_IT) | ||
186 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_FIBER) | ||
187 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SERDES) | ||
188 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I210_SGMII) | ||
189 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I211_COPPER) | ||
190 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) | ||
191 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_SGMII) | ||
192 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) | ||
193 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SGMII) | ||
194 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SERDES) | ||
195 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_BACKPLANE) | ||
196 | -RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_DH89XXCC_SFP) | ||
197 | - | ||
198 | -/****************** Virtual IGB devices from e1000_hw.h ******************/ | ||
199 | - | ||
200 | -#define E1000_DEV_ID_82576_VF 0x10CA | ||
201 | -#define E1000_DEV_ID_82576_VF_HV 0x152D | ||
202 | -#define E1000_DEV_ID_I350_VF 0x1520 | ||
203 | -#define E1000_DEV_ID_I350_VF_HV 0x152F | ||
204 | - | ||
205 | -RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF) | ||
206 | -RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82576_VF_HV) | ||
207 | -RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF) | ||
208 | -RTE_PCI_DEV_ID_DECL_IGBVF(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_I350_VF_HV) | ||
209 | - | ||
210 | -/* | ||
211 | - * Undef all RTE_PCI_DEV_ID_DECL_* here. | ||
212 | - */ | ||
213 | -#undef RTE_PCI_DEV_ID_DECL_IGB | ||
214 | -#undef RTE_PCI_DEV_ID_DECL_IGBVF | ||
215 | diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
216 | index 96acec5..bd803c0 100644 | ||
217 | --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
218 | +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | ||
219 | @@ -76,7 +76,7 @@ static const char igb_driver_string[] = | ||
220 | static const char igb_copyright[] = | ||
221 | "Copyright (c) 2007-2013 Intel Corporation."; | ||
222 | |||
223 | -static DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { | ||
224 | +DEFINE_PCI_DEVICE_TABLE(igb_pci_tbl) = { | ||
225 | { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, | ||
226 | { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, | ||
227 | { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, | ||
228 | diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
229 | index 66bf519..67e9b7d 100644 | ||
230 | --- a/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
231 | +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c | ||
232 | @@ -58,6 +58,7 @@ extern void ixgbe_kni_remove(struct pci_dev *pdev); | ||
233 | extern struct pci_device_id ixgbe_pci_tbl[]; | ||
234 | extern int igb_kni_probe(struct pci_dev *pdev, struct net_device **lad_dev); | ||
235 | extern void igb_kni_remove(struct pci_dev *pdev); | ||
236 | +extern struct pci_device_id igb_pci_tbl[]; | ||
237 | |||
238 | static int kni_open(struct inode *inode, struct file *file); | ||
239 | static int kni_release(struct inode *inode, struct file *file); | ||
240 | @@ -356,15 +357,8 @@ kni_dev_remove(struct kni_dev *dev) | ||
241 | |||
242 | if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev)) | ||
243 | ixgbe_kni_remove(dev->pci_dev); | ||
244 | - | ||
245 | - switch (dev->device_id) { | ||
246 | - #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): | ||
247 | - #include <rte_pci_dev_ids.h> | ||
248 | + else if (pci_match_id(igb_pci_tbl, dev->pci_dev)) | ||
249 | igb_kni_remove(dev->pci_dev); | ||
250 | - break; | ||
251 | - default: | ||
252 | - break; | ||
253 | - } | ||
254 | |||
255 | if (dev->net_dev) { | ||
256 | unregister_netdev(dev->net_dev); | ||
257 | @@ -513,16 +507,10 @@ kni_ioctl_create(struct net *net, | ||
258 | |||
259 | if (pci_match_id(ixgbe_pci_tbl, found_pci)) | ||
260 | ret = ixgbe_kni_probe(found_pci, &lad_dev); | ||
261 | - | ||
262 | - switch (dev_info.device_id) { | ||
263 | - #define RTE_PCI_DEV_ID_DECL_IGB(vend, dev) case (dev): | ||
264 | - #include <rte_pci_dev_ids.h> | ||
265 | + else if (pci_match_id(igb_pci_tbl, found_pci)) | ||
266 | ret = igb_kni_probe(found_pci, &lad_dev); | ||
267 | - break; | ||
268 | - default: | ||
269 | + else | ||
270 | ret = -1; | ||
271 | - break; | ||
272 | - } | ||
273 | |||
274 | KNI_DBG("PCI found: pci=0x%p, lad_dev=0x%p\n", | ||
275 | pci, lad_dev); | ||
276 | -- | ||
277 | 1.9.1 | ||
278 | |||