Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5f657e4 authored by Jan Kiszka's avatar Jan Kiszka Committed by David S. Miller
Browse files

stmmac: pci: Make stmmac_pci_find_phy_addr truly generic



Move the special case for the early Galileo firmware into
quark_default_setup. This allows to use stmmac_pci_find_phy_addr for
non-quark cases.

Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b6a4c8f0
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -51,12 +51,8 @@ static int stmmac_pci_find_phy_addr(struct pci_dev *pdev,
	unsigned int func = PCI_FUNC(pdev->devfn);
	struct stmmac_pci_dmi_data *dmi;

	/*
	 * Galileo boards with old firmware don't support DMI. We always return
	 * 1 here, so at least first found MAC controller would be probed.
	 */
	if (!name)
		return 1;
		return -ENODEV;

	for (dmi = info->dmi; dmi->name && *dmi->name; dmi++) {
		if (!strcmp(dmi->name, name) && dmi->func == func) {
@@ -136,9 +132,19 @@ static int quark_default_data(struct pci_dev *pdev,
	 * does not connect to any PHY interface.
	 */
	ret = stmmac_pci_find_phy_addr(pdev, info);
	if (ret < 0)
	if (ret < 0) {
		/* Return error to the caller on DMI enabled boards. */
		if (dmi_get_system_info(DMI_BOARD_NAME))
			return ret;

		/*
		 * Galileo boards with old firmware don't support DMI. We always
		 * use 1 here as PHY address, so at least the first found MAC
		 * controller would be probed.
		 */
		ret = 1;
	}

	plat->bus_id = PCI_DEVID(pdev->bus->number, pdev->devfn);
	plat->phy_addr = ret;
	plat->interface = PHY_INTERFACE_MODE_RMII;