]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: dsa: mt7530: Constify struct regmap_config
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 13 Jul 2025 15:09:24 +0000 (17:09 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Jul 2025 21:28:56 +0000 (22:28 +0100)
'struct regmap_config' are not modified in these drivers. They be
statically defined instead of allocated and populated at run-time.

The main benefits are:
  - it saves some memory at runtime
  - the structures can be declared as 'const', which is always better for
    structures that hold some function pointers
  - the code is less verbose

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mt7530-mdio.c
drivers/net/dsa/mt7530-mmio.c

index 51df42ccdbe629eae03fd583733630e7d7c06f58..0286a6cecb6f570e0ec799828e02e935bec88a52 100644 (file)
@@ -136,10 +136,17 @@ static const struct of_device_id mt7530_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, mt7530_of_match);
 
+static const struct regmap_config regmap_config = {
+       .reg_bits = 16,
+       .val_bits = 32,
+       .reg_stride = 4,
+       .max_register = MT7530_CREV,
+       .disable_locking = true,
+};
+
 static int
 mt7530_probe(struct mdio_device *mdiodev)
 {
-       static struct regmap_config *regmap_config;
        struct mt7530_priv *priv;
        struct device_node *dn;
        int ret;
@@ -193,18 +200,8 @@ mt7530_probe(struct mdio_device *mdiodev)
                        return PTR_ERR(priv->io_pwr);
        }
 
-       regmap_config = devm_kzalloc(&mdiodev->dev, sizeof(*regmap_config),
-                                    GFP_KERNEL);
-       if (!regmap_config)
-               return -ENOMEM;
-
-       regmap_config->reg_bits = 16;
-       regmap_config->val_bits = 32;
-       regmap_config->reg_stride = 4;
-       regmap_config->max_register = MT7530_CREV;
-       regmap_config->disable_locking = true;
        priv->regmap = devm_regmap_init(priv->dev, &mt7530_regmap_bus, priv,
-                                       regmap_config);
+                                       &regmap_config);
        if (IS_ERR(priv->regmap))
                return PTR_ERR(priv->regmap);
 
index 842d74268e772482c75ec39f73aca9c2094b037e..1dc8b93fb51a136ff4c8c1414312afc149fc2ae1 100644 (file)
@@ -18,10 +18,17 @@ static const struct of_device_id mt7988_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, mt7988_of_match);
 
+static const struct regmap_config sw_regmap_config = {
+       .name = "switch",
+       .reg_bits = 16,
+       .val_bits = 32,
+       .reg_stride = 4,
+       .max_register = MT7530_CREV,
+};
+
 static int
 mt7988_probe(struct platform_device *pdev)
 {
-       static struct regmap_config *sw_regmap_config;
        struct mt7530_priv *priv;
        void __iomem *base_addr;
        int ret;
@@ -49,16 +56,8 @@ mt7988_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
-       sw_regmap_config = devm_kzalloc(&pdev->dev, sizeof(*sw_regmap_config), GFP_KERNEL);
-       if (!sw_regmap_config)
-               return -ENOMEM;
-
-       sw_regmap_config->name = "switch";
-       sw_regmap_config->reg_bits = 16;
-       sw_regmap_config->val_bits = 32;
-       sw_regmap_config->reg_stride = 4;
-       sw_regmap_config->max_register = MT7530_CREV;
-       priv->regmap = devm_regmap_init_mmio(&pdev->dev, base_addr, sw_regmap_config);
+       priv->regmap = devm_regmap_init_mmio(&pdev->dev, base_addr,
+                                            &sw_regmap_config);
        if (IS_ERR(priv->regmap))
                return PTR_ERR(priv->regmap);