123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- From 95e91552d7a7d0fd28afc42191d8be1c3096d6c2 Mon Sep 17 00:00:00 2001
- From: Jan Kiszka <jan.kiszka@siemens.com>
- Date: Thu, 22 Jun 2017 08:18:00 +0200
- Subject: [PATCH 04/32] stmmac: pci: Select quark_pci_dmi_data from
- quark_default_data
- Commit 7bc519b3ea04026877242328d2fe73cc8e6102bd upsteam.
- No need to carry this reference in stmmac_pci_info - the Quark-specific
- setup handler knows that it needs to use the Quark-specific DMI table.
- This also allows to drop the stmmac_pci_info reference from the setup
- handler parameter list.
- Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
- Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
- ---
- drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 83 +++++++++++-------------
- 1 file changed, 39 insertions(+), 44 deletions(-)
- diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
- index 19cf9607618a..9fe6368738ec 100644
- --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
- +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
- @@ -42,13 +42,11 @@ struct stmmac_pci_dmi_data {
- };
-
- struct stmmac_pci_info {
- - int (*setup)(struct pci_dev *pdev, struct plat_stmmacenet_data *plat,
- - const struct stmmac_pci_info *info);
- - struct stmmac_pci_dmi_data *dmi;
- + int (*setup)(struct pci_dev *pdev, struct plat_stmmacenet_data *plat);
- };
-
- static int stmmac_pci_find_phy_addr(struct pci_dev *pdev,
- - const struct stmmac_pci_info *info)
- + struct stmmac_pci_dmi_data *dmi_data)
- {
- const char *name = dmi_get_system_info(DMI_BOARD_NAME);
- const char *asset_tag = dmi_get_system_info(DMI_BOARD_ASSET_TAG);
- @@ -58,7 +56,7 @@ static int stmmac_pci_find_phy_addr(struct pci_dev *pdev,
- if (!name)
- return -ENODEV;
-
- - for (dmi = info->dmi; dmi->name && *dmi->name; dmi++) {
- + for (dmi = dmi_data; dmi->name && *dmi->name; dmi++) {
- if (!strcmp(dmi->name, name) && dmi->func == func) {
- /* If asset tag is provided, match on it as well. */
- if (dmi->asset_tag && strcmp(dmi->asset_tag, asset_tag))
- @@ -71,8 +69,7 @@ static int stmmac_pci_find_phy_addr(struct pci_dev *pdev,
- }
-
- static int stmmac_default_data(struct pci_dev *pdev,
- - struct plat_stmmacenet_data *plat,
- - const struct stmmac_pci_info *info)
- + struct plat_stmmacenet_data *plat)
- {
- plat->bus_id = 1;
- plat->phy_addr = 0;
- @@ -100,9 +97,40 @@ static const struct stmmac_pci_info stmmac_pci_info = {
- .setup = stmmac_default_data,
- };
-
- +static struct stmmac_pci_dmi_data quark_pci_dmi_data[] = {
- + {
- + .name = "Galileo",
- + .func = 6,
- + .phy_addr = 1,
- + },
- + {
- + .name = "GalileoGen2",
- + .func = 6,
- + .phy_addr = 1,
- + },
- + {
- + .name = "SIMATIC IOT2000",
- + .asset_tag = "6ES7647-0AA00-0YA2",
- + .func = 6,
- + .phy_addr = 1,
- + },
- + {
- + .name = "SIMATIC IOT2000",
- + .asset_tag = "6ES7647-0AA00-1YA2",
- + .func = 6,
- + .phy_addr = 1,
- + },
- + {
- + .name = "SIMATIC IOT2000",
- + .asset_tag = "6ES7647-0AA00-1YA2",
- + .func = 7,
- + .phy_addr = 1,
- + },
- + {}
- +};
- +
- static int quark_default_data(struct pci_dev *pdev,
- - struct plat_stmmacenet_data *plat,
- - const struct stmmac_pci_info *info)
- + struct plat_stmmacenet_data *plat)
- {
- int ret;
-
- @@ -110,7 +138,7 @@ static int quark_default_data(struct pci_dev *pdev,
- * Refuse to load the driver and register net device if MAC controller
- * does not connect to any PHY interface.
- */
- - ret = stmmac_pci_find_phy_addr(pdev, info);
- + ret = stmmac_pci_find_phy_addr(pdev, quark_pci_dmi_data);
- if (ret < 0) {
- /* Return error to the caller on DMI enabled boards. */
- if (dmi_get_system_info(DMI_BOARD_NAME))
- @@ -147,41 +175,8 @@ static int quark_default_data(struct pci_dev *pdev,
- return 0;
- }
-
- -static struct stmmac_pci_dmi_data quark_pci_dmi_data[] = {
- - {
- - .name = "Galileo",
- - .func = 6,
- - .phy_addr = 1,
- - },
- - {
- - .name = "GalileoGen2",
- - .func = 6,
- - .phy_addr = 1,
- - },
- - {
- - .name = "SIMATIC IOT2000",
- - .asset_tag = "6ES7647-0AA00-0YA2",
- - .func = 6,
- - .phy_addr = 1,
- - },
- - {
- - .name = "SIMATIC IOT2000",
- - .asset_tag = "6ES7647-0AA00-1YA2",
- - .func = 6,
- - .phy_addr = 1,
- - },
- - {
- - .name = "SIMATIC IOT2000",
- - .asset_tag = "6ES7647-0AA00-1YA2",
- - .func = 7,
- - .phy_addr = 1,
- - },
- - {}
- -};
- -
- static const struct stmmac_pci_info quark_pci_info = {
- .setup = quark_default_data,
- - .dmi = quark_pci_dmi_data,
- };
-
- /**
- @@ -240,7 +235,7 @@ static int stmmac_pci_probe(struct pci_dev *pdev,
-
- pci_set_master(pdev);
-
- - ret = info->setup(pdev, plat, info);
- + ret = info->setup(pdev, plat);
- if (ret)
- return ret;
-
- --
- 2.16.4
|