Skip to content

Commit 334bfcc

Browse files
committed
fixup! PCI: apple: Move port PHY registers to their own reg items
open code devm_platform_ioremap_resource_byname() to avoid error messages on older platforms with missing resources in the pcie node. Avoids "pcie-apple 590000000.pcie: invalid resource (null)" on probe. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 77fd34b commit 334bfcc

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

drivers/pci/controller/pcie-apple.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
674674
{
675675
struct platform_device *platform = to_platform_device(pcie->dev);
676676
struct apple_pcie_port *port;
677+
struct resource *res;
677678
u32 link_stat, idx;
678679
int ret, i;
679680
char name[16];
@@ -692,16 +693,21 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
692693
port->np = np;
693694

694695
snprintf(name, sizeof(name), "port%d", port->idx);
695-
port->base = devm_platform_ioremap_resource_byname(platform, name);
696-
if (IS_ERR(port->base))
696+
res = platform_get_resource_byname(platform, IORESOURCE_MEM, name);
697+
if (res) {
698+
port->base = devm_ioremap_resource(&platform->dev, res);
699+
} else {
697700
port->base = devm_platform_ioremap_resource(platform, port->idx + 2);
701+
}
698702
if (IS_ERR(port->base)) {
699703
return PTR_ERR(port->base);
700704
}
701705

702706
snprintf(name, sizeof(name), "phy%d", port->idx);
703-
port->phy = devm_platform_ioremap_resource_byname(platform, name);
704-
if (IS_ERR(port->phy))
707+
res = platform_get_resource_byname(platform, IORESOURCE_MEM, name);
708+
if (res)
709+
port->phy = devm_ioremap_resource(&platform->dev, res);
710+
else
705711
port->phy = pcie->base + CORE_PHY_DEFAULT_BASE(port->idx);
706712

707713
/* link might be already brought up by u-boot, skip setup then */

0 commit comments

Comments
 (0)