All of lore.kernel.org
 help / color / mirror / Atom feed
From: William McVicker <willmcvicker@google.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	"Alim Akhtar" <alim.akhtar@samsung.com>,
	"Rob Herring" <robh@kernel.org>,
	"Saravana Kannan" <saravanak@google.com>,
	"Donghoon Yu" <hoony.yu@samsung.com>,
	"Hosung Kim" <hosung0.kim@samsung.com>,
	kernel-team@android.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, "John Stultz" <jstultz@google.com>,
	"Youngmin Nam" <youngmin.nam@samsung.com>,
	"Peter Griffin" <peter.griffin@linaro.org>,
	"Tudor Ambarus" <tudor.ambarus@linaro.org>,
	"André Draszik" <andre.draszik@linaro.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 5/6] clocksource/drivers/exynos_mct: Add module support
Date: Tue, 24 Jun 2025 16:47:07 -0700	[thread overview]
Message-ID: <aFs4--JdpE1W3Lh8@google.com> (raw)
In-Reply-To: <aFqsqr7i7cdR5-I0@mai.linaro.org>

On 06/24/2025, Daniel Lezcano wrote:
> On Fri, Jun 20, 2025 at 11:17:08AM -0700, Will McVicker wrote:
> > From: Donghoon Yu <hoony.yu@samsung.com>
> > 
> > On Arm64 platforms the Exynos MCT driver can be built as a module. On
> > boot (and even after boot) the arch_timer is used as the clocksource and
> > tick timer. Once the MCT driver is loaded, it can be used as the wakeup
> > source for the arch_timer.
> > 
> > Signed-off-by: Donghoon Yu <hoony.yu@samsung.com>
> > Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
> > [original commit from https://android.googlesource.com/kernel/gs/+/8a52a8288ec7d88ff78f0b37480dbb0e9c65bbfd]
> > Reviewed-by: Youngmin Nam <youngmin.nam@samsung.com>
> > Tested-by: Youngmin Nam <youngmin.nam@samsung.com>
> > Signed-off-by: Will McVicker <willmcvicker@google.com>
> > ---
> 
> ...
> 
> > -static int __init mct_init_spi(struct device_node *np)
> 
> __init_or_module

Thanks, I'll update in v5.

> 
> > +static int mct_init_spi(struct device_node *np)
> >  {
> >  	return mct_init_dt(np, MCT_INT_SPI);
> >  }
> >  
> > -static int __init mct_init_ppi(struct device_node *np)
> > +static int mct_init_ppi(struct device_node *np)
> >  {
> >  	return mct_init_dt(np, MCT_INT_PPI);
> >  }
> > -TIMER_OF_DECLARE(exynos4210, "samsung,exynos4210-mct", mct_init_spi);
> > -TIMER_OF_DECLARE(exynos4412, "samsung,exynos4412-mct", mct_init_ppi);
> 
> Are you sure this is not going to hurt the ARM platforms ? Here the
> timer is enabled very early in the boot process while with this change
> the timer will be available later.

I took a second look at the TIMER_OF_DECLARE() macro and FWICT the timer will
only be enabled "very early" via timer_probe() if "MODULE" is not defined which
is only defined when this specific driver is compiled as a module. Note, this
"MODULE" define is not the same as the Kconfig option "CONFIG_MODULES".
That is why in my v1 and v2 patch [1] I had:

 #ifdef MODULE
   ...
   module_platform_driver(exynos4_mct_driver);
 #else
   TIMER_OF_DECLARE(...)
   TIMER_OF_DECLARE(...)
 #endif

However, I dropped that since Saravana mentioned that we should not be using
TIMER_OF_DECLARE() for drivers that can be modules. I don't have an ARM Exynos
device to verify dropping TIMER_OF_DECLARE() is safe. So if you and Saravana
agree, I can work on creating a patch to define TIMER_OF_DECLARE_MODULE() like
you proposed in [2] to handle this for all the drivers that are used for both ARM and
ARM64 SoCs.

Thanks,
Will

[1] https://lore.kernel.org/all/6e6b0f5f-ac60-48bb-af6c-fa58658d2639@linaro.org/
[2] https://lore.kernel.org/all/f2f914aa-c554-4135-afaa-f075537ed929@linaro.org/

<snip>


  reply	other threads:[~2025-06-24 23:51 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-20 18:17 [PATCH v4 0/6] Add module support for Arm64 Exynos MCT driver Will McVicker
2025-06-20 18:17 ` [PATCH v4 1/6] of/irq: Export of_irq_count for modules Will McVicker
2025-07-23  7:17   ` [tip: timers/clocksource] " tip-bot2 for Will McVicker
2025-07-25 10:31   ` [tip: timers/clocksource] of/irq: Export of_irq_count() " tip-bot2 for Will McVicker
2025-06-20 18:17 ` [PATCH v4 2/6] clocksource/drivers/exynos_mct: Don't register as a sched_clock on arm64 Will McVicker
2025-07-23  7:17   ` [tip: timers/clocksource] " tip-bot2 for Will McVicker
2025-07-24  5:16     ` Ingo Molnar
2025-07-24  5:20       ` Ingo Molnar
2025-07-24  9:25         ` Thomas Gleixner
2025-07-24 10:04       ` Daniel Lezcano
2025-07-25 10:34         ` Ingo Molnar
2025-07-25 13:15           ` Daniel Lezcano
2025-07-29  7:58             ` Daniel Lezcano
2025-07-29  8:58               ` Thomas Gleixner
2025-07-29  9:03                 ` Thomas Gleixner
2025-07-29  9:07                   ` Krzysztof Kozlowski
2025-07-29  9:13                 ` Daniel Lezcano
2025-07-29 16:13                   ` Thomas Gleixner
2025-07-29 16:27                     ` Daniel Lezcano
2025-07-25 10:31   ` tip-bot2 for Donghoon Yu
2025-06-20 18:17 ` [PATCH v4 3/6] clocksource/drivers/exynos_mct: Set local timer interrupts as percpu Will McVicker
2025-07-23  7:17   ` [tip: timers/clocksource] " tip-bot2 for Hosung Kim
2025-07-25 10:31   ` tip-bot2 for Hosung Kim
2025-08-26 13:51   ` [PATCH v4 3/6] " Marek Szyprowski
2025-06-20 18:17 ` [PATCH v4 4/6] clocksource/drivers/exynos_mct: Fix uninitialized irq name warning Will McVicker
2025-07-23  7:17   ` [tip: timers/clocksource] " tip-bot2 for Will McVicker
2025-07-25 10:31   ` [tip: timers/clocksource] clocksource/drivers/exynos_mct: Fix uninitialized IRQ " tip-bot2 for Will McVicker
2025-06-20 18:17 ` [PATCH v4 5/6] clocksource/drivers/exynos_mct: Add module support Will McVicker
2025-06-24 13:48   ` Daniel Lezcano
2025-06-24 23:47     ` William McVicker [this message]
2025-06-25  9:23       ` Daniel Lezcano
2025-07-15 12:18   ` [PATCH] clocksource/drivers/exynos_mct: Fix section mismatch from the module conversion Daniel Lezcano
2025-07-15 17:23     ` William McVicker
2025-07-18  9:53     ` Arnd Bergmann
2025-07-23  7:17     ` [tip: timers/clocksource] " tip-bot2 for Daniel Lezcano
2025-07-25  8:48     ` [PATCH] " Krzysztof Kozlowski
2025-07-25  8:52       ` Krzysztof Kozlowski
2025-07-25 10:31     ` [tip: timers/clocksource] " tip-bot2 for Daniel Lezcano
2025-07-23  7:17   ` [tip: timers/clocksource] clocksource/drivers/exynos_mct: Add module support tip-bot2 for Donghoon Yu
2025-07-25  9:40   ` [PATCH v4 5/6] " Daniel Lezcano
2025-07-25 10:31   ` [tip: timers/clocksource] " tip-bot2 for Donghoon Yu
2025-06-20 18:17 ` [PATCH v4 6/6] arm64: exynos: Drop select CLKSRC_EXYNOS_MCT Will McVicker
2025-07-23  7:17   ` [tip: timers/clocksource] " tip-bot2 for Will McVicker
2025-07-25 10:31   ` tip-bot2 for Will McVicker
2025-07-15 11:03 ` [PATCH v4 0/6] Add module support for Arm64 Exynos MCT driver Daniel Lezcano

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=aFs4--JdpE1W3Lh8@google.com \
    --to=willmcvicker@google.com \
    --cc=alim.akhtar@samsung.com \
    --cc=andre.draszik@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hoony.yu@samsung.com \
    --cc=hosung0.kim@samsung.com \
    --cc=jstultz@google.com \
    --cc=kernel-team@android.com \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=peter.griffin@linaro.org \
    --cc=robh@kernel.org \
    --cc=saravanak@google.com \
    --cc=tglx@linutronix.de \
    --cc=tudor.ambarus@linaro.org \
    --cc=will@kernel.org \
    --cc=youngmin.nam@samsung.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.