Re: [PATCH] watchdog: allow WATCHDOG_PRETIMEOUT_GOV_SEL=y
From: Dmitry Voytik
Date: Sat Oct 17 2026 - 18:28:06 EST
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!
> Guenter
>
Best Regards,
Dmitry Voytik.