From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Johnson Wang <johnson.wang@mediatek.com>,
cw00.choi@samsung.com, krzk+dt@kernel.org, robh+dt@kernel.org,
kyungmin.park@samsung.com
Cc: khilman@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, jia-wei.chang@mediatek.com,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH v2 2/2] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
Date: Fri, 8 Apr 2022 10:21:30 +0200 [thread overview]
Message-ID: <76d58182-2f56-32b2-42e9-2ecbdd09ba3d@linaro.org> (raw)
In-Reply-To: <20220408052150.22536-3-johnson.wang@mediatek.com>
On 08/04/2022 07:21, Johnson Wang wrote:
> We introduce a devfreq driver for the MediaTek Cache Coherent Interconnect
> (CCI) used by some MediaTek SoCs.
>
(...)
> index 87eb2b837e68..d985597f343f 100644
> --- a/drivers/devfreq/Kconfig
> +++ b/drivers/devfreq/Kconfig
> @@ -120,6 +120,16 @@ config ARM_TEGRA_DEVFREQ
> It reads ACTMON counters of memory controllers and adjusts the
> operating frequencies and voltages with OPP support.
>
> +config ARM_MEDIATEK_CCI_DEVFREQ
> + tristate "MEDIATEK CCI DEVFREQ Driver"
> + depends on ARM_MEDIATEK_CPUFREQ
|| COMPILE_TEST? And check if it test compiles.
(...)
> +
> +static int mtk_ccifreq_remove(struct platform_device *pdev)
> +{
> + struct device *cci_dev = &pdev->dev;
s/cci_dev/dev/
Everywhere.
> + struct mtk_ccifreq_drv *drv;
> +
> + drv = platform_get_drvdata(pdev);
> +
> + dev_pm_opp_unregister_notifier(cci_dev, &drv->opp_nb);
> + dev_pm_opp_of_remove_table(cci_dev);
> + clk_disable_unprepare(drv->inter_clk);
> + clk_disable_unprepare(drv->cci_clk);
> + regulator_disable(drv->proc_reg);
> + if (!IS_ERR(drv->sram_reg))
> + regulator_disable(drv->sram_reg);
> +
> + return 0;
> +}
> +
> +static const struct mtk_ccifreq_platform_data mt8183_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 200000,
> + .proc_max_volt = 1150000,
> + .sram_min_volt = 0,
> + .sram_max_volt = 1150000,
> +};
> +
> +static const struct mtk_ccifreq_platform_data mt8186_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 250000,
> + .proc_max_volt = 1118750,
> + .sram_min_volt = 850000,
> + .sram_max_volt = 1118750,
> +};
> +
> +static const struct of_device_id mtk_ccifreq_machines[] = {
> + { .compatible = "mediatek,mt8183-cci", .data = &mt8183_platform_data },
> + { .compatible = "mediatek,mt8186-cci", .data = &mt8186_platform_data },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, mtk_ccifreq_machines);
> +
> +static struct platform_driver mtk_ccifreq_platdrv = {
> + .probe = mtk_ccifreq_probe,
> + .remove = mtk_ccifreq_remove,
> + .driver = {
> + .name = "mtk-ccifreq",
> + .of_match_table = of_match_ptr(mtk_ccifreq_machines),
You use of_match_ptr() so is it possible to build it without OF? If so,
then mtk_ccifreq_machines needs maybe_unused.
> + },
> +};
> +
> +static int __init mtk_ccifreq_platdrv_init(void)
> +{
> + return platform_driver_register(&mtk_ccifreq_platdrv);
> +}
> +module_init(mtk_ccifreq_platdrv_init)
> +
> +static void __exit mtk_ccifreq_platdrv_exit(void)
> +{
> + platform_driver_unregister(&mtk_ccifreq_platdrv);
> +}
> +module_exit(mtk_ccifreq_platdrv_exit)
Why not module_platform_driver()?
> +
> +MODULE_DESCRIPTION("MediaTek CCI devfreq driver");
> +MODULE_AUTHOR("Jia-Wei Chang <jia-wei.chang@mediatek.com>");
> +MODULE_LICENSE("GPL v2");
Best regards,
Krzysztof
WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Johnson Wang <johnson.wang@mediatek.com>,
cw00.choi@samsung.com, krzk+dt@kernel.org, robh+dt@kernel.org,
kyungmin.park@samsung.com
Cc: khilman@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, jia-wei.chang@mediatek.com,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH v2 2/2] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
Date: Fri, 8 Apr 2022 10:21:30 +0200 [thread overview]
Message-ID: <76d58182-2f56-32b2-42e9-2ecbdd09ba3d@linaro.org> (raw)
In-Reply-To: <20220408052150.22536-3-johnson.wang@mediatek.com>
On 08/04/2022 07:21, Johnson Wang wrote:
> We introduce a devfreq driver for the MediaTek Cache Coherent Interconnect
> (CCI) used by some MediaTek SoCs.
>
(...)
> index 87eb2b837e68..d985597f343f 100644
> --- a/drivers/devfreq/Kconfig
> +++ b/drivers/devfreq/Kconfig
> @@ -120,6 +120,16 @@ config ARM_TEGRA_DEVFREQ
> It reads ACTMON counters of memory controllers and adjusts the
> operating frequencies and voltages with OPP support.
>
> +config ARM_MEDIATEK_CCI_DEVFREQ
> + tristate "MEDIATEK CCI DEVFREQ Driver"
> + depends on ARM_MEDIATEK_CPUFREQ
|| COMPILE_TEST? And check if it test compiles.
(...)
> +
> +static int mtk_ccifreq_remove(struct platform_device *pdev)
> +{
> + struct device *cci_dev = &pdev->dev;
s/cci_dev/dev/
Everywhere.
> + struct mtk_ccifreq_drv *drv;
> +
> + drv = platform_get_drvdata(pdev);
> +
> + dev_pm_opp_unregister_notifier(cci_dev, &drv->opp_nb);
> + dev_pm_opp_of_remove_table(cci_dev);
> + clk_disable_unprepare(drv->inter_clk);
> + clk_disable_unprepare(drv->cci_clk);
> + regulator_disable(drv->proc_reg);
> + if (!IS_ERR(drv->sram_reg))
> + regulator_disable(drv->sram_reg);
> +
> + return 0;
> +}
> +
> +static const struct mtk_ccifreq_platform_data mt8183_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 200000,
> + .proc_max_volt = 1150000,
> + .sram_min_volt = 0,
> + .sram_max_volt = 1150000,
> +};
> +
> +static const struct mtk_ccifreq_platform_data mt8186_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 250000,
> + .proc_max_volt = 1118750,
> + .sram_min_volt = 850000,
> + .sram_max_volt = 1118750,
> +};
> +
> +static const struct of_device_id mtk_ccifreq_machines[] = {
> + { .compatible = "mediatek,mt8183-cci", .data = &mt8183_platform_data },
> + { .compatible = "mediatek,mt8186-cci", .data = &mt8186_platform_data },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, mtk_ccifreq_machines);
> +
> +static struct platform_driver mtk_ccifreq_platdrv = {
> + .probe = mtk_ccifreq_probe,
> + .remove = mtk_ccifreq_remove,
> + .driver = {
> + .name = "mtk-ccifreq",
> + .of_match_table = of_match_ptr(mtk_ccifreq_machines),
You use of_match_ptr() so is it possible to build it without OF? If so,
then mtk_ccifreq_machines needs maybe_unused.
> + },
> +};
> +
> +static int __init mtk_ccifreq_platdrv_init(void)
> +{
> + return platform_driver_register(&mtk_ccifreq_platdrv);
> +}
> +module_init(mtk_ccifreq_platdrv_init)
> +
> +static void __exit mtk_ccifreq_platdrv_exit(void)
> +{
> + platform_driver_unregister(&mtk_ccifreq_platdrv);
> +}
> +module_exit(mtk_ccifreq_platdrv_exit)
Why not module_platform_driver()?
> +
> +MODULE_DESCRIPTION("MediaTek CCI devfreq driver");
> +MODULE_AUTHOR("Jia-Wei Chang <jia-wei.chang@mediatek.com>");
> +MODULE_LICENSE("GPL v2");
Best regards,
Krzysztof
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Johnson Wang <johnson.wang@mediatek.com>,
cw00.choi@samsung.com, krzk+dt@kernel.org, robh+dt@kernel.org,
kyungmin.park@samsung.com
Cc: khilman@kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, jia-wei.chang@mediatek.com,
Project_Global_Chrome_Upstream_Group@mediatek.com
Subject: Re: [PATCH v2 2/2] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver
Date: Fri, 8 Apr 2022 10:21:30 +0200 [thread overview]
Message-ID: <76d58182-2f56-32b2-42e9-2ecbdd09ba3d@linaro.org> (raw)
In-Reply-To: <20220408052150.22536-3-johnson.wang@mediatek.com>
On 08/04/2022 07:21, Johnson Wang wrote:
> We introduce a devfreq driver for the MediaTek Cache Coherent Interconnect
> (CCI) used by some MediaTek SoCs.
>
(...)
> index 87eb2b837e68..d985597f343f 100644
> --- a/drivers/devfreq/Kconfig
> +++ b/drivers/devfreq/Kconfig
> @@ -120,6 +120,16 @@ config ARM_TEGRA_DEVFREQ
> It reads ACTMON counters of memory controllers and adjusts the
> operating frequencies and voltages with OPP support.
>
> +config ARM_MEDIATEK_CCI_DEVFREQ
> + tristate "MEDIATEK CCI DEVFREQ Driver"
> + depends on ARM_MEDIATEK_CPUFREQ
|| COMPILE_TEST? And check if it test compiles.
(...)
> +
> +static int mtk_ccifreq_remove(struct platform_device *pdev)
> +{
> + struct device *cci_dev = &pdev->dev;
s/cci_dev/dev/
Everywhere.
> + struct mtk_ccifreq_drv *drv;
> +
> + drv = platform_get_drvdata(pdev);
> +
> + dev_pm_opp_unregister_notifier(cci_dev, &drv->opp_nb);
> + dev_pm_opp_of_remove_table(cci_dev);
> + clk_disable_unprepare(drv->inter_clk);
> + clk_disable_unprepare(drv->cci_clk);
> + regulator_disable(drv->proc_reg);
> + if (!IS_ERR(drv->sram_reg))
> + regulator_disable(drv->sram_reg);
> +
> + return 0;
> +}
> +
> +static const struct mtk_ccifreq_platform_data mt8183_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 200000,
> + .proc_max_volt = 1150000,
> + .sram_min_volt = 0,
> + .sram_max_volt = 1150000,
> +};
> +
> +static const struct mtk_ccifreq_platform_data mt8186_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 250000,
> + .proc_max_volt = 1118750,
> + .sram_min_volt = 850000,
> + .sram_max_volt = 1118750,
> +};
> +
> +static const struct of_device_id mtk_ccifreq_machines[] = {
> + { .compatible = "mediatek,mt8183-cci", .data = &mt8183_platform_data },
> + { .compatible = "mediatek,mt8186-cci", .data = &mt8186_platform_data },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, mtk_ccifreq_machines);
> +
> +static struct platform_driver mtk_ccifreq_platdrv = {
> + .probe = mtk_ccifreq_probe,
> + .remove = mtk_ccifreq_remove,
> + .driver = {
> + .name = "mtk-ccifreq",
> + .of_match_table = of_match_ptr(mtk_ccifreq_machines),
You use of_match_ptr() so is it possible to build it without OF? If so,
then mtk_ccifreq_machines needs maybe_unused.
> + },
> +};
> +
> +static int __init mtk_ccifreq_platdrv_init(void)
> +{
> + return platform_driver_register(&mtk_ccifreq_platdrv);
> +}
> +module_init(mtk_ccifreq_platdrv_init)
> +
> +static void __exit mtk_ccifreq_platdrv_exit(void)
> +{
> + platform_driver_unregister(&mtk_ccifreq_platdrv);
> +}
> +module_exit(mtk_ccifreq_platdrv_exit)
Why not module_platform_driver()?
> +
> +MODULE_DESCRIPTION("MediaTek CCI devfreq driver");
> +MODULE_AUTHOR("Jia-Wei Chang <jia-wei.chang@mediatek.com>");
> +MODULE_LICENSE("GPL v2");
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-08 8:21 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-08 5:21 [PATCH v2 0/2] Introduce MediaTek CCI devfreq driver Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 5:21 ` [PATCH v2 1/2] dt-bindings: devfreq: mediatek: Add mtk cci devfreq dt-bindings Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 8:17 ` Krzysztof Kozlowski
2022-04-08 8:17 ` Krzysztof Kozlowski
2022-04-08 8:17 ` Krzysztof Kozlowski
2022-04-11 12:10 ` Johnson Wang
2022-04-11 12:10 ` Johnson Wang
2022-04-11 12:10 ` Johnson Wang
2022-04-12 9:17 ` Krzysztof Kozlowski
2022-04-12 9:17 ` Krzysztof Kozlowski
2022-04-12 9:17 ` Krzysztof Kozlowski
2022-04-13 20:54 ` Chanwoo Choi
2022-04-13 20:54 ` Chanwoo Choi
2022-04-13 20:54 ` Chanwoo Choi
2022-04-14 21:55 ` Kevin Hilman
2022-04-14 21:55 ` Kevin Hilman
2022-04-14 21:55 ` Kevin Hilman
2022-04-08 5:21 ` [PATCH v2 2/2] PM / devfreq: mediatek: Introduce MediaTek CCI devfreq driver Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 5:21 ` Johnson Wang
2022-04-08 8:21 ` Krzysztof Kozlowski [this message]
2022-04-08 8:21 ` Krzysztof Kozlowski
2022-04-08 8:21 ` Krzysztof Kozlowski
2022-04-12 8:39 ` Johnson Wang
2022-04-12 8:39 ` Johnson Wang
2022-04-12 8:39 ` Johnson Wang
2022-04-12 8:51 ` Krzysztof Kozlowski
2022-04-12 8:51 ` Krzysztof Kozlowski
2022-04-12 8:51 ` Krzysztof Kozlowski
2022-04-08 11:51 ` AngeloGioacchino Del Regno
2022-04-08 11:51 ` AngeloGioacchino Del Regno
2022-04-08 11:51 ` AngeloGioacchino Del Regno
2022-04-14 5:19 ` Johnson Wang
2022-04-14 5:19 ` Johnson Wang
2022-04-14 5:19 ` Johnson Wang
2022-04-13 21:43 ` Chanwoo Choi
2022-04-13 21:43 ` Chanwoo Choi
2022-04-13 21:43 ` Chanwoo Choi
2022-04-15 12:46 ` Johnson Wang
2022-04-15 12:46 ` Johnson Wang
2022-04-15 12:46 ` Johnson Wang
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=76d58182-2f56-32b2-42e9-2ecbdd09ba3d@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=jia-wei.chang@mediatek.com \
--cc=johnson.wang@mediatek.com \
--cc=khilman@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=robh+dt@kernel.org \
/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.