Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73c364e1 authored by Madalin Bucur's avatar Madalin Bucur
Browse files

fsl/fman: return a phy_dev pointer from init

parent 537a3165
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -469,7 +469,7 @@ 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,
static struct phy_device *init_phy(struct net_device *net_dev,
				   struct mac_device *mac_dev,
				   void (*adj_lnk)(struct net_device *))
{
@@ -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,22 +493,22 @@ 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,
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,
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,
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);
+2 −1
Original line number Diff line number Diff line
@@ -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);