Re: [PATCH 2/7] clocksource: Add Tegra186 timers support

From: Thierry Reding
Date: Tue Mar 31 2020 - 15:58:46 EST


On Mon, Mar 23, 2020 at 04:45:57PM +0300, Dmitry Osipenko wrote:
> 23.03.2020 16:42, Thierry Reding ÐÐÑÐÑ:
> > On Fri, Mar 20, 2020 at 06:38:32PM +0300, Dmitry Osipenko wrote:
> >> 20.03.2020 18:11, Dmitry Osipenko ÐÐÑÐÑ:
> >>> 20.03.2020 16:34, Thierry Reding ÐÐÑÐÑ:
> >>>> From: Thierry Reding <treding@xxxxxxxxxx>
> >>>>
> >>>> Currently this only supports a single watchdog, which uses a timer in
> >>>> the background for countdown. Eventually the timers could be used for
> >>>> various time-keeping tasks, but by default the architected timer will
> >>>> already provide that functionality.
> >>>>
> >>>> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
> >>>> ---
> >>>
> >>> ...
> >>>> +config TEGRA186_TIMER
> >>>> + bool "NVIDIA Tegra186 timer driver"
> >>>
> >>> tristate?
> >>>
> >>>> + depends on ARCH_TEGRA || COMPILE_TEST
> >>>
> >>> depends on WATCHDOG && WATCHDOG_CORE?
> >>
> >> Actually `select WATCHDOG_CORE` for the WATCHDOG_CORE.
> >
> > WATCHDOG_CORE is user-visible, so it's not safe to select it. Any reason
> > depends on WATCHDOG && WATCHDOG_CORE wouldn't work? I guess a dependency
> > on WATCHDOG_CORE would be enough because that itself already depends on
> > WATCHDOG.
>
> It looks to that should be much better if you could factor out all the
> watchdog functionality into the drivers/watchdog, like it's done in a
> case of MC / SMMU drivers for example.

For MC/SMMU this was done for historical reasons. Both drivers already
existed in the respective subdirectories, so it seemed best to keep them
there in order to avoid churn.

This being a completely new driver I don't think the same argument can
be made. There are plenty of drivers that register interfaces for
multiple subsystems (e.g. there are a couple of watchdog drivers in the
RTC and hwmon subsystems).

Daniel, Thomas, do you have any objections to merging watchdog support
via this driver, or would you have me split that off into a separate
driver. I could potentially do that using a shared regmap, but it seems
a bit of a stretch for something this simple.

Thierry

Attachment: signature.asc
Description: PGP signature