@@ -53,7 +53,6 @@ struct rcar_pcie_host {
53
53
struct device * dev ;
54
54
struct phy * phy ;
55
55
void __iomem * base ;
56
- struct list_head resources ;
57
56
struct clk * bus_clk ;
58
57
struct rcar_msi msi ;
59
58
int (* phy_init_fn )(struct rcar_pcie_host * host );
@@ -203,38 +202,6 @@ static struct pci_ops rcar_pcie_ops = {
203
202
.write = rcar_pcie_write_conf ,
204
203
};
205
204
206
- static int rcar_pcie_setup (struct list_head * resource ,
207
- struct rcar_pcie_host * host )
208
- {
209
- struct pci_host_bridge * bridge = pci_host_bridge_from_priv (host );
210
- struct resource_entry * win ;
211
- int i = 0 ;
212
-
213
- /* Setup PCI resources */
214
- resource_list_for_each_entry (win , & host -> resources ) {
215
- struct resource * res = win -> res ;
216
-
217
- if (!res -> flags )
218
- continue ;
219
-
220
- switch (resource_type (res )) {
221
- case IORESOURCE_IO :
222
- case IORESOURCE_MEM :
223
- rcar_pcie_set_outbound (& host -> pcie , i , win );
224
- i ++ ;
225
- break ;
226
- case IORESOURCE_BUS :
227
- break ;
228
- default :
229
- continue ;
230
- }
231
-
232
- pci_add_resource (resource , res );
233
- }
234
-
235
- return 1 ;
236
- }
237
-
238
205
static void rcar_pcie_force_speedup (struct rcar_pcie * pcie )
239
206
{
240
207
struct device * dev = pcie -> dev ;
@@ -292,6 +259,7 @@ static void rcar_pcie_force_speedup(struct rcar_pcie *pcie)
292
259
static void rcar_pcie_hw_enable (struct rcar_pcie_host * host )
293
260
{
294
261
struct rcar_pcie * pcie = & host -> pcie ;
262
+ struct pci_host_bridge * bridge = pci_host_bridge_from_priv (host );
295
263
struct resource_entry * win ;
296
264
LIST_HEAD (res );
297
265
int i = 0 ;
@@ -300,7 +268,7 @@ static void rcar_pcie_hw_enable(struct rcar_pcie_host *host)
300
268
rcar_pcie_force_speedup (pcie );
301
269
302
270
/* Setup PCI resources */
303
- resource_list_for_each_entry (win , & host -> resources ) {
271
+ resource_list_for_each_entry (win , & bridge -> windows ) {
304
272
struct resource * res = win -> res ;
305
273
306
274
if (!res -> flags )
@@ -319,12 +287,8 @@ static void rcar_pcie_hw_enable(struct rcar_pcie_host *host)
319
287
static int rcar_pcie_enable (struct rcar_pcie_host * host )
320
288
{
321
289
struct pci_host_bridge * bridge = pci_host_bridge_from_priv (host );
322
- struct rcar_pcie * pcie = & host -> pcie ;
323
290
324
- /* Try setting 5 GT/s link speed */
325
- rcar_pcie_force_speedup (pcie );
326
-
327
- rcar_pcie_setup (& bridge -> windows , host );
291
+ rcar_pcie_hw_enable (host );
328
292
329
293
pci_add_flags (PCI_REASSIGN_ALL_BUS );
330
294
@@ -949,7 +913,7 @@ static int rcar_pcie_probe(struct platform_device *pdev)
949
913
pcie -> dev = dev ;
950
914
platform_set_drvdata (pdev , host );
951
915
952
- err = pci_parse_request_of_pci_ranges (dev , & host -> resources ,
916
+ err = pci_parse_request_of_pci_ranges (dev , & bridge -> windows ,
953
917
& bridge -> dma_ranges , NULL );
954
918
if (err )
955
919
return err ;
@@ -1032,7 +996,6 @@ static int rcar_pcie_probe(struct platform_device *pdev)
1032
996
1033
997
err_pm_disable :
1034
998
pm_runtime_disable (dev );
1035
- pci_free_resource_list (& host -> resources );
1036
999
1037
1000
return err ;
1038
1001
}
0 commit comments