Hi Nikunj

> > @@ -147,6 +147,7 @@ static int xgmac_mdio_read(struct mii_dev *bus, int
> mdio_addr, int mdio_devad,
> >     u32 val;
> >     u32 hw_addr;
> >     int ret;
> > +   u32 c45 = 1;

Use Boolean instead. 
eg: bool is_c45 = (mdio_devad != MDIO_DEVAD_NONE);

> >
> >     debug("%s(dev=%p, addr=0x%x, reg=%d):\n", __func__, xgmac->dev,
> mdio_addr,
> >           mdio_reg);
> > @@ -159,19 +160,34 @@ static int xgmac_mdio_read(struct mii_dev *bus,
> int mdio_addr, int mdio_devad,
> >             return ret;
> >     }
> >
> > -   /* Set clause 22 format */
> > -   val = BIT(mdio_addr);
> > -   writel(val, &xgmac->mac_regs->mdio_clause_22_port);
> > +   if (mdio_devad == MDIO_DEVAD_NONE) {
> > +           /* Set clause 22 format */
> > +           c45 = 0;
> > +           val = BIT(mdio_addr);
> > +           writel(val, &xgmac->mac_regs->mdio_clause_22_port);
> > +   } else {
> > +           val = readl(&xgmac->mac_regs->mdio_clause_22_port);
> > +           val &= ~BIT(mdio_addr);
> > +           writel(val, &xgmac->mac_regs->mdio_clause_22_port);
> > +   }

Check using the bool is_c45 and move the clause selection logic into a helper 
function
Eg: (xgmac_set_caluse())

> > +   if (c45) {
> > +           hw_addr = (mdio_addr <<
> XGMAC_MAC_MDIO_ADDRESS_PA_SHIFT) |
> > +                      (mdio_reg & 0xffff);

Please help to macro the 0xffff.

Same comments apply for xgmac_mdio_write function


Reply via email to