From: matthias.bgg@kernel.org To: robh+dt@kernel.org, mark.rutland@arm.com, ck.hu@mediatek.com, p.zabel@pengutronix.de, airlied@linux.ie, mturquette@baylibre.com, sboyd@codeaurora.org, ulrich.hecht+renesas@gmail.com, laurent.pinchart@ideasonboard.com, enric.balletbo@collabora.com Cc: sean.wang@mediatek.com, sean.wang@kernel.org, rdunlap@infradead.org, wens@csie.org, hsinyi@chromium.org, frank-w@public-files.de, drinkcat@chromium.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, mbrugger@suse.com Subject: [PATCH v6 09/12] clk: mediatek: mt6797: switch to platform device probing Date: Sat, 7 Dec 2019 23:23:46 +0100 [thread overview] Message-ID: <20191207222349.23161-10-matthias.bgg@kernel.org> (raw) In-Reply-To: <20191207222349.23161-1-matthias.bgg@kernel.org> From: Matthias Brugger <mbrugger@suse.com> Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by: Matthias Brugger <mbrugger@suse.com> --- drivers/clk/mediatek/clk-mt6797-mm.c | 43 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c index 8f05653b387d..1aea4f8d5a9d 100644 --- a/drivers/clk/mediatek/clk-mt6797-mm.c +++ b/drivers/clk/mediatek/clk-mt6797-mm.c @@ -4,13 +4,19 @@ * Author: Kevin Chen <kevin-cw.chen@mediatek.com> */ +#include <linux/module.h> #include <linux/clk-provider.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <dt-bindings/clock/mt6797-clk.h> #include "clk-mtk.h" #include "clk-gate.h" +struct clk_mt6797_mm_priv { + struct clk_onecell_data *clk_data; +}; + static const struct mtk_gate_regs mm0_cg_regs = { .set_ofs = 0x0104, .clr_ofs = 0x0108, @@ -92,23 +98,24 @@ static const struct mtk_gate mm_clks[] = { "clk26m", 3), }; -static const struct of_device_id of_match_clk_mt6797_mm[] = { - { .compatible = "mediatek,mt6797-mmsys", }, - {} -}; - static int clk_mt6797_mm_probe(struct platform_device *pdev) { - struct clk_onecell_data *clk_data; + struct clk_mt6797_mm_priv *private; int r; - struct device_node *node = pdev->dev.of_node; + struct device *parent = pdev->dev.parent; + + private = devm_kzalloc(&pdev->dev, sizeof(*private), GFP_KERNEL); + if (!private) + return -ENOMEM; - clk_data = mtk_alloc_clk_data(CLK_MM_NR); + private->clk_data = mtk_alloc_clk_data(CLK_MM_NR); + platform_set_drvdata(pdev, private); - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks), - clk_data); + mtk_clk_register_gates(parent->of_node, mm_clks, ARRAY_SIZE(mm_clks), + private->clk_data); - r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + r = of_clk_add_provider(parent->of_node, of_clk_src_onecell_get, + private->clk_data); if (r) dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", @@ -117,12 +124,20 @@ static int clk_mt6797_mm_probe(struct platform_device *pdev) return r; } +static int clk_mt6797_mm_remove(struct platform_device *pdev) +{ + struct clk_mt6797_mm_priv *private = platform_get_drvdata(pdev); + + kfree(private->clk_data); + + return 0; +} + static struct platform_driver clk_mt6797_mm_drv = { .probe = clk_mt6797_mm_probe, + .remove = clk_mt6797_mm_remove, .driver = { .name = "clk-mt6797-mm", - .of_match_table = of_match_clk_mt6797_mm, }, }; - -builtin_platform_driver(clk_mt6797_mm_drv); +module_platform_driver(clk_mt6797_mm_drv); -- 2.24.0
WARNING: multiple messages have this Message-ID
From: matthias.bgg@kernel.org To: robh+dt@kernel.org, mark.rutland@arm.com, ck.hu@mediatek.com, p.zabel@pengutronix.de, airlied@linux.ie, mturquette@baylibre.com, sboyd@codeaurora.org, ulrich.hecht+renesas@gmail.com, laurent.pinchart@ideasonboard.com, enric.balletbo@collabora.com Cc: devicetree@vger.kernel.org, rdunlap@infradead.org, frank-w@public-files.de, sean.wang@mediatek.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, sean.wang@kernel.org, wens@csie.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, mbrugger@suse.com, hsinyi@chromium.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Subject: [PATCH v6 09/12] clk: mediatek: mt6797: switch to platform device probing Date: Sat, 7 Dec 2019 23:23:46 +0100 [thread overview] Message-ID: <20191207222349.23161-10-matthias.bgg@kernel.org> (raw) In-Reply-To: <20191207222349.23161-1-matthias.bgg@kernel.org> From: Matthias Brugger <mbrugger@suse.com> Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by: Matthias Brugger <mbrugger@suse.com> --- drivers/clk/mediatek/clk-mt6797-mm.c | 43 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c index 8f05653b387d..1aea4f8d5a9d 100644 --- a/drivers/clk/mediatek/clk-mt6797-mm.c +++ b/drivers/clk/mediatek/clk-mt6797-mm.c @@ -4,13 +4,19 @@ * Author: Kevin Chen <kevin-cw.chen@mediatek.com> */ +#include <linux/module.h> #include <linux/clk-provider.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <dt-bindings/clock/mt6797-clk.h> #include "clk-mtk.h" #include "clk-gate.h" +struct clk_mt6797_mm_priv { + struct clk_onecell_data *clk_data; +}; + static const struct mtk_gate_regs mm0_cg_regs = { .set_ofs = 0x0104, .clr_ofs = 0x0108, @@ -92,23 +98,24 @@ static const struct mtk_gate mm_clks[] = { "clk26m", 3), }; -static const struct of_device_id of_match_clk_mt6797_mm[] = { - { .compatible = "mediatek,mt6797-mmsys", }, - {} -}; - static int clk_mt6797_mm_probe(struct platform_device *pdev) { - struct clk_onecell_data *clk_data; + struct clk_mt6797_mm_priv *private; int r; - struct device_node *node = pdev->dev.of_node; + struct device *parent = pdev->dev.parent; + + private = devm_kzalloc(&pdev->dev, sizeof(*private), GFP_KERNEL); + if (!private) + return -ENOMEM; - clk_data = mtk_alloc_clk_data(CLK_MM_NR); + private->clk_data = mtk_alloc_clk_data(CLK_MM_NR); + platform_set_drvdata(pdev, private); - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks), - clk_data); + mtk_clk_register_gates(parent->of_node, mm_clks, ARRAY_SIZE(mm_clks), + private->clk_data); - r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + r = of_clk_add_provider(parent->of_node, of_clk_src_onecell_get, + private->clk_data); if (r) dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", @@ -117,12 +124,20 @@ static int clk_mt6797_mm_probe(struct platform_device *pdev) return r; } +static int clk_mt6797_mm_remove(struct platform_device *pdev) +{ + struct clk_mt6797_mm_priv *private = platform_get_drvdata(pdev); + + kfree(private->clk_data); + + return 0; +} + static struct platform_driver clk_mt6797_mm_drv = { .probe = clk_mt6797_mm_probe, + .remove = clk_mt6797_mm_remove, .driver = { .name = "clk-mt6797-mm", - .of_match_table = of_match_clk_mt6797_mm, }, }; - -builtin_platform_driver(clk_mt6797_mm_drv); +module_platform_driver(clk_mt6797_mm_drv); -- 2.24.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID
From: matthias.bgg@kernel.org To: robh+dt@kernel.org, mark.rutland@arm.com, ck.hu@mediatek.com, p.zabel@pengutronix.de, airlied@linux.ie, mturquette@baylibre.com, sboyd@codeaurora.org, ulrich.hecht+renesas@gmail.com, laurent.pinchart@ideasonboard.com, enric.balletbo@collabora.com Cc: devicetree@vger.kernel.org, rdunlap@infradead.org, frank-w@public-files.de, sean.wang@mediatek.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, sean.wang@kernel.org, wens@csie.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, mbrugger@suse.com, hsinyi@chromium.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Subject: [PATCH v6 09/12] clk: mediatek: mt6797: switch to platform device probing Date: Sat, 7 Dec 2019 23:23:46 +0100 [thread overview] Message-ID: <20191207222349.23161-10-matthias.bgg@kernel.org> (raw) In-Reply-To: <20191207222349.23161-1-matthias.bgg@kernel.org> From: Matthias Brugger <mbrugger@suse.com> Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by: Matthias Brugger <mbrugger@suse.com> --- drivers/clk/mediatek/clk-mt6797-mm.c | 43 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c index 8f05653b387d..1aea4f8d5a9d 100644 --- a/drivers/clk/mediatek/clk-mt6797-mm.c +++ b/drivers/clk/mediatek/clk-mt6797-mm.c @@ -4,13 +4,19 @@ * Author: Kevin Chen <kevin-cw.chen@mediatek.com> */ +#include <linux/module.h> #include <linux/clk-provider.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <dt-bindings/clock/mt6797-clk.h> #include "clk-mtk.h" #include "clk-gate.h" +struct clk_mt6797_mm_priv { + struct clk_onecell_data *clk_data; +}; + static const struct mtk_gate_regs mm0_cg_regs = { .set_ofs = 0x0104, .clr_ofs = 0x0108, @@ -92,23 +98,24 @@ static const struct mtk_gate mm_clks[] = { "clk26m", 3), }; -static const struct of_device_id of_match_clk_mt6797_mm[] = { - { .compatible = "mediatek,mt6797-mmsys", }, - {} -}; - static int clk_mt6797_mm_probe(struct platform_device *pdev) { - struct clk_onecell_data *clk_data; + struct clk_mt6797_mm_priv *private; int r; - struct device_node *node = pdev->dev.of_node; + struct device *parent = pdev->dev.parent; + + private = devm_kzalloc(&pdev->dev, sizeof(*private), GFP_KERNEL); + if (!private) + return -ENOMEM; - clk_data = mtk_alloc_clk_data(CLK_MM_NR); + private->clk_data = mtk_alloc_clk_data(CLK_MM_NR); + platform_set_drvdata(pdev, private); - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks), - clk_data); + mtk_clk_register_gates(parent->of_node, mm_clks, ARRAY_SIZE(mm_clks), + private->clk_data); - r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + r = of_clk_add_provider(parent->of_node, of_clk_src_onecell_get, + private->clk_data); if (r) dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", @@ -117,12 +124,20 @@ static int clk_mt6797_mm_probe(struct platform_device *pdev) return r; } +static int clk_mt6797_mm_remove(struct platform_device *pdev) +{ + struct clk_mt6797_mm_priv *private = platform_get_drvdata(pdev); + + kfree(private->clk_data); + + return 0; +} + static struct platform_driver clk_mt6797_mm_drv = { .probe = clk_mt6797_mm_probe, + .remove = clk_mt6797_mm_remove, .driver = { .name = "clk-mt6797-mm", - .of_match_table = of_match_clk_mt6797_mm, }, }; - -builtin_platform_driver(clk_mt6797_mm_drv); +module_platform_driver(clk_mt6797_mm_drv); -- 2.24.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID
From: matthias.bgg@kernel.org To: robh+dt@kernel.org, mark.rutland@arm.com, ck.hu@mediatek.com, p.zabel@pengutronix.de, airlied@linux.ie, mturquette@baylibre.com, sboyd@codeaurora.org, ulrich.hecht+renesas@gmail.com, laurent.pinchart@ideasonboard.com, enric.balletbo@collabora.com Cc: devicetree@vger.kernel.org, rdunlap@infradead.org, frank-w@public-files.de, sean.wang@mediatek.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, sean.wang@kernel.org, wens@csie.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, mbrugger@suse.com, hsinyi@chromium.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Subject: [PATCH v6 09/12] clk: mediatek: mt6797: switch to platform device probing Date: Sat, 7 Dec 2019 23:23:46 +0100 [thread overview] Message-ID: <20191207222349.23161-10-matthias.bgg@kernel.org> (raw) In-Reply-To: <20191207222349.23161-1-matthias.bgg@kernel.org> From: Matthias Brugger <mbrugger@suse.com> Switch probing for the MMSYS to support invocation to a plain paltform device. The driver will be probed by the DRM subsystem. Signed-off-by: Matthias Brugger <mbrugger@suse.com> --- drivers/clk/mediatek/clk-mt6797-mm.c | 43 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/drivers/clk/mediatek/clk-mt6797-mm.c b/drivers/clk/mediatek/clk-mt6797-mm.c index 8f05653b387d..1aea4f8d5a9d 100644 --- a/drivers/clk/mediatek/clk-mt6797-mm.c +++ b/drivers/clk/mediatek/clk-mt6797-mm.c @@ -4,13 +4,19 @@ * Author: Kevin Chen <kevin-cw.chen@mediatek.com> */ +#include <linux/module.h> #include <linux/clk-provider.h> #include <linux/platform_device.h> +#include <linux/slab.h> #include <dt-bindings/clock/mt6797-clk.h> #include "clk-mtk.h" #include "clk-gate.h" +struct clk_mt6797_mm_priv { + struct clk_onecell_data *clk_data; +}; + static const struct mtk_gate_regs mm0_cg_regs = { .set_ofs = 0x0104, .clr_ofs = 0x0108, @@ -92,23 +98,24 @@ static const struct mtk_gate mm_clks[] = { "clk26m", 3), }; -static const struct of_device_id of_match_clk_mt6797_mm[] = { - { .compatible = "mediatek,mt6797-mmsys", }, - {} -}; - static int clk_mt6797_mm_probe(struct platform_device *pdev) { - struct clk_onecell_data *clk_data; + struct clk_mt6797_mm_priv *private; int r; - struct device_node *node = pdev->dev.of_node; + struct device *parent = pdev->dev.parent; + + private = devm_kzalloc(&pdev->dev, sizeof(*private), GFP_KERNEL); + if (!private) + return -ENOMEM; - clk_data = mtk_alloc_clk_data(CLK_MM_NR); + private->clk_data = mtk_alloc_clk_data(CLK_MM_NR); + platform_set_drvdata(pdev, private); - mtk_clk_register_gates(node, mm_clks, ARRAY_SIZE(mm_clks), - clk_data); + mtk_clk_register_gates(parent->of_node, mm_clks, ARRAY_SIZE(mm_clks), + private->clk_data); - r = of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); + r = of_clk_add_provider(parent->of_node, of_clk_src_onecell_get, + private->clk_data); if (r) dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", @@ -117,12 +124,20 @@ static int clk_mt6797_mm_probe(struct platform_device *pdev) return r; } +static int clk_mt6797_mm_remove(struct platform_device *pdev) +{ + struct clk_mt6797_mm_priv *private = platform_get_drvdata(pdev); + + kfree(private->clk_data); + + return 0; +} + static struct platform_driver clk_mt6797_mm_drv = { .probe = clk_mt6797_mm_probe, + .remove = clk_mt6797_mm_remove, .driver = { .name = "clk-mt6797-mm", - .of_match_table = of_match_clk_mt6797_mm, }, }; - -builtin_platform_driver(clk_mt6797_mm_drv); +module_platform_driver(clk_mt6797_mm_drv); -- 2.24.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-12-07 22:25 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-07 22:23 [PATCH v6 00/12] arm/arm64: mediatek: Fix mmsys " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 01/12] dt-bindings: display: mediatek: Add mmsys binding description matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 02/12] dt-bindings: mediatek: Add compatible for mt7623 matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 03/12] drm/mediatek: Use regmap for register access matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 04/12] drm: mediatek: Omit warning on probe defers matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 05/12] media: mtk-mdp: Check return value of of_clk_get matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 06/12] clk: mediatek: mt2701: switch mmsys to platform device probing matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 07/12] clk: mediatek: mt2712e: switch " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 08/12] clk: mediatek: mt6779: switch mmsys " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg [this message] 2019-12-07 22:23 ` [PATCH v6 09/12] clk: mediatek: mt6797: switch " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 10/12] clk: mediatek: mt8183: switch mmsys " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 11/12] clk: mediatek: mt8173: " matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` [PATCH v6 12/12] drm/mediatek: Add support for mmsys through a pdev matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg 2019-12-07 22:23 ` matthias.bgg
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=20191207222349.23161-10-matthias.bgg@kernel.org \ --to=matthias.bgg@kernel.org \ --cc=airlied@linux.ie \ --cc=ck.hu@mediatek.com \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=drinkcat@chromium.org \ --cc=enric.balletbo@collabora.com \ --cc=frank-w@public-files.de \ --cc=hsinyi@chromium.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=mark.rutland@arm.com \ --cc=mbrugger@suse.com \ --cc=mturquette@baylibre.com \ --cc=p.zabel@pengutronix.de \ --cc=rdunlap@infradead.org \ --cc=robh+dt@kernel.org \ --cc=sboyd@codeaurora.org \ --cc=sean.wang@kernel.org \ --cc=sean.wang@mediatek.com \ --cc=ulrich.hecht+renesas@gmail.com \ --cc=wens@csie.org \ --subject='Re: [PATCH v6 09/12] clk: mediatek: mt6797: switch to platform device probing' \ /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
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.