Skip to content

Commit 2407bc7

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 0abdc67 commit 2407bc7

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
@@ -675,6 +675,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
675675
{
676676
struct platform_device *platform = to_platform_device(pcie->dev);
677677
struct apple_pcie_port *port;
678+
struct resource *res;
678679
u32 link_stat, idx;
679680
int ret, i;
680681
char name[16];
@@ -693,16 +694,21 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
693694
port->np = np;
694695

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

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

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

0 commit comments

Comments
 (0)