On Fri, Oct 18, 2019 at 10:52 AM Andrew Murray <andrew.murray@xxxxxxx> wrote: > > On Wed, Oct 16, 2019 at 03:06:32PM -0500, Rob Herring wrote: > > Convert the Rockchip host bridge to use the common > > pci_parse_request_of_pci_ranges(). > > > > There's no need to assign the resources to a temporary list first. Just > > use bridge->windows directly and remove all the temporary list handling. > > > > Cc: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> > > Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > > Cc: Andrew Murray <andrew.murray@xxxxxxx> > > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > > Cc: Heiko Stuebner <heiko@xxxxxxxxx> > > Cc: linux-rockchip@xxxxxxxxxxxxxxxxxxx > > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > > --- > > v2: > > - New patch > > > > drivers/pci/controller/pcie-rockchip-host.c | 36 ++++----------------- > > 1 file changed, 7 insertions(+), 29 deletions(-) > > > > diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/controller/pcie-rockchip-host.c > > index ef8e677ce9d1..8d2e6f2e141e 100644 > > --- a/drivers/pci/controller/pcie-rockchip-host.c > > +++ b/drivers/pci/controller/pcie-rockchip-host.c > > @@ -950,14 +950,10 @@ static int rockchip_pcie_probe(struct platform_device *pdev) > > struct device *dev = &pdev->dev; > > struct pci_bus *bus, *child; > > struct pci_host_bridge *bridge; > > + struct resource *bus_res; > > struct resource_entry *win; > > - resource_size_t io_base; > > - struct resource *mem; > > - struct resource *io; > > int err; > > > > - LIST_HEAD(res); > > - > > if (!dev->of_node) > > return -ENODEV; > > > > @@ -995,29 +991,20 @@ static int rockchip_pcie_probe(struct platform_device *pdev) > > if (err < 0) > > goto err_deinit_port; > > > > - err = devm_of_pci_get_host_bridge_resources(dev, 0, 0xff, > > - &res, &io_base); > > + err = pci_parse_request_of_pci_ranges(dev, &bridge->windows, &bus_res); > > if (err) > > goto err_remove_irq_domain; > > > > - err = devm_request_pci_bus_resources(dev, &res); > > - if (err) > > - goto err_free_res; > > + rockchip->root_bus_nr = bus_res->start; > > > > /* Get the I/O and memory ranges from DT */ > > - resource_list_for_each_entry(win, &res) { > > + resource_list_for_each_entry(win, &bridge->windows) { > > switch (resource_type(win->res)) { > > case IORESOURCE_IO: > > io = win->res; > > io->name = "I/O"; > > In some patches of this series we drop the custom naming of memory resources, > yet in others, like this one, we preserve the custom naming. Actually, patch #11 drops it for rockchip. > Should we be consistent in preserving the existing naming? The custom naming seems a bit pointless IMO and something mindlessly copied and pasted around, so I'd rather see removing the remaining cases. The only ones left AFAICT are designware and V3. Rob