From nobody Thu Apr 2 17:15:02 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 70CB93FFACC for ; Fri, 27 Mar 2026 18:06:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774634783; cv=none; b=ngSx7Xbtxr8L901u/Jx89YNVcMbhk/NCoK8TOIMuw3tQaLt81t3h0RQ6bdDR3mRiwRIvBSnCh+a1Cy+O1VoU5x8Ir+h82WnHhpPSeCUEM1eyO/LCcZOJlz/7iatWdRSCxt8PVEqfNaXmiCvfsucnbtqcB9xFA6cjEi6K3JhSISQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774634783; c=relaxed/simple; bh=SQ5nAKYuYrS/ghYaKZeLV4R3AbXgYqFqYO/0dF0j/aU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gk/n4kW3ISFPav8izzivEsk+M+YRfhpJ7fQscmwZjDMa/In5HmC/TivfUzLKTBK2uF0yeamsng9ZRtE6fI1bRTR5CypHCc40cGSZ5obH4WzcnQHO1NkMj5KXNMmu5U9sekR+wH5mMjMFw733vMp7ZwvD+TbnCu0L0/AMVRvHIlI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J62FzuDy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="J62FzuDy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A763C19424; Fri, 27 Mar 2026 18:06:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774634783; bh=SQ5nAKYuYrS/ghYaKZeLV4R3AbXgYqFqYO/0dF0j/aU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J62FzuDyQjAfe2CmByAg/9OicqC2Qhlin0Mt4N0DNcl+PmdXmHgqQx44jcszbDvCj jceQqQMCDX25i6FZgPh+SrGMaqOQqPRgrPhh1+L66qoPe5FiCHF32GZH82wZ4WRo7W gM7OSb3VonUawBh+29f4TWYawkkjGx8RErbrVg9CFPAO9ol794Yxs7BenPI6eaJ7Fa U6gsXTpKIoohcmIOlKtpbozydS7QZZ3JVplEvu/xfmlQO/mA1p50ZXG2NY1Jv0Ai5g Ca342+DpnJSnEDawEFITMl3C94xsRMInfCF3I2tOYS21BEIdudgBHkw4uxYOtneP6j AL22MLxGmQXWw== From: Daniel Lezcano To: daniel.lezcano@kernel.org, tglx@kernel.org, zhipeng.wang_1@nxp.com Cc: shawnguo@kernel.org, jstultz@google.com, linux-kernel@vger.kernel.org, Matthias Brugger , AngeloGioacchino Del Regno , linux-arm-kernel@lists.infradead.org (moderated list:ARM/Mediatek SoC support), linux-mediatek@lists.infradead.org (moderated list:ARM/Mediatek SoC support) Subject: [PATCH resend v1 7/7] clocksource/drivers/mediatek: Convert to module support Date: Fri, 27 Mar 2026 19:05:59 +0100 Message-ID: <20260327180600.8150-8-daniel.lezcano@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260327180600.8150-1-daniel.lezcano@kernel.org> References: <20260327180600.8150-1-daniel.lezcano@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Now the TIMER_PDEV_DECLARE() allows the driver to be compiled as a module. Add the MODULE_DESCRIPTION and the MODULE_LICENSE left for the one converting the driver as a module. Signed-off-by: Daniel Lezcano --- drivers/clocksource/timer-mediatek.c | 29 ++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/drivers/clocksource/timer-mediatek.c b/drivers/clocksource/tim= er-mediatek.c index 7bcb4a3f26fb..f5de5f397730 100644 --- a/drivers/clocksource/timer-mediatek.c +++ b/drivers/clocksource/timer-mediatek.c @@ -215,8 +215,7 @@ static irqreturn_t mtk_gpt_interrupt(int irq, void *dev= _id) return IRQ_HANDLED; } =20 -static void -__init mtk_gpt_setup(struct timer_of *to, u8 timer, u8 option) +static void mtk_gpt_setup(struct timer_of *to, u8 timer, u8 option) { writel(GPT_CTRL_CLEAR | GPT_CTRL_DISABLE, timer_of_base(to) + GPT_CTRL_REG(timer)); @@ -281,7 +280,7 @@ static struct timer_of to =3D { }, }; =20 -static int __init mtk_syst_init(struct device_node *node) +static int mtk_syst_init(struct device_node *node) { int ret; =20 @@ -302,7 +301,7 @@ static int __init mtk_syst_init(struct device_node *nod= e) return 0; } =20 -static int __init mtk_gpt_init(struct device_node *node) +static int mtk_gpt_init(struct device_node *node) { int ret; =20 @@ -337,5 +336,23 @@ static int __init mtk_gpt_init(struct device_node *nod= e) =20 return 0; } -TIMER_OF_DECLARE(mtk_mt6577, "mediatek,mt6577-timer", mtk_gpt_init); -TIMER_OF_DECLARE(mtk_mt6765, "mediatek,mt6765-timer", mtk_syst_init); + +static int mtk_timer_probe(struct platform_device *pdev) +{ + struct device_node *np =3D pdev->dev.of_node; + int (*probe_func)(struct device_node *node); + + probe_func =3D of_device_get_match_data(&pdev->dev); + + return probe_func(np); +} + +static const struct of_device_id mtk_timer_match_table[] =3D { + { .compatible =3D "mediatek,mt6577-timer", .data =3D mtk_gpt_init }, + { .compatible =3D "mediatek,mt6765-timer", .data =3D mtk_syst_init }, + { /* sentinel */ } +}; + +TIMER_PDEV_DECLARE(mtk_timer, mtk_timer_probe, NULL, mtk_timer_match_table= ); +MODULE_DESCRIPTION("Mediatek timer driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0