Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

From: Randy Dunlap
Date: Thu Feb 04 2021 - 13:01:47 EST


On 2/4/21 9:37 AM, Randy Dunlap wrote:
> On 2/3/21 10:55 PM, Anand K. Mistry wrote:
>> On Thu, 4 Feb 2021 at 17:30, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>>
>>> On 2/3/21 10:13 PM, Anand K. Mistry wrote:
>>>>> Hi,
>>>>>
>>>>> When you run "make olddefconfig", should this "depends on"
>>>>> line evaluate to true or false?
>>>>
>>>> True. RTC_DRV_CMOS=y by default on x86 systems and HPET_TIMER also
>>>> appears to default yes (on x86-64 if I'm reading this right).
>>>>
>>>> Oddly, the RTC config option doesn't appear to exist. Probably a separate issue.
>>>
>>> Yes, just a separate simple patch.
>>>
>>>>> I.e., what are the settings of these symbols in the old .config file?
>>>>>
>>>>>
>>>>> depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
>>>>
>>>> Actually, none of these options are set in the old config.
>>>> RTC_DRV_CMOS and HPET_TIMER appear to default to yes.
>>>>
>>>> % grep HPET .config
>>>> CONFIG_HPET=y
>>>> # CONFIG_HPET_EMULATE_RTC is not set
>>>> # CONFIG_HPET_MMAP is not set
>>>> % grep RTC .config
>>>> CONFIG_RTC_CLASS=y
>>>> # CONFIG_HPET_EMULATE_RTC is not set
>>>> CONFIG_PM_TRACE_RTC=y
>>>> # CONFIG_RTC_HCTOSYS is not set
>>>>
>>>>>
>>>>> If not, is there some out-of-tree driver involved?
>>>>
>>>> No out of tree drivers involved. I tried this on a vanilla 5.11-rc6.
>>>>
>>>>> I'm having a little trouble seeing why this is needed.
>>>>
>>>> So am I. But this is the magic that lets me keep
>>>> CONFIG_HPET_EMULATE_RTC from the old config. I did manage to trace
>>>> where the option is being overridden in the conf tool, but the
>>>> reasoning why is beyond my knowledge.
>>>
>>> Can you post the .config that you are feeding to 'make olddefconfig', please.
>>> I'll take a look (or the x86 guys can do so).
>>
>> Sure. Here it is:
>
> Hi,
>
> On plain vanilla 5.11-rc6, when I take this (partial) .config file
> which contains:
>
> CONFIG_HPET=y
> # CONFIG_HPET_EMULATE_RTC is not set
> # CONFIG_HPET_MMAP is not set
>
> and run
> $ make olddefconfig
>
> my new .config file contains
>
> CONFIG_HPET_TIMER=y
> CONFIG_HPET_EMULATE_RTC=y
> CONFIG_HPET=y
> # CONFIG_HPET_MMAP is not set
>
>
> Isn't that what you are expecting?
> or are you trying to keep the opposite?
>
> # CONFIG_HPET_EMULATE_RTC is not set
>
> Hm, I bet that I misunderstood you and you want to keep
> it disabled. Is that right?

If that's the case, then I agree that your original patch to
make HPET_EMULATE_RTC user-visible is needed.

Sorry to be so slow about understanding your goal (if I do
understand it now).

--
~Randy