Skip to content

Commit

Permalink
fsl/fman: return a phy_dev pointer from init
Browse files Browse the repository at this point in the history
Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
  • Loading branch information
Madalin Bucur committed Oct 4, 2016
1 parent 537a316 commit 73c364e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
22 changes: 11 additions & 11 deletions drivers/net/ethernet/freescale/fman/mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 */
Expand All @@ -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);
}
Expand Down
3 changes: 2 additions & 1 deletion drivers/net/ethernet/freescale/fman/mac.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 73c364e

Please sign in to comment.