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

From: Randy Dunlap
Date: Thu Feb 04 2021 - 12:39:45 EST


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?

--
~Randy