Re: [PATCH net-next 2/7] net: phy: mscc: add support for VSC8584 PHY

From
Quentin Schulz <hidden>
Date
2018-10-01 09:15:49
Also in
linux-devicetree, linux-mips, lkml
Reply to
Andrew Lunn, 2018-09-14
Hi Andrew,

On Fri, Sep 14, 2018 at 07:27:54PM +0200, Andrew Lunn wrote:
quoted
 struct vsc8531_private {
 	int rate_magic;
 	u16 supp_led_modes;
@@ -181,6 +354,7 @@ struct vsc8531_private {
 	struct vsc85xx_hw_stat *hw_stats;
 	u64 *stats;
 	int nstats;
+	bool pkg_init;
quoted
+/* bus->mdio_lock should be locked when using this function */
+static int vsc8584_cmd(struct mii_bus *bus, int phy, u16 val)
+{
+	unsigned long deadline;
+	u16 reg_val;
+
+	__mdiobus_write(bus, phy, MSCC_EXT_PAGE_ACCESS,
+			MSCC_PHY_PAGE_EXTENDED_GPIO);
+
+	__mdiobus_write(bus, phy, MSCC_PHY_PROC_CMD, PROC_CMD_NCOMPLETED | val);
Hi Quentin

All the __mdiobus_write() look a bit ugly.
I agree :)
Maybe add bus and base_addr
to the vsc8531_private structure. Then add helpers
phy_write_base_phy(priv, reg, val) and phy_read_base_phy(priv, reg).
ACK.
You could also add in:

        if (unlikely(!mutex_is_locked(&priv->bus->mdio_lock))) {
                dev_err(bus->dev, "MDIO bus lock not held!\n");
                dump_stack();
        }

Having such code in the mv88e6xxx driver has found a few bugs for me.
ACK.

Thanks,
Quentin

Attachments

Thread (33 messages) 33 messages, 6 authors, last reply 2018-10-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help