All of lore.kernel.org
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno  <angelogioacchino.delregno@collabora.com>
To: mturquette@baylibre.com
Cc: sboyd@kernel.org, matthias.bgg@gmail.com,
	angelogioacchino.delregno@collabora.com, wenst@chromium.org,
	johnson.wang@mediatek.com, miles.chen@mediatek.com,
	chun-jie.chen@mediatek.com, daniel@makrotopia.org,
	fparent@baylibre.com, msp@baylibre.com, nfraprado@collabora.com,
	rex-bc.chen@mediatek.com, zhaojh329@gmail.com,
	sam.shih@mediatek.com, edward-jw.yang@mediatek.com,
	yangyingliang@huawei.com, granquet@baylibre.com,
	pablo.sun@mediatek.com, sean.wang@mediatek.com,
	chen.zhong@mediatek.com, linux-kernel@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: [PATCH v1 19/45] clk: mediatek: mt8183: Convert all remaining clocks to common probe
Date: Mon,  6 Feb 2023 16:29:02 +0100	[thread overview]
Message-ID: <20230206152928.918562-20-angelogioacchino.delregno@collabora.com> (raw)
In-Reply-To: <20230206152928.918562-1-angelogioacchino.delregno@collabora.com>

Switch to mtk_clk_simple_{probe,remove}() for infracfg and topckgen
clocks on MT8183 to allow full module build for clock drivers.
In order to do this, like done for other MediaTek clock drivers, it
was necessary to join top_early_divs with top_divs and to stop
registering the `clk13m` clock early.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/clk/mediatek/clk-mt8183.c | 160 ++++++------------------------
 1 file changed, 28 insertions(+), 132 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt8183.c b/drivers/clk/mediatek/clk-mt8183.c
index 0fad2cf7f41b..035fdd02f0be 100644
--- a/drivers/clk/mediatek/clk-mt8183.c
+++ b/drivers/clk/mediatek/clk-mt8183.c
@@ -25,11 +25,8 @@ static const struct mtk_fixed_clk top_fixed_clks[] = {
 	FIXED_CLK(CLK_TOP_UNIVP_192M, "univpll_192m", "univpll", 192000000),
 };
 
-static const struct mtk_fixed_factor top_early_divs[] = {
-	FACTOR(CLK_TOP_CLK13M, "clk13m", "clk26m", 1, 2),
-};
-
 static const struct mtk_fixed_factor top_divs[] = {
+	FACTOR(CLK_TOP_CLK13M, "clk13m", "clk26m", 1, 2),
 	FACTOR(CLK_TOP_F26M_CK_D2, "csw_f26m_ck_d2", "clk26m", 1, 2),
 	FACTOR_FLAGS(CLK_TOP_SYSPLL_CK, "syspll_ck", "mainpll", 1, 1, 0),
 	FACTOR_FLAGS(CLK_TOP_SYSPLL_D2, "syspll_d2", "syspll_ck", 1, 2, 0),
@@ -809,26 +806,6 @@ static const struct mtk_clk_rst_desc clk_rst_desc = {
 	.rst_bank_nr = ARRAY_SIZE(infra_rst_ofs),
 };
 
-static struct clk_hw_onecell_data *top_clk_data;
-
-static void clk_mt8183_top_init_early(struct device_node *node)
-{
-	int i;
-
-	top_clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK);
-
-	for (i = 0; i < CLK_TOP_NR_CLK; i++)
-		top_clk_data->hws[i] = ERR_PTR(-EPROBE_DEFER);
-
-	mtk_clk_register_factors(top_early_divs, ARRAY_SIZE(top_early_divs),
-			top_clk_data);
-
-	of_clk_add_hw_provider(node, of_clk_hw_onecell_get, top_clk_data);
-}
-
-CLK_OF_DECLARE_DRIVER(mt8183_topckgen, "mediatek,mt8183-topckgen",
-			clk_mt8183_top_init_early);
-
 /* Register mux notifier for MFG mux */
 static int clk_mt8183_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
 {
@@ -851,134 +828,53 @@ static int clk_mt8183_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
 	return devm_mtk_clk_mux_notifier_register(dev, clk, mfg_mux_nb);
 }
 
-static int clk_mt8183_top_probe(struct platform_device *pdev)
-{
-	void __iomem *base;
-	struct device_node *node = pdev->dev.of_node;
-	int ret;
-
-	base = devm_platform_ioremap_resource(pdev, 0);
-	if (IS_ERR(base))
-		return PTR_ERR(base);
-
-	mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks),
-		top_clk_data);
-
-	mtk_clk_register_factors(top_early_divs, ARRAY_SIZE(top_early_divs),
-		top_clk_data);
-
-	mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data);
-
-	mtk_clk_register_muxes(&pdev->dev, top_muxes,
-			       ARRAY_SIZE(top_muxes), node,
-			       &mt8183_clk_lock, top_clk_data);
-
-	mtk_clk_register_composites(&pdev->dev, top_aud_comp,
-				    ARRAY_SIZE(top_aud_comp), base,
-				    &mt8183_clk_lock, top_clk_data);
-
-	mtk_clk_register_gates(&pdev->dev, node, top_clks,
-			       ARRAY_SIZE(top_clks), top_clk_data);
-
-	ret = clk_mt8183_reg_mfg_mux_notifier(&pdev->dev,
-					      top_clk_data->hws[CLK_TOP_MUX_MFG]->clk);
-	if (ret)
-		return ret;
-
-	return of_clk_add_hw_provider(node, of_clk_hw_onecell_get,
-				      top_clk_data);
-}
-
-static int clk_mt8183_mcu_probe(struct platform_device *pdev)
-{
-	struct clk_hw_onecell_data *clk_data;
-	struct device_node *node = pdev->dev.of_node;
-	void __iomem *base;
-
-	base = devm_platform_ioremap_resource(pdev, 0);
-	if (IS_ERR(base))
-		return PTR_ERR(base);
-
-	clk_data = mtk_alloc_clk_data(CLK_MCU_NR_CLK);
-
-	mtk_clk_register_composites(&pdev->dev, mcu_muxes,
-				    ARRAY_SIZE(mcu_muxes), base,
-				    &mt8183_clk_lock, clk_data);
-
-	return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
-}
-
-static const struct of_device_id of_match_clk_mt8183[] = {
-	{
-		.compatible = "mediatek,mt8183-topckgen",
-		.data = clk_mt8183_top_probe,
-	}, {
-		.compatible = "mediatek,mt8183-mcucfg",
-		.data = clk_mt8183_mcu_probe,
-	}, {
-		/* sentinel */
-	}
-};
-
-static int clk_mt8183_probe(struct platform_device *pdev)
-{
-	int (*clk_probe)(struct platform_device *pdev);
-	int r;
-
-	clk_probe = of_device_get_match_data(&pdev->dev);
-	if (!clk_probe)
-		return -EINVAL;
-
-	r = clk_probe(pdev);
-	if (r)
-		dev_err(&pdev->dev,
-			"could not register clock provider: %s: %d\n",
-			pdev->name, r);
-
-	return r;
-}
-
 static const struct mtk_clk_desc infra_desc = {
 	.clks = infra_clks,
 	.num_clks = ARRAY_SIZE(infra_clks),
 	.rst_desc = &clk_rst_desc,
 };
 
+static const struct mtk_clk_desc mcu_desc = {
+	.composite_clks = mcu_muxes,
+	.num_composite_clks = ARRAY_SIZE(mcu_muxes),
+	.clk_lock = &mt8183_clk_lock,
+};
+
 static const struct mtk_clk_desc peri_desc = {
 	.clks = peri_clks,
 	.num_clks = ARRAY_SIZE(peri_clks),
 };
 
-static const struct of_device_id of_match_clk_mt8183_simple[] = {
+static const struct mtk_clk_desc topck_desc = {
+	.fixed_clks = top_fixed_clks,
+	.num_fixed_clks = ARRAY_SIZE(top_fixed_clks),
+	.factor_clks = top_divs,
+	.num_factor_clks = ARRAY_SIZE(top_divs),
+	.mux_clks = top_muxes,
+	.num_mux_clks = ARRAY_SIZE(top_muxes),
+	.composite_clks = top_aud_comp,
+	.num_composite_clks = ARRAY_SIZE(top_aud_comp),
+	.clks = top_clks,
+	.num_clks = ARRAY_SIZE(top_clks),
+	.clk_lock = &mt8183_clk_lock,
+	.clk_notifier_func = clk_mt8183_reg_mfg_mux_notifier,
+	.mfg_clk_idx = CLK_TOP_MUX_MFG,
+};
+
+static const struct of_device_id of_match_clk_mt8183[] = {
 	{ .compatible = "mediatek,mt8183-infracfg", .data = &infra_desc },
+	{ .compatible = "mediatek,mt8183-mcucfg", .data = &mcu_desc },
 	{ .compatible = "mediatek,mt8183-pericfg", .data = &peri_desc, },
+	{ .compatible = "mediatek,mt8183-topckgen", .data = &topck_desc },
 	{ /* sentinel */ }
 };
 
-static struct platform_driver clk_mt8183_simple_drv = {
+static struct platform_driver clk_mt8183_drv = {
 	.probe = mtk_clk_simple_probe,
 	.remove = mtk_clk_simple_remove,
-	.driver = {
-		.name = "clk-mt8183-simple",
-		.of_match_table = of_match_clk_mt8183_simple,
-	},
-};
-
-static struct platform_driver clk_mt8183_drv = {
-	.probe = clk_mt8183_probe,
 	.driver = {
 		.name = "clk-mt8183",
 		.of_match_table = of_match_clk_mt8183,
 	},
 };
-
-static int __init clk_mt8183_init(void)
-{
-	int ret = platform_driver_register(&clk_mt8183_drv);
-
-	if (ret)
-		return ret;
-	return platform_driver_register(&clk_mt8183_simple_drv);
-}
-
-arch_initcall(clk_mt8183_init);
+module_platform_driver(clk_mt8183_drv)
-- 
2.39.1


WARNING: multiple messages have this Message-ID (diff)
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: mturquette@baylibre.com
Cc: sboyd@kernel.org, matthias.bgg@gmail.com,
	angelogioacchino.delregno@collabora.com, wenst@chromium.org,
	johnson.wang@mediatek.com, miles.chen@mediatek.com,
	chun-jie.chen@mediatek.com, daniel@makrotopia.org,
	fparent@baylibre.com, msp@baylibre.com, nfraprado@collabora.com,
	rex-bc.chen@mediatek.com, zhaojh329@gmail.com,
	sam.shih@mediatek.com, edward-jw.yang@mediatek.com,
	yangyingliang@huawei.com, granquet@baylibre.com,
	pablo.sun@mediatek.com, sean.wang@mediatek.com,
	chen.zhong@mediatek.com, linux-kernel@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: [PATCH v1 19/45] clk: mediatek: mt8183: Convert all remaining clocks to common probe
Date: Mon,  6 Feb 2023 16:29:02 +0100	[thread overview]
Message-ID: <20230206152928.918562-20-angelogioacchino.delregno@collabora.com> (raw)
In-Reply-To: <20230206152928.918562-1-angelogioacchino.delregno@collabora.com>

Switch to mtk_clk_simple_{probe,remove}() for infracfg and topckgen
clocks on MT8183 to allow full module build for clock drivers.
In order to do this, like done for other MediaTek clock drivers, it
was necessary to join top_early_divs with top_divs and to stop
registering the `clk13m` clock early.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/clk/mediatek/clk-mt8183.c | 160 ++++++------------------------
 1 file changed, 28 insertions(+), 132 deletions(-)

diff --git a/drivers/clk/mediatek/clk-mt8183.c b/drivers/clk/mediatek/clk-mt8183.c
index 0fad2cf7f41b..035fdd02f0be 100644
--- a/drivers/clk/mediatek/clk-mt8183.c
+++ b/drivers/clk/mediatek/clk-mt8183.c
@@ -25,11 +25,8 @@ static const struct mtk_fixed_clk top_fixed_clks[] = {
 	FIXED_CLK(CLK_TOP_UNIVP_192M, "univpll_192m", "univpll", 192000000),
 };
 
-static const struct mtk_fixed_factor top_early_divs[] = {
-	FACTOR(CLK_TOP_CLK13M, "clk13m", "clk26m", 1, 2),
-};
-
 static const struct mtk_fixed_factor top_divs[] = {
+	FACTOR(CLK_TOP_CLK13M, "clk13m", "clk26m", 1, 2),
 	FACTOR(CLK_TOP_F26M_CK_D2, "csw_f26m_ck_d2", "clk26m", 1, 2),
 	FACTOR_FLAGS(CLK_TOP_SYSPLL_CK, "syspll_ck", "mainpll", 1, 1, 0),
 	FACTOR_FLAGS(CLK_TOP_SYSPLL_D2, "syspll_d2", "syspll_ck", 1, 2, 0),
@@ -809,26 +806,6 @@ static const struct mtk_clk_rst_desc clk_rst_desc = {
 	.rst_bank_nr = ARRAY_SIZE(infra_rst_ofs),
 };
 
-static struct clk_hw_onecell_data *top_clk_data;
-
-static void clk_mt8183_top_init_early(struct device_node *node)
-{
-	int i;
-
-	top_clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK);
-
-	for (i = 0; i < CLK_TOP_NR_CLK; i++)
-		top_clk_data->hws[i] = ERR_PTR(-EPROBE_DEFER);
-
-	mtk_clk_register_factors(top_early_divs, ARRAY_SIZE(top_early_divs),
-			top_clk_data);
-
-	of_clk_add_hw_provider(node, of_clk_hw_onecell_get, top_clk_data);
-}
-
-CLK_OF_DECLARE_DRIVER(mt8183_topckgen, "mediatek,mt8183-topckgen",
-			clk_mt8183_top_init_early);
-
 /* Register mux notifier for MFG mux */
 static int clk_mt8183_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
 {
@@ -851,134 +828,53 @@ static int clk_mt8183_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
 	return devm_mtk_clk_mux_notifier_register(dev, clk, mfg_mux_nb);
 }
 
-static int clk_mt8183_top_probe(struct platform_device *pdev)
-{
-	void __iomem *base;
-	struct device_node *node = pdev->dev.of_node;
-	int ret;
-
-	base = devm_platform_ioremap_resource(pdev, 0);
-	if (IS_ERR(base))
-		return PTR_ERR(base);
-
-	mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks),
-		top_clk_data);
-
-	mtk_clk_register_factors(top_early_divs, ARRAY_SIZE(top_early_divs),
-		top_clk_data);
-
-	mtk_clk_register_factors(top_divs, ARRAY_SIZE(top_divs), top_clk_data);
-
-	mtk_clk_register_muxes(&pdev->dev, top_muxes,
-			       ARRAY_SIZE(top_muxes), node,
-			       &mt8183_clk_lock, top_clk_data);
-
-	mtk_clk_register_composites(&pdev->dev, top_aud_comp,
-				    ARRAY_SIZE(top_aud_comp), base,
-				    &mt8183_clk_lock, top_clk_data);
-
-	mtk_clk_register_gates(&pdev->dev, node, top_clks,
-			       ARRAY_SIZE(top_clks), top_clk_data);
-
-	ret = clk_mt8183_reg_mfg_mux_notifier(&pdev->dev,
-					      top_clk_data->hws[CLK_TOP_MUX_MFG]->clk);
-	if (ret)
-		return ret;
-
-	return of_clk_add_hw_provider(node, of_clk_hw_onecell_get,
-				      top_clk_data);
-}
-
-static int clk_mt8183_mcu_probe(struct platform_device *pdev)
-{
-	struct clk_hw_onecell_data *clk_data;
-	struct device_node *node = pdev->dev.of_node;
-	void __iomem *base;
-
-	base = devm_platform_ioremap_resource(pdev, 0);
-	if (IS_ERR(base))
-		return PTR_ERR(base);
-
-	clk_data = mtk_alloc_clk_data(CLK_MCU_NR_CLK);
-
-	mtk_clk_register_composites(&pdev->dev, mcu_muxes,
-				    ARRAY_SIZE(mcu_muxes), base,
-				    &mt8183_clk_lock, clk_data);
-
-	return of_clk_add_hw_provider(node, of_clk_hw_onecell_get, clk_data);
-}
-
-static const struct of_device_id of_match_clk_mt8183[] = {
-	{
-		.compatible = "mediatek,mt8183-topckgen",
-		.data = clk_mt8183_top_probe,
-	}, {
-		.compatible = "mediatek,mt8183-mcucfg",
-		.data = clk_mt8183_mcu_probe,
-	}, {
-		/* sentinel */
-	}
-};
-
-static int clk_mt8183_probe(struct platform_device *pdev)
-{
-	int (*clk_probe)(struct platform_device *pdev);
-	int r;
-
-	clk_probe = of_device_get_match_data(&pdev->dev);
-	if (!clk_probe)
-		return -EINVAL;
-
-	r = clk_probe(pdev);
-	if (r)
-		dev_err(&pdev->dev,
-			"could not register clock provider: %s: %d\n",
-			pdev->name, r);
-
-	return r;
-}
-
 static const struct mtk_clk_desc infra_desc = {
 	.clks = infra_clks,
 	.num_clks = ARRAY_SIZE(infra_clks),
 	.rst_desc = &clk_rst_desc,
 };
 
+static const struct mtk_clk_desc mcu_desc = {
+	.composite_clks = mcu_muxes,
+	.num_composite_clks = ARRAY_SIZE(mcu_muxes),
+	.clk_lock = &mt8183_clk_lock,
+};
+
 static const struct mtk_clk_desc peri_desc = {
 	.clks = peri_clks,
 	.num_clks = ARRAY_SIZE(peri_clks),
 };
 
-static const struct of_device_id of_match_clk_mt8183_simple[] = {
+static const struct mtk_clk_desc topck_desc = {
+	.fixed_clks = top_fixed_clks,
+	.num_fixed_clks = ARRAY_SIZE(top_fixed_clks),
+	.factor_clks = top_divs,
+	.num_factor_clks = ARRAY_SIZE(top_divs),
+	.mux_clks = top_muxes,
+	.num_mux_clks = ARRAY_SIZE(top_muxes),
+	.composite_clks = top_aud_comp,
+	.num_composite_clks = ARRAY_SIZE(top_aud_comp),
+	.clks = top_clks,
+	.num_clks = ARRAY_SIZE(top_clks),
+	.clk_lock = &mt8183_clk_lock,
+	.clk_notifier_func = clk_mt8183_reg_mfg_mux_notifier,
+	.mfg_clk_idx = CLK_TOP_MUX_MFG,
+};
+
+static const struct of_device_id of_match_clk_mt8183[] = {
 	{ .compatible = "mediatek,mt8183-infracfg", .data = &infra_desc },
+	{ .compatible = "mediatek,mt8183-mcucfg", .data = &mcu_desc },
 	{ .compatible = "mediatek,mt8183-pericfg", .data = &peri_desc, },
+	{ .compatible = "mediatek,mt8183-topckgen", .data = &topck_desc },
 	{ /* sentinel */ }
 };
 
-static struct platform_driver clk_mt8183_simple_drv = {
+static struct platform_driver clk_mt8183_drv = {
 	.probe = mtk_clk_simple_probe,
 	.remove = mtk_clk_simple_remove,
-	.driver = {
-		.name = "clk-mt8183-simple",
-		.of_match_table = of_match_clk_mt8183_simple,
-	},
-};
-
-static struct platform_driver clk_mt8183_drv = {
-	.probe = clk_mt8183_probe,
 	.driver = {
 		.name = "clk-mt8183",
 		.of_match_table = of_match_clk_mt8183,
 	},
 };
-
-static int __init clk_mt8183_init(void)
-{
-	int ret = platform_driver_register(&clk_mt8183_drv);
-
-	if (ret)
-		return ret;
-	return platform_driver_register(&clk_mt8183_simple_drv);
-}
-
-arch_initcall(clk_mt8183_init);
+module_platform_driver(clk_mt8183_drv)
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-02-06 15:31 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-06 15:28 [PATCH v1 00/45] MediaTek clocks: full module build and cleanups AngeloGioacchino Del Regno
2023-02-06 15:28 ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 01/45] clk: mediatek: clk-mtk: Switch to device_get_match_data() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  5:01   ` Chen-Yu Tsai
2023-02-07  5:01     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 02/45] clk: mediatek: clk-mtk: Introduce clk_mtk_pdev_{probe,remove}() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  5:59   ` Chen-Yu Tsai
2023-02-07  5:59     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 03/45] clk: mediatek: Migrate to mtk_clk_pdev_probe() for multimedia clocks AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:06   ` Chen-Yu Tsai
2023-02-07  6:06     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 04/45] clk: mediatek: Add divider clocks to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:11   ` Chen-Yu Tsai
2023-02-07  6:11     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 05/45] clk: mediatek: mt2712: Migrate topckgen/mcucfg to mtk_clk_simple_probe() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:15   ` Chen-Yu Tsai
2023-02-07  6:15     ` Chen-Yu Tsai
2023-02-07  8:45     ` AngeloGioacchino Del Regno
2023-02-07  8:45       ` AngeloGioacchino Del Regno
2023-02-07  8:58       ` Chen-Yu Tsai
2023-02-07  8:58         ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 06/45] clk: mediatek: mt2712: Compress clock arrays entries to 90 columns AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:58   ` Chen-Yu Tsai
2023-02-07  6:58     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 07/45] clk: mediatek: mt2712: Add error handling to clk_mt2712_apmixed_probe() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:16   ` Chen-Yu Tsai
2023-02-07  6:16     ` Chen-Yu Tsai
2023-02-07  9:00     ` AngeloGioacchino Del Regno
2023-02-07  9:00       ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 08/45] clk: mediatek: mt2712: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:50   ` Chen-Yu Tsai
2023-02-07  6:50     ` Chen-Yu Tsai
2023-02-07  9:13     ` AngeloGioacchino Del Regno
2023-02-07  9:13       ` AngeloGioacchino Del Regno
2023-02-07  7:07   ` Chen-Yu Tsai
2023-02-07  7:07     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 09/45] clk: mediatek: mt2712: Change to use module_platform_driver macro AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  6:33   ` Chen-Yu Tsai
2023-02-07  6:33     ` Chen-Yu Tsai
2023-02-07  9:00     ` AngeloGioacchino Del Regno
2023-02-07  9:00       ` AngeloGioacchino Del Regno
2023-02-07  9:30       ` Chen-Yu Tsai
2023-02-07  9:30         ` Chen-Yu Tsai
2023-02-07 10:50         ` AngeloGioacchino Del Regno
2023-02-07 10:50           ` AngeloGioacchino Del Regno
2023-02-08  8:24           ` Chen-Yu Tsai
2023-02-08  8:24             ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 10/45] clk: mediatek: mt2712: Change Kconfig options to allow module build AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 11/45] clk: mediatek: mt8365: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  7:12   ` Chen-Yu Tsai
2023-02-07  7:12     ` Chen-Yu Tsai
2023-02-07  9:14     ` AngeloGioacchino Del Regno
2023-02-07  9:14       ` AngeloGioacchino Del Regno
2023-02-07  9:32       ` Chen-Yu Tsai
2023-02-07  9:32         ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 12/45] clk: mediatek: mt8365: Convert to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  7:28   ` Chen-Yu Tsai
2023-02-07  7:28     ` Chen-Yu Tsai
2023-02-07  9:16     ` AngeloGioacchino Del Regno
2023-02-07  9:16       ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 13/45] clk: mediatek: mt8167: Compress GATE_TOPx macros AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  7:30   ` Chen-Yu Tsai
2023-02-07  7:30     ` Chen-Yu Tsai
2023-02-07  9:17     ` AngeloGioacchino Del Regno
2023-02-07  9:17       ` AngeloGioacchino Del Regno
2023-02-06 15:28 ` [PATCH v1 14/45] clk: mediatek: mt8167: Move apmixedsys as platform_driver in new file AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  7:36   ` Chen-Yu Tsai
2023-02-07  7:36     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 15/45] clk: mediatek: mt8167: Remove __initconst annotation from arrays AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  7:41   ` Chen-Yu Tsai
2023-02-07  7:41     ` Chen-Yu Tsai
2023-02-06 15:28 ` [PATCH v1 16/45] clk: mediatek: mt8167: Convert to mtk_clk_simple_{probe,remove}() AngeloGioacchino Del Regno
2023-02-06 15:28   ` AngeloGioacchino Del Regno
2023-02-07  8:07   ` Chen-Yu Tsai
2023-02-07  8:07     ` Chen-Yu Tsai
2023-02-07 11:51     ` AngeloGioacchino Del Regno
2023-02-07 11:51       ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 17/45] clk: mediatek: mt8183: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 18/45] clk: mediatek: mt8183: Compress clocks arrays entries where possible AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-07  9:41   ` Chen-Yu Tsai
2023-02-07  9:41     ` Chen-Yu Tsai
2023-02-06 15:29 ` AngeloGioacchino Del Regno [this message]
2023-02-06 15:29   ` [PATCH v1 19/45] clk: mediatek: mt8183: Convert all remaining clocks to common probe AngeloGioacchino Del Regno
2023-02-07  9:58   ` Chen-Yu Tsai
2023-02-07  9:58     ` Chen-Yu Tsai
2023-02-07 12:14     ` AngeloGioacchino Del Regno
2023-02-07 12:14       ` AngeloGioacchino Del Regno
2023-02-08  8:17       ` Chen-Yu Tsai
2023-02-08  8:17         ` Chen-Yu Tsai
2023-02-06 15:29 ` [PATCH v1 20/45] clk: mediatek: Consistently use GATE_MTK() macro AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 21/45] clk: mediatek: mt7622: Properly use CLK_IS_CRITICAL flag AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 22/45] clk: mediatek: mt7622: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 23/45] clk: mediatek: mt7622: Move infracfg to clk-mt7622-infracfg.c AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 24/45] clk: mediatek: mt7622: Convert to platform driver and simple probe AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 25/45] clk: mediatek: mt8516: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 26/45] clk: mediatek: mt8516: Convert to platform driver and simple probe AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 27/45] clk: mediatek: mt8516: Allow building clock drivers as modules AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 28/45] clk: mediatek: Propagate struct device with mtk_clk_register_dividers() AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 29/45] clk: mediatek: mt7986-apmixed: Use PLL_AO flag to set critical clock AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-07 14:43   ` Daniel Golle
2023-02-07 14:43     ` Daniel Golle
2023-02-07 15:22     ` AngeloGioacchino Del Regno
2023-02-07 15:22       ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 30/45] clk: mediatek: mt7986-infracfg: Migrate to common probe mechanism AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 31/45] clk: mediatek: mt7986-eth: " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 32/45] clk: mediatek: mt8186-mcu: " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 33/45] clk: mediatek: Switch to module_platform_driver() where possible AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-07  6:37   ` Chen-Yu Tsai
2023-02-07  6:37     ` Chen-Yu Tsai
2023-02-07  9:03     ` AngeloGioacchino Del Regno
2023-02-07  9:03       ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 34/45] clk: mediatek: Add MODULE_LICENSE() where missing AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 35/45] clk: mediatek: Split MT8195 clock drivers and allow module build AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-08  8:28   ` Chen-Yu Tsai
2023-02-08  8:28     ` Chen-Yu Tsai
2023-02-08  8:59     ` AngeloGioacchino Del Regno
2023-02-08  8:59       ` AngeloGioacchino Del Regno
2023-02-09  3:46       ` Chen-Yu Tsai
2023-02-09  3:46         ` Chen-Yu Tsai
2023-02-09  9:14         ` AngeloGioacchino Del Regno
2023-02-09  9:14           ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 36/45] clk: mediatek: Allow building MT8192 non-critical clocks as modules AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 37/45] clk: mediatek: Allow MT7622 clocks to be built " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 38/45] clk: mediatek: Allow all MT8167 " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 39/45] clk: mediatek: Allow all MT8183 " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 40/45] clk: mediatek: Allow building most MT6765 clock drivers " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 41/45] clk: mediatek: Allow building most MT6797 " AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 42/45] clk: mediatek: Split configuration options for MT8186 clock drivers AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 43/45] clk: mediatek: mt8192: Move apmixedsys clock driver to its own file AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 44/45] clk: mediatek: Kconfig: Allow module build for core mt8192 clocks AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:29 ` [PATCH v1 45/45] clk: mediatek: Add MODULE_DEVICE_TABLE() where appropriate AngeloGioacchino Del Regno
2023-02-06 15:29   ` AngeloGioacchino Del Regno
2023-02-06 15:38 ` [PATCH v1 00/45] MediaTek clocks: full module build and cleanups AngeloGioacchino Del Regno
2023-02-06 15:38   ` AngeloGioacchino Del Regno
2023-02-07  9:04   ` Chen-Yu Tsai
2023-02-07  9:04     ` Chen-Yu Tsai
2023-02-07  9:19     ` AngeloGioacchino Del Regno
2023-02-07  9:19       ` AngeloGioacchino Del Regno
2023-02-07  9:49       ` Chen-Yu Tsai
2023-02-07  9:49         ` Chen-Yu Tsai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230206152928.918562-20-angelogioacchino.delregno@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=chen.zhong@mediatek.com \
    --cc=chun-jie.chen@mediatek.com \
    --cc=daniel@makrotopia.org \
    --cc=edward-jw.yang@mediatek.com \
    --cc=fparent@baylibre.com \
    --cc=granquet@baylibre.com \
    --cc=johnson.wang@mediatek.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=miles.chen@mediatek.com \
    --cc=msp@baylibre.com \
    --cc=mturquette@baylibre.com \
    --cc=nfraprado@collabora.com \
    --cc=pablo.sun@mediatek.com \
    --cc=rex-bc.chen@mediatek.com \
    --cc=sam.shih@mediatek.com \
    --cc=sboyd@kernel.org \
    --cc=sean.wang@mediatek.com \
    --cc=wenst@chromium.org \
    --cc=yangyingliang@huawei.com \
    --cc=zhaojh329@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.