]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
phy: freescale: imx8qm-hsio: provide regmap names
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Wed, 11 Feb 2026 14:49:48 +0000 (15:49 +0100)
committerVinod Koul <vkoul@kernel.org>
Sun, 10 May 2026 12:17:21 +0000 (17:47 +0530)
This driver uses multiple regmaps, which will causes name conflicts
in debugfs like:
  debugfs: '5f1a0000.phy' already exists in 'regmap'
Fix this by using a dedicated regmap config for each resource, each
having a dedicated regmap name.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260211144949.1128122-1-alexander.stein@ew.tq-group.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c

index 279b8ac7822df7f5273002f363018556ead23572..4ab45c9f53dff06ebc0fb876176670d4d83b2e4e 100644 (file)
@@ -107,7 +107,22 @@ static const char * const lan2_pcieb_clks[] = {"apb_pclk2", "pclk2", "ctl1_crr",
 static const char * const lan2_sata_clks[] = {"pclk2", "epcs_tx", "epcs_rx",
                                              "phy1_crr", "misc_crr"};
 
-static const struct regmap_config regmap_config = {
+static const struct regmap_config regmap_phy_config = {
+       .name = "phy",
+       .reg_bits = 32,
+       .val_bits = 32,
+       .reg_stride = 4,
+};
+
+static const struct regmap_config regmap_ctrl_config = {
+       .name = "ctrl",
+       .reg_bits = 32,
+       .val_bits = 32,
+       .reg_stride = 4,
+};
+
+static const struct regmap_config regmap_misc_config = {
+       .name = "misc",
        .reg_bits = 32,
        .val_bits = 32,
        .reg_stride = 4,
@@ -562,19 +577,19 @@ static int imx_hsio_probe(struct platform_device *pdev)
                return PTR_ERR(priv->base);
 
        off = devm_platform_ioremap_resource_byname(pdev, "phy");
-       priv->phy = devm_regmap_init_mmio(dev, off, &regmap_config);
+       priv->phy = devm_regmap_init_mmio(dev, off, &regmap_phy_config);
        if (IS_ERR(priv->phy))
                return dev_err_probe(dev, PTR_ERR(priv->phy),
                                     "unable to find phy csr registers\n");
 
        off = devm_platform_ioremap_resource_byname(pdev, "ctrl");
-       priv->ctrl = devm_regmap_init_mmio(dev, off, &regmap_config);
+       priv->ctrl = devm_regmap_init_mmio(dev, off, &regmap_ctrl_config);
        if (IS_ERR(priv->ctrl))
                return dev_err_probe(dev, PTR_ERR(priv->ctrl),
                                     "unable to find ctrl csr registers\n");
 
        off = devm_platform_ioremap_resource_byname(pdev, "misc");
-       priv->misc = devm_regmap_init_mmio(dev, off, &regmap_config);
+       priv->misc = devm_regmap_init_mmio(dev, off, &regmap_misc_config);
        if (IS_ERR(priv->misc))
                return dev_err_probe(dev, PTR_ERR(priv->misc),
                                     "unable to find misc csr registers\n");