On 1/3/19 7:23 AM, Heiner Kallweit wrote: > On 03.01.2019 03:09, Marek Vasut wrote: >> On 12/23/18 10:16 AM, Marek Vasut wrote: >>> On 12/22/18 6:39 PM, Heiner Kallweit wrote: >>>> On 22.12.2018 00:35, Marek Vasut 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 <ma...@denx.de> >>>>> Cc: Andrew Lunn <and...@lunn.ch> >>>>> Cc: Florian Fainelli <f.faine...@gmail.com> >>>>> Cc: Heiner Kallweit <hkallwe...@gmail.com> >>>>> --- >>>>> 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() >>>>> --- >>>>> drivers/net/phy/Kconfig | 6 + >>>>> drivers/net/phy/Makefile | 1 + >>>>> drivers/net/phy/nxp-tja11xx.c | 424 ++++++++++++++++++++++++++++++++++ >>>>> 3 files changed, 431 insertions(+) >>>>> create mode 100644 drivers/net/phy/nxp-tja11xx.c >>>>> >>>> [...] >>>>> + >>>>> +struct tja11xx_phy_stats { >>>>> + const char *string; >>>>> + u8 reg; >>>>> + u8 off; >>>>> + u16 mask; >>>>> +}; >>>>> + >>>> As written in my other mail, you could think of using >>>> FIELD_GET() again. Things like >>>> ... n, BIT(n), >>>> ... m, BIT(m), >>>> are simply redundant. >>> >>> Done >> >> And undone, FIELD_GET() requires a mask that is compile-time constant. >> That's not the case here. >> >> Replicating what FIELD_GET() does at runtime is inefficient, so we can >> as well encode the field and offset back into the table. Or is there a >> better suggestion ? >> > You're right, FIELD_GET() requires a constant as mask. Then for the > case here I'm not aware of a better solution than having also the mask > in the table.
V4 is out then. -- Best regards, Marek Vasut