net: phy: make board_phy_config responsible for calling drv->config

Boards may have things they want done before or after normal phy config.
Letting the boards call drv->config allows them more flexibilty.
Boards affected by this change are corenet_ds and mpc8544ds.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
This commit is contained in:
Troy Kisky 2012-02-07 14:08:49 +00:00 committed by Albert ARIBAUD
parent 8682aba7da
commit 9fafe7dab9
3 changed files with 6 additions and 3 deletions

View file

@ -96,6 +96,8 @@ struct mii_dev *mii_dev_for_muxval(u32 muxval)
#if defined(CONFIG_SYS_P4080_ERRATUM_SERDES9) && defined(CONFIG_PHY_TERANETICS)
int board_phy_config(struct phy_device *phydev)
{
if (phydev->drv->config)
phydev->drv->config(phydev);
if (phydev->drv->uid == PHY_UID_TN2020) {
unsigned long timeout = 1 * 1000; /* 1 seconds */
enum srds_prtcl device;

View file

@ -261,6 +261,8 @@ int board_phy_config(struct phy_device *phydev)
uint phyid;
struct mii_dev *bus = phydev->bus;
if (phydev->drv->config)
phydev->drv->config(phydev);
if (do_once)
return 0;

View file

@ -733,6 +733,8 @@ int phy_startup(struct phy_device *phydev)
static int __board_phy_config(struct phy_device *phydev)
{
if (phydev->drv->config)
return phydev->drv->config(phydev);
return 0;
}
@ -741,9 +743,6 @@ int board_phy_config(struct phy_device *phydev)
int phy_config(struct phy_device *phydev)
{
if (phydev->drv->config)
phydev->drv->config(phydev);
/* Invoke an optional board-specific helper */
board_phy_config(phydev);