From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: Sudeep Holla <sudeep.holla@arm.com>, walter.chang@mediatek.com
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
Matthias Brugger <matthias.bgg@gmail.com>,
"Maciej W . Rozycki" <macro@orcam.me.uk>,
John Stultz <jstultz@google.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
wsd_upstream@mediatek.com, stanley.chu@mediatek.com,
Chun-hung.Wu@mediatek.com, Freddy.Hsin@mediatek.com,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org
Subject: Re: [PATCH v2 4/4] clocksource/drivers/timer-mediatek: Make timer-mediatek become loadable module
Date: Wed, 15 Feb 2023 13:43:19 +0100 [thread overview]
Message-ID: <996b4e61-8486-d939-7367-1240b3c5c5fa@collabora.com> (raw)
In-Reply-To: <20230214222021.k3tsfwezhnh7tdlx@bogus>
Il 14/02/23 23:20, Sudeep Holla ha scritto:
> On Tue, Feb 14, 2023 at 06:53:14PM +0800, walter.chang@mediatek.com wrote:
>> From: Chun-Hung Wu <chun-hung.wu@mediatek.com>
>>
>> Make the timer-mediatek driver which can register
>> an always-on timer as tick_broadcast_device on
>> MediaTek SoCs become loadable module in GKI.
>>
>> Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
>> ---
>> drivers/clocksource/Kconfig | 2 +-
>> drivers/clocksource/timer-mediatek.c | 43 ++++++++++++++++++++++++++++
>> 2 files changed, 44 insertions(+), 1 deletion(-)
>
> [...]
>
>> diff --git a/drivers/clocksource/timer-mediatek.c b/drivers/clocksource/timer-mediatek.c
>> index d5b29fd03ca2..3358758ea694 100644
>> --- a/drivers/clocksource/timer-mediatek.c
>> +++ b/drivers/clocksource/timer-mediatek.c
>
> [...]
>
>> +static const struct of_device_id mtk_timer_match_table[] = {
>> + {
>> + .compatible = "mediatek,mt6577-timer",
>> + .data = mtk_gpt_init,
>> + },
>> + {
>> + .compatible = "mediatek,mt6765-timer",
>> + .data = mtk_syst_init,
>> + },
>> + {
>> + .compatible = "mediatek,mt6795-systimer",
>> + .data = mtk_cpux_init,
>> + },
>> + {}
>> +};
>> +
>> +static struct platform_driver mtk_timer_driver = {
>> + .probe = mtk_timer_probe,
>> + .driver = {
>> + .name = "mtk-timer",
>> + .of_match_table = mtk_timer_match_table,
>> + },
>> +};
>> +module_platform_driver(mtk_timer_driver);
>> +
>> +MODULE_DESCRIPTION("MediaTek Module Timer driver");
>> +MODULE_LICENSE("GPL v2");
>> +#else
>> TIMER_OF_DECLARE(mtk_mt6577, "mediatek,mt6577-timer", mtk_gpt_init);
>> TIMER_OF_DECLARE(mtk_mt6765, "mediatek,mt6765-timer", mtk_syst_init);
>> TIMER_OF_DECLARE(mtk_mt6795, "mediatek,mt6795-systimer", mtk_cpux_init);
>
> Why do you need these ? If this driver can work as a module, it can be
> built-in module and doesn't need to be initialised early using of_timer_init
> (can't recall the exact name)
>
>
Some platforms need early initialization; this is seen on ones for which the
bootloader does not initialize the "CPUXGPT" timer, which is used as the ARM
arch timer. (No, on those platforms you can't upgrade the bootloader, as it's
signed with a OEM key which is not obtainable, and signature verified earlier
in the bootchain).
As a matter of fact (and somehow obvious), on those platforms (for example,
MT6795.. but many other as well, really), you *need* this driver to be
built-in and, well, initialize the CPUX timer as early as possible :-)
Regards,
Angelo
next prev parent reply other threads:[~2023-02-15 12:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-14 10:53 [PATCH v2 0/4] Support timer drivers as loadable modules walter.chang
2023-02-14 10:53 ` [PATCH v2 1/4] time/sched_clock: Export sched_clock_register() walter.chang
2023-02-14 10:53 ` [PATCH v2 2/4] clocksource/drivers/mmio: Export clocksource_mmio_init() walter.chang
2023-02-14 10:53 ` [PATCH v2 3/4] clocksource/drivers/timer-of: Remove __init markings walter.chang
2023-02-14 10:53 ` [PATCH v2 4/4] clocksource/drivers/timer-mediatek: Make timer-mediatek become loadable module walter.chang
2023-02-14 11:09 ` Krzysztof Kozlowski
2023-02-14 23:20 ` John Stultz
2023-02-15 18:35 ` Krzysztof Kozlowski
2023-02-15 20:59 ` John Stultz
2023-02-14 22:20 ` Sudeep Holla
2023-02-15 12:43 ` AngeloGioacchino Del Regno [this message]
2023-02-15 13:18 ` Sudeep Holla
2023-02-15 13:30 ` AngeloGioacchino Del Regno
2023-02-15 14:46 ` Sudeep Holla
2023-02-16 1:03 ` John Stultz
2023-02-16 10:22 ` AngeloGioacchino Del Regno
2023-02-16 11:23 ` Matthias Brugger
2023-02-16 11:36 ` AngeloGioacchino Del Regno
2023-03-29 6:22 ` Walter Chang (張維哲)
2023-04-10 6:58 ` Walter Chang (張維哲)
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=996b4e61-8486-d939-7367-1240b3c5c5fa@collabora.com \
--to=angelogioacchino.delregno@collabora.com \
--cc=Chun-hung.Wu@mediatek.com \
--cc=Freddy.Hsin@mediatek.com \
--cc=daniel.lezcano@linaro.org \
--cc=jstultz@google.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=macro@orcam.me.uk \
--cc=matthias.bgg@gmail.com \
--cc=stanley.chu@mediatek.com \
--cc=sudeep.holla@arm.com \
--cc=tglx@linutronix.de \
--cc=walter.chang@mediatek.com \
--cc=wsd_upstream@mediatek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox