On January 3, 2019 6:15:47 PM PST, Marek Vasut <marex@xxxxxxx> wrote: >Add driver for the NXP TJA1100 and TJA1101 PHYs. These PHYs are special >BroadRReach 100BaseT1 PHYs used in automotive. > >Signed-off-by: Marek Vasut <marex@xxxxxxx> >Cc: Andrew Lunn <andrew@xxxxxxx> >Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> >Cc: Guenter Roeck <linux@xxxxxxxxxxxx> >Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx> >Cc: Jean Delvare <jdelvare@xxxxxxxx> >Cc: linux-hwmon@xxxxxxxxxxxxxxx >--- >V2: - Use phy_modify(), phy_{set,clear}_bits() > - Drop enable argument of tja11xx_enable_link_control() > - Use PHY_BASIC_T1_FEATURES and dont modify supported/advertised > features in config_init callback > - Use genphy_soft_reset() instead of opencoding the reset sequence. > - Drop the aneg parts, since the PHY datasheet claims it does not > support aneg >V3: - Replace clr with mask > - Add hwmon support > - Check commstat in tja11xx_read_status() only if link is up > - Use PHY_ID_MATCH_MODEL() >V4: - Use correct bit in tja11xx_hwmon_read() hwmon_temp_crit_alarm > - Use ENOMEM if devm_kstrdup() fails > - Check $type in tja11xx_hwmon_read() in addition to $attr >--- [Snip] >+ ret = tja11xx_enable_reg_write(phydev); >+ if (ret) >+ return ret; >+ >+ phydev->irq = PHY_POLL; The PHY driver should not be imposing that, leave it up to the platform configuration to set that. >+ phydev->autoneg = AUTONEG_DISABLE; >+ phydev->speed = SPEED_100; >+ phydev->duplex = DUPLEX_FULL; >+ phydev->pause = 0; >+ phydev->asym_pause = 0; Are any of those necessary if you set basic T1 features? Everything else looks good to me. Thanks! -- Florian