net: stmmac: replace the has_integrated_pcs field with a flag
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Jul 2023 08:59:50 +0000 (10:59 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 14 Jul 2023 03:57:13 +0000 (20:57 -0700)
struct plat_stmmacenet_data contains several boolean fields that could be
easily replaced with a common integer 'flags' bitfield and bit defines.

Start the process with the has_integrated_pcs field.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Link: https://lore.kernel.org/r/20230710090001.303225-2-brgl@bgdev.pl
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
include/linux/stmmac.h

index 757504e..3cfa4d2 100644 (file)
@@ -786,7 +786,8 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
        plat_dat->tso_en = of_property_read_bool(np, "snps,tso");
        if (of_device_is_compatible(np, "qcom,qcs404-ethqos"))
                plat_dat->rx_clk_runs_in_lpi = 1;
-       plat_dat->has_integrated_pcs = data->has_integrated_pcs;
+       if (data->has_integrated_pcs)
+               plat_dat->flags |= STMMAC_FLAG_HAS_INTEGRATED_PCS;
 
        if (ethqos->serdes_phy) {
                plat_dat->serdes_powerup = qcom_ethqos_serdes_powerup;
index 4727f7b..38b6cbd 100644 (file)
@@ -5798,7 +5798,8 @@ static void stmmac_common_interrupt(struct stmmac_priv *priv)
                }
 
                /* PCS link status */
-               if (priv->hw->pcs && !priv->plat->has_integrated_pcs) {
+               if (priv->hw->pcs &&
+                   !(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS)) {
                        if (priv->xstats.pcs_link)
                                netif_carrier_on(priv->dev);
                        else
index 0609053..8e75110 100644 (file)
@@ -204,6 +204,8 @@ struct dwmac4_addrs {
        u32 mtl_low_cred_offset;
 };
 
+#define STMMAC_FLAG_HAS_INTEGRATED_PCS         BIT(0)
+
 struct plat_stmmacenet_data {
        int bus_id;
        int phy_addr;
@@ -293,6 +295,6 @@ struct plat_stmmacenet_data {
        bool sph_disable;
        bool serdes_up_after_phy_linkup;
        const struct dwmac4_addrs *dwmac4_addrs;
-       bool has_integrated_pcs;
+       unsigned int flags;
 };
 #endif