Re: [PATCH] watchdog: allow WATCHDOG_PRETIMEOUT_GOV_SEL=y

From: Dmitry Voytik

Date: Sun Oct 18 2026 - 16:44:35 EST


On Sun, Oct 18, 2026 at 6:48 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
>
> On 10/17/26 15:27, Dmitry Voytik wrote:
> > On Sat, Oct 17, 2026 at 11:42 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >>
> >> On 10/17/26 08:59, Dmitry Voytik wrote:
> >>> Hi Guenter,
> >>>
> >>> Thanks for reviewing the patch!
> >>>
> >>> On Fri, Oct 16, 2026 at 8:21 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >>>>
> >>>> On 10/4/26 14:37, Dmitry Voytik wrote:
> >>>>> Fix the issue when WATCHDOG_PRETIMEOUT_GOV_SEL can't be set to =y,
> >>>>> and always is =m.
> >>>>>
> >>>>> The issues can be reproduced with the following steps:
> >>>>> make mrproper
> >>>>> make defconfig
> >>>>> ./scripts/config \
> >>>>> -e WATCHDOG_CORE \
> >>>>> -e WATCHDOG_PRETIMEOUT_GOV \
> >>>>> -e WATCHDOG_PRETIMEOUT_GOV_SEL \
> >>>>> --refresh
> >>>>> make olddefconfig
> >>>>> make mod2yesconfig
> >>>>>
> >>>>> grep '=m$' .config
> >>>>> returns only CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL as module:
> >>>>> CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m
> >>>>>
> >>>>> "make menuconfig" doesn't let it to be switched from =m to =y either.
> >>>>>
> >>>>
> >>>> This does not explain what the problem actually is that is supposed
> >>>> to be solved with this patch. Since this is just a selector used to
> >>>> enable other configurations, and the configuration option does not
> >>>> result in any packages built, "WATCHDOG_PRETIMEOUT_GOV_SEL can't be
> >>>> set to =y" on its own is not a problem.
> >>>
> >>> The issue is that
> >>> make mod2yesconfig
> >>> doesn't work as expected. Help says "Change answers from mod to yes if
> >>> possible".
> >>
> >> This does say "If possible".
> >>
> >>> I might have misunderstood it, but I thought all configs should be =y
> >>> for this make target.
> >>>
> >>
> >> $ make allmodconfig
> >> $ make mod2yesconfig
> >> $ grep =m .config | wc -l
> >> 51
> >>
> >> Not really.
> >>
> >>> Maybe a dumb question, but why does only this config have " default m"
> >>> and others use
> >>> "default WATCHDOG_CORE"? Does it have some special meaning with "default m"?
> >>>
> >>
> >> Again, this configuration option is only used to set the (default) value
> >> for the watchdog pretimeout governor, and the "=m" states that the default
> >> should be WATCHDOG_PRETIMEOUT_GOV_PANIC=m, not =WATCHDOG_CORE.
> >
> > This doesn't explain why it's =m by default.
> >
> >>> I want to have no modules and still not disable the module load
> >>> ability, and it annoys me
> >>> that some configs don't allow "=y" :-) otherwise when I do
> >>> grep '=m$' .config
> >>> I need to remember that CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL is a special case.
> >>>
> >>> FYI, for Arch Linux based config, only
> >>> CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL pops up with =m.
> >>> A fix for the same issue with CONFIG_TDX_HOST_SERVICES seems to be accepted:
> >>> https://lore.kernel.org/lkml/as04AoNxjzlvh-K8@thinkstation/
> >> You are comparing apples with oranges. That commit states:
> >>
> >> Fix the issue when the driver always gets compiled as a module.
> >>
> >> There is no module that can or will be compiled based on
> >> WATCHDOG_PRETIMEOUT_GOV_SEL.
> >
> > Sure, I understand that. What is the semantic meaning of making it by
> > default =m? And why can't I make it =y?
> > I understand the build artifacts are the same, but I'm curious why =m?
> > Why WATCHDOG_PRETIMEOUT_GOV_PANIC is not =m by default?
> > Thanks for the explanation in advance!
> >
>
> The idea is to build WATCHDOG_PRETIMEOUT_GOV_PANIC as module
> by default.

Doesn't this contradict to:

config WATCHDOG_PRETIMEOUT_GOV_PANIC
default WATCHDOG_CORE

I double checked with "make menuconfig" - when I select "WatchDog
Timer Driver Core"
and then "Enable watchdog pretimeout governors", it sets by default
"Panic watchdog pretimeout governor" as =y, not =m.

Anyway, I'll stop arguing. I may be misunderstanding something here.
I'll just remember
that CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL can't be set =y for whatever reason.

Thanks for looking into it.

> There is no "why" to answer. Why build anything as module
> by default ? Are you going to question all those 478 default=m
> configurations in the kernel ?
>
> You still do not explain what actual problem you are trying to fix,
> except that WATCHDOG_PRETIMEOUT_GOV_SEL can't be set to =y, which is
> not a problem. The only problem I can see is that you don't like it,
> which is not a reason for making any changes.

> Guenter
>

Best regards,
Dmitry Voytik.