diff options
Diffstat (limited to 'target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch')
-rw-r--r-- | target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch b/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch index 4ee6232..d71821a 100644 --- a/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch +++ b/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch @@ -1619,18 +1619,23 @@ int phy_addr; }; --struct stmmac_pci_info { ++struct stmmac_pci_dmi_data { ++ const struct stmmac_pci_func_data *func; ++ size_t nfuncs; ++}; ++ + struct stmmac_pci_info { - struct pci_dev *pdev; - int (*setup)(struct plat_stmmacenet_data *plat, - struct stmmac_pci_info *info); - struct stmmac_pci_dmi_data *dmi; -+struct stmmac_pci_dmi_data { -+ const struct stmmac_pci_func_data *func; -+ size_t nfuncs; ++ int (*setup)(struct pci_dev *pdev, struct plat_stmmacenet_data *plat); }; -static int stmmac_pci_find_phy_addr(struct stmmac_pci_info *info) --{ ++static int stmmac_pci_find_phy_addr(struct pci_dev *pdev, ++ const struct dmi_system_id *dmi_list) + { - const char *name = dmi_get_system_info(DMI_BOARD_NAME); - const char *asset_tag = dmi_get_system_info(DMI_BOARD_ASSET_TAG); - unsigned int func = PCI_FUNC(info->pdev->devfn); @@ -1642,10 +1647,7 @@ - */ - if (!name) - return 1; -+struct stmmac_pci_info { -+ int (*setup)(struct pci_dev *pdev, struct plat_stmmacenet_data *plat); -+}; - +- - for (dmi = info->dmi; dmi->name && *dmi->name; dmi++) { - if (!strcmp(dmi->name, name) && dmi->func == func) { - /* If asset tag is provided, match on it as well. */ @@ -1654,9 +1656,6 @@ - return dmi->phy_addr; - } - } -+static int stmmac_pci_find_phy_addr(struct pci_dev *pdev, -+ const struct dmi_system_id *dmi_list) -+{ + const struct stmmac_pci_func_data *func_data; + const struct stmmac_pci_dmi_data *dmi_data; + const struct dmi_system_id *dmi_id; @@ -1852,9 +1851,9 @@ pci_enable_msi(pdev); -@@ -270,14 +304,21 @@ static void stmmac_pci_remove(struct pci +@@ -306,14 +340,21 @@ static int stmmac_pci_resume(struct devi - static SIMPLE_DEV_PM_OPS(stmmac_pm_ops, stmmac_suspend, stmmac_resume); + static SIMPLE_DEV_PM_OPS(stmmac_pm_ops, stmmac_pci_suspend, stmmac_pci_resume); -#define STMMAC_VENDOR_ID 0x700 +/* synthetic ID, no official vendor */ |