From: Alexander Stein Date: Wed, 11 Feb 2026 14:49:48 +0000 (+0100) Subject: phy: freescale: imx8qm-hsio: provide regmap names X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=057c81a17fffb17f66e5b4524d49b7caad3fe627;p=thirdparty%2Fkernel%2Flinux.git phy: freescale: imx8qm-hsio: provide regmap names 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 Reviewed-by: Neil Armstrong Reviewed-by: Frank Li Link: https://patch.msgid.link/20260211144949.1128122-1-alexander.stein@ew.tq-group.com Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/freescale/phy-fsl-imx8qm-hsio.c b/drivers/phy/freescale/phy-fsl-imx8qm-hsio.c index 279b8ac7822df..4ab45c9f53dff 100644 --- a/drivers/phy/freescale/phy-fsl-imx8qm-hsio.c +++ b/drivers/phy/freescale/phy-fsl-imx8qm-hsio.c @@ -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, ®map_config); + priv->phy = devm_regmap_init_mmio(dev, off, ®map_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, ®map_config); + priv->ctrl = devm_regmap_init_mmio(dev, off, ®map_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, ®map_config); + priv->misc = devm_regmap_init_mmio(dev, off, ®map_misc_config); if (IS_ERR(priv->misc)) return dev_err_probe(dev, PTR_ERR(priv->misc), "unable to find misc csr registers\n");