Commit e27f1787 authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller
Browse files

net: phy: Added IRQ print to phylink_bringup_phy()



The information about the PHY attached to the PHYLINK instance is useful
but is missing the IRQ prints that phy_attached_info() adds.
phy_attached_info() is a bit long and it would not be possible to use
phylink_info() anyway.

Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 76ccf528
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -1107,9 +1107,8 @@ void phy_attached_info(struct phy_device *phydev)
EXPORT_SYMBOL(phy_attached_info);
EXPORT_SYMBOL(phy_attached_info);


#define ATTACHED_FMT "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%s)"
#define ATTACHED_FMT "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%s)"
void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
char *phy_attached_info_irq(struct phy_device *phydev)
{
{
	const char *drv_name = phydev->drv ? phydev->drv->name : "unbound";
	char *irq_str;
	char *irq_str;
	char irq_num[8];
	char irq_num[8];


@@ -1126,6 +1125,14 @@ void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
		break;
		break;
	}
	}


	return kasprintf(GFP_KERNEL, "%s", irq_str);
}
EXPORT_SYMBOL(phy_attached_info_irq);

void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
{
	const char *drv_name = phydev->drv ? phydev->drv->name : "unbound";
	char *irq_str = phy_attached_info_irq(phydev);


	if (!fmt) {
	if (!fmt) {
		phydev_info(phydev, ATTACHED_FMT "\n",
		phydev_info(phydev, ATTACHED_FMT "\n",
@@ -1142,6 +1149,7 @@ void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
		vprintk(fmt, ap);
		vprintk(fmt, ap);
		va_end(ap);
		va_end(ap);
	}
	}
	kfree(irq_str);
}
}
EXPORT_SYMBOL(phy_attached_print);
EXPORT_SYMBOL(phy_attached_print);


+5 −2
Original line number Original line Diff line number Diff line
@@ -726,6 +726,7 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
{
{
	struct phylink_link_state config;
	struct phylink_link_state config;
	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported);
	char *irq_str;
	int ret;
	int ret;


	/*
	/*
@@ -761,9 +762,11 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
	phy->phylink = pl;
	phy->phylink = pl;
	phy->phy_link_change = phylink_phy_change;
	phy->phy_link_change = phylink_phy_change;


	irq_str = phy_attached_info_irq(phy);
	phylink_info(pl,
	phylink_info(pl,
		     "PHY [%s] driver [%s]\n", dev_name(&phy->mdio.dev),
		     "PHY [%s] driver [%s] (irq=%s)\n",
		     phy->drv->name);
		     dev_name(&phy->mdio.dev), phy->drv->name, irq_str);
	kfree(irq_str);


	mutex_lock(&phy->lock);
	mutex_lock(&phy->lock);
	mutex_lock(&pl->state_mutex);
	mutex_lock(&pl->state_mutex);
+2 −0
Original line number Original line Diff line number Diff line
@@ -1131,6 +1131,8 @@ static inline void phy_unlock_mdio_bus(struct phy_device *phydev)


void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
	__printf(2, 3);
	__printf(2, 3);
char *phy_attached_info_irq(struct phy_device *phydev)
	__malloc;
void phy_attached_info(struct phy_device *phydev);
void phy_attached_info(struct phy_device *phydev);


/* Clause 22 PHY */
/* Clause 22 PHY */