stmmac: pci: Make stmmac_pci_info structure constant
By removing the PCI device reference from the structure and passing it as parameters to the interested functions, we can make quark_pci_info const. 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>
This commit is contained in:
parent
53fa1a6f33
commit
c5d5287ef0
|
@ -38,17 +38,17 @@ struct stmmac_pci_dmi_data {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct stmmac_pci_info {
|
struct stmmac_pci_info {
|
||||||
struct pci_dev *pdev;
|
int (*setup)(struct pci_dev *pdev, struct plat_stmmacenet_data *plat,
|
||||||
int (*setup)(struct plat_stmmacenet_data *plat,
|
const struct stmmac_pci_info *info);
|
||||||
struct stmmac_pci_info *info);
|
|
||||||
struct stmmac_pci_dmi_data *dmi;
|
struct stmmac_pci_dmi_data *dmi;
|
||||||
};
|
};
|
||||||
|
|
||||||
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 stmmac_pci_info *info)
|
||||||
{
|
{
|
||||||
const char *name = dmi_get_system_info(DMI_BOARD_NAME);
|
const char *name = dmi_get_system_info(DMI_BOARD_NAME);
|
||||||
const char *asset_tag = dmi_get_system_info(DMI_BOARD_ASSET_TAG);
|
const char *asset_tag = dmi_get_system_info(DMI_BOARD_ASSET_TAG);
|
||||||
unsigned int func = PCI_FUNC(info->pdev->devfn);
|
unsigned int func = PCI_FUNC(pdev->devfn);
|
||||||
struct stmmac_pci_dmi_data *dmi;
|
struct stmmac_pci_dmi_data *dmi;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -114,10 +114,10 @@ static void stmmac_default_data(struct plat_stmmacenet_data *plat)
|
||||||
/* TODO: AXI */
|
/* TODO: AXI */
|
||||||
}
|
}
|
||||||
|
|
||||||
static int quark_default_data(struct plat_stmmacenet_data *plat,
|
static int quark_default_data(struct pci_dev *pdev,
|
||||||
struct stmmac_pci_info *info)
|
struct plat_stmmacenet_data *plat,
|
||||||
|
const struct stmmac_pci_info *info)
|
||||||
{
|
{
|
||||||
struct pci_dev *pdev = info->pdev;
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Set common default data first */
|
/* Set common default data first */
|
||||||
|
@ -127,7 +127,7 @@ static int quark_default_data(struct plat_stmmacenet_data *plat,
|
||||||
* Refuse to load the driver and register net device if MAC controller
|
* Refuse to load the driver and register net device if MAC controller
|
||||||
* does not connect to any PHY interface.
|
* does not connect to any PHY interface.
|
||||||
*/
|
*/
|
||||||
ret = stmmac_pci_find_phy_addr(info);
|
ret = stmmac_pci_find_phy_addr(pdev, info);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ static struct stmmac_pci_dmi_data quark_pci_dmi_data[] = {
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct stmmac_pci_info quark_pci_info = {
|
static const struct stmmac_pci_info quark_pci_info = {
|
||||||
.setup = quark_default_data,
|
.setup = quark_default_data,
|
||||||
.dmi = quark_pci_dmi_data,
|
.dmi = quark_pci_dmi_data,
|
||||||
};
|
};
|
||||||
|
@ -237,9 +237,8 @@ static int stmmac_pci_probe(struct pci_dev *pdev,
|
||||||
pci_set_master(pdev);
|
pci_set_master(pdev);
|
||||||
|
|
||||||
if (info) {
|
if (info) {
|
||||||
info->pdev = pdev;
|
|
||||||
if (info->setup) {
|
if (info->setup) {
|
||||||
ret = info->setup(plat, info);
|
ret = info->setup(pdev, plat, info);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue