phy: ti: gmii-sel: use features mask during init
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 28 Aug 2020 20:19:42 +0000 (23:19 +0300)
committerVinod Koul <vkoul@kernel.org>
Tue, 8 Sep 2020 10:23:10 +0000 (15:53 +0530)
Use features mask during PHYs initialization to simplify code.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20200828201943.29155-3-grygorii.strashko@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/ti/phy-gmii-sel.c

index d4b02ad..a6b7f22 100644 (file)
@@ -147,13 +147,9 @@ static const
 struct reg_field phy_gmii_sel_fields_dra7[][PHY_GMII_SEL_LAST] = {
        {
                [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 0, 1),
-               [PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
-               [PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
        },
        {
                [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 4, 5),
-               [PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
-               [PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
        },
 };
 
@@ -174,8 +170,6 @@ static const
 struct reg_field phy_gmii_sel_fields_am654[][PHY_GMII_SEL_LAST] = {
        {
                [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x4040, 0, 1),
-               [PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
-               [PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
        },
 };
 
@@ -266,7 +260,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port,
        if_phy->fields[PHY_GMII_SEL_PORT_MODE] = regfield;
 
        field = *fields++;
-       if (field.reg != (~0)) {
+       if (soc_data->features & BIT(PHY_GMII_SEL_RGMII_ID_MODE)) {
                regfield = devm_regmap_field_alloc(dev,
                                                   priv->regmap,
                                                   field);
@@ -278,7 +272,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port,
        }
 
        field = *fields;
-       if (field.reg != (~0)) {
+       if (soc_data->features & BIT(PHY_GMII_SEL_RMII_IO_CLK_EN)) {
                regfield = devm_regmap_field_alloc(dev,
                                                   priv->regmap,
                                                   field);