fsl/fman: return a phy_dev pointer from init

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
This commit is contained in:
Madalin Bucur 2016-05-24 16:33:54 +03:00
parent 537a31658f
commit 73c364e110
2 changed files with 13 additions and 12 deletions

View file

@ -469,9 +469,9 @@ static void adjust_link_memac(struct net_device *net_dev)
/* Initializes driver's PHY state, and attaches to the PHY.
* Returns 0 on success.
*/
static int init_phy(struct net_device *net_dev,
struct mac_device *mac_dev,
void (*adj_lnk)(struct net_device *))
static struct phy_device *init_phy(struct net_device *net_dev,
struct mac_device *mac_dev,
void (*adj_lnk)(struct net_device *))
{
struct phy_device *phy_dev;
struct mac_priv_s *priv = mac_dev->priv;
@ -480,7 +480,7 @@ static int init_phy(struct net_device *net_dev,
priv->phy_if);
if (!phy_dev) {
netdev_err(net_dev, "Could not connect to PHY\n");
return -ENODEV;
return NULL;
}
/* Remove any features not supported by the controller */
@ -493,23 +493,23 @@ static int init_phy(struct net_device *net_dev,
mac_dev->phy_dev = phy_dev;
return 0;
return phy_dev;
}
static int dtsec_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
static struct phy_device *dtsec_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
{
return init_phy(net_dev, mac_dev, &adjust_link_dtsec);
}
static int tgec_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
static struct phy_device *tgec_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
{
return init_phy(net_dev, mac_dev, adjust_link_void);
}
static int memac_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
static struct phy_device *memac_init_phy(struct net_device *net_dev,
struct mac_device *mac_dev)
{
return init_phy(net_dev, mac_dev, &adjust_link_memac);
}

View file

@ -58,7 +58,8 @@ struct mac_device {
bool tx_pause_active;
bool promisc;
int (*init_phy)(struct net_device *net_dev, struct mac_device *mac_dev);
struct phy_device *(*init_phy)(struct net_device *net_dev,
struct mac_device *mac_dev);
int (*init)(struct mac_device *mac_dev);
int (*start)(struct mac_device *mac_dev);
int (*stop)(struct mac_device *mac_dev);