From c752b54bda4d772426c5eeb56978d2e41bd525b4 Mon Sep 17 00:00:00 2001 From: Sergio Paracuellos Date: Fri, 20 Mar 2020 12:01:21 +0100 Subject: [PATCH] staging: mt7621-pci: use only two phys from device tree In order to align work with the mt7621-pci-phy part of the driver and device tree which is now using only two real phys one of them dual ported properly parse the device tree and don't call phy initialization for the slot 1 because is being taking into account when the phy for the slot 0 is instantiated. Signed-off-by: Sergio Paracuellos Link: https://lore.kernel.org/r/20200320110123.9907-4-sergio.paracuellos@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/mt7621-pci/pci-mt7621.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/drivers/staging/mt7621-pci/pci-mt7621.c +++ b/drivers/staging/mt7621-pci/pci-mt7621.c @@ -358,7 +358,7 @@ static int mt7621_pcie_parse_port(struct snprintf(name, sizeof(name), "pcie-phy%d", slot); port->phy = devm_phy_get(dev, name); - if (IS_ERR(port->phy)) + if (IS_ERR(port->phy) && slot != 1) return PTR_ERR(port->phy); port->gpio_rst = devm_gpiod_get_index_optional(dev, "reset", slot, @@ -495,6 +495,11 @@ static void mt7621_pcie_init_ports(struc list_for_each_entry_safe(port, tmp, &pcie->ports, list) { u32 slot = port->slot; + if (slot == 1) { + port->enabled = true; + continue; + } + err = mt7621_pcie_init_port(port); if (err) { dev_err(dev, "Initiating port %d failed\n", slot);