Commit 9eb73f92 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by David S. Miller
Browse files

net: dsa: mt7530: Constify struct regmap_config



'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: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: default avatarDaniel Golle <daniel@makrotopia.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8c2e6022
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -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);

+10 −11
Original line number Diff line number Diff line
@@ -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);