2021-02-04 03:02:44

by Anand K. Mistry

[permalink] [raw]
Subject: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

This does two things:
1. Makes the option visible in menuconfig, allowing the user to easily
disable this option
2. Allows olddefconfig to respoct the option if it is set in the old
.config file

It's not clear exactly why the second consequence is true, but it
appears to be because when the conf tool reads the config file, it only
respects the existing setting if the option is "visible" (see
scripts/kconfig/symbol.c:381).

Signed-off-by: Anand K Mistry <[email protected]>
---

arch/x86/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 21f851179ff0..28f814493c7b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -890,6 +890,7 @@ config HPET_TIMER

config HPET_EMULATE_RTC
def_bool y
+ prompt "HPET RTC emulation"
depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)

config APB_TIMER
--
2.30.0.365.g02bc693789-goog


2021-02-04 04:02:20

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

On 2/3/21 6:21 PM, Anand K Mistry wrote:
> This does two things:
> 1. Makes the option visible in menuconfig, allowing the user to easily
> disable this option
> 2. Allows olddefconfig to respoct the option if it is set in the old
> .config file
>
> It's not clear exactly why the second consequence is true, but it
> appears to be because when the conf tool reads the config file, it only
> respects the existing setting if the option is "visible" (see
> scripts/kconfig/symbol.c:381).
>
> Signed-off-by: Anand K Mistry <[email protected]>
> ---

Hi,

When you run "make olddefconfig", should this "depends on"
line evaluate to true or false?
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)

If not, is there some out-of-tree driver involved?
I'm having a little trouble seeing why this is needed.


> arch/x86/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 21f851179ff0..28f814493c7b 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -890,6 +890,7 @@ config HPET_TIMER
>
> config HPET_EMULATE_RTC
> def_bool y
> + prompt "HPET RTC emulation"
> depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
>
> config APB_TIMER
>


thanks.
--
~Randy

2021-02-04 06:17:43

by Anand K. Mistry

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

> 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.

> 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.

--
Anand K. Mistry
Software Engineer
Google Australia

2021-02-04 06:33:30

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

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).


thanks.
--
~Randy

2021-02-04 07:00:20

by Anand K. Mistry

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

On Thu, 4 Feb 2021 at 17:30, Randy Dunlap <[email protected]> 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:

#
# Config options generated by splitconfig
#
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ASHMEM=y
CONFIG_AUDIT=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BINFMT_MISC=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_DEBUG_FS is not set
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=m
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_SYSCALL=y
CONFIG_BRIDGE=m
CONFIG_BT=m
CONFIG_BT_FEATURE_DEBUG=y
CONFIG_BT_FEATURE_DEBUG_FUNC_NAMES=y
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
CONFIG_BT_HCIBTUSB_INTERVAL=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
CONFIG_BT_RFCOMM=m
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_CFG80211=m
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CFG80211_DEBUGFS=y
# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set
CONFIG_CFG80211_WEXT=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CLS_U32_MARK=y
# CONFIG_COMPAT_BRK is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
CONFIG_CPUSETS=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_TEO=y
CONFIG_CRC7=m
CONFIG_CROS_EC=y
CONFIG_CROS_EC_PD_UPDATE=y
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_DAX=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_DEBUG_DEVRES=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_PREEMPT is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEFAULT_HOSTNAME="localhost"
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DM_CRYPT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_VERITY=y
CONFIG_DM_VERITY_CHROMEOS=y
# CONFIG_DNOTIFY is not set
CONFIG_DRM=y
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_EVDI=m
# CONFIG_DRM_FBDEV_EMULATION is not set
CONFIG_DRM_UDL=y
CONFIG_DRM_VGEM=y
CONFIG_ECRYPT_FS=y
CONFIG_EMBEDDED=y
CONFIG_ENCRYPTED_KEYS=y
CONFIG_ERROR_ON_WARNING=y
CONFIG_ESD_FS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_FANOTIFY=y
CONFIG_FB=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FORTIFY_SOURCE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUSE_FS=m
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_FIRMWARE=y
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HFSPLUS_FS=m
CONFIG_HIDRAW=y
CONFIG_HID_APPLE=m
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=y
CONFIG_HID_HOLTEK=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_PLANTRONICS=m
CONFIG_HID_PRIMAX=m
CONFIG_HID_QUICKSTEP=m
CONFIG_HID_SONY=m
CONFIG_HID_THINGM=m
CONFIG_HID_WACOM=m
CONFIG_HID_WIIMOTE=m
CONFIG_HIGH_RES_TIMERS=y
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HW_RANDOM=y
CONFIG_I2C_STUB=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_HRTIMER_TRIGGER=m
CONFIG_IIO_SW_TRIGGER=m
CONFIG_IIO_SYSFS_TRIGGER=m
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_INET=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET_AH=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_INPUT_UINPUT=m
CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_SIT=m
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IR_JVC_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_SHARP_DECODER=y
CONFIG_IR_SONY_DECODER=y
CONFIG_IR_XMP_DECODER=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=m
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_KEYBOARD_CROS_EC=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LKDTM=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOW_MEM_NOTIFY=y
CONFIG_MAC80211=m
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_HWSIM=m
CONFIG_MAC80211_VERBOSE_DEBUG=y
CONFIG_MAC_PARTITION=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
CONFIG_MD=y
# CONFIG_MEDIA_CEC_SUPPORT is not set
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_MMAP_NOEXEC_TAINT=0
CONFIG_MMC=y
CONFIG_MMC_BLOCK_MINORS=16
CONFIG_MMC_SDHCI=y
CONFIG_MMC_TEST=m
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MOUSE_CYAPA=y
CONFIG_MOUSE_ELAN_I2C=y
CONFIG_MWIFIEX=m
CONFIG_NAMESPACES=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_U32=m
CONFIG_NET_KEY=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_TBF=m
CONFIG_NFS_FS=m
CONFIG_NFS_V4=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
# CONFIG_NF_CT_PROTO_DCCP is not set
# CONFIG_NF_CT_PROTO_SCTP is not set
# CONFIG_NF_CT_PROTO_UDPLITE is not set
CONFIG_NF_REJECT_IPV6=y
CONFIG_NL80211_TESTMODE=y
CONFIG_NLS_ASCII=m
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_ISO8859_1=m
CONFIG_NO_HZ=y
CONFIG_PACKET=y
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_TIMEOUT=-1
CONFIG_PARTITION_ADVANCED=y
CONFIG_PKGLIST=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_PM_DEBUG=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PPP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_MPPE=y
CONFIG_PREEMPT=y
CONFIG_PRINTK_TIME=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROFILING=y
CONFIG_PSI=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_RAM=y
CONFIG_QFMT_V2=y
CONFIG_QUOTA=y
# CONFIG_RCU_TRACE is not set
CONFIG_RC_CORE=y
CONFIG_RC_DECODERS=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZ4 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_LZO is not set
CONFIG_RFKILL=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT3573=y
CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_RT55XX=y
CONFIG_RT2800USB_UNKNOWN=y
CONFIG_RT2X00=m
CONFIG_RTC_CLASS=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_SCHEDSTATS=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY_LOADPIN=y
CONFIG_SECURITY_LOADPIN_ENFORCE=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_YAMA=y
CONFIG_SENSORS_ISL29018=m
CONFIG_SENSORS_TSL2563=m
CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SND=y
CONFIG_SND_ALOOP=m
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SOC=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB_AUDIO=m
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOUND=y
CONFIG_SPI=y
CONFIG_SPI_SPIDEV=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_STAGING=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_SW_SYNC=y
CONFIG_SYN_COOKIES=y
CONFIG_SYSVIPC=y
CONFIG_TASKSTATS=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TCG_TPM=y
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
# CONFIG_TCP_CONG_HTCP is not set
CONFIG_TCP_CONG_LP=m
# CONFIG_TCP_CONG_WESTWOOD is not set
CONFIG_TCP_MD5SIG=y
CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_FIRMWARE=m
CONFIG_TEST_LKM=m
CONFIG_TEST_UDELAY=m
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
CONFIG_TOUCHSCREEN_ELAN=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TSL2583=m
CONFIG_TUN=m
CONFIG_UDF_FS=m
CONFIG_UDMABUF=y
CONFIG_UHID=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNIX=y
CONFIG_USB=y
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USB_ACM=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_CONFIGFS=m
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_UEVENT=y
# CONFIG_USB_DEFAULT_PERSIST is not set
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_GSPCA is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_IPHETH=m
CONFIG_USB_MON=y
CONFIG_USB_NET_AQC111=m
# CONFIG_USB_NET_CDC_SUBSET is not set
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
# CONFIG_USB_NET_ZAURUS is not set
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CH341=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OTI6858=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_QUALCOMM=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_STORAGE=y
CONFIG_USB_UAS=y
CONFIG_USB_VIDEO_CLASS=m
# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set
CONFIG_USERFAULTFD=y
CONFIG_USER_NS=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VETH=m
CONFIG_VFAT_FS=m
CONFIG_WATCHDOG=y
CONFIG_XFRM_USER=y
# CONFIG_XZ_DEC_IA64 is not set
# CONFIG_XZ_DEC_POWERPC is not set
# CONFIG_XZ_DEC_SPARC is not set
CONFIG_ZISOFS=y
CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
#
# Config options generated by splitconfig
#
CONFIG_ACPI_ALS=m
CONFIG_ACPI_APEI=y
CONFIG_ACPI_CHROMEOS=y
CONFIG_ACPI_DOCK=y
CONFIG_AGP=y
CONFIG_ALT_SYSCALL=y
CONFIG_ALT_SYSCALL_CHROMIUMOS=y
CONFIG_ALX=m
CONFIG_ARCH_MMAP_RND_BITS=31
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16
CONFIG_ATA=y
CONFIG_ATA_GENERIC=y
CONFIG_ATA_PIIX=y
CONFIG_ATH9K=m
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_RFKILL is not set
CONFIG_ATH_DEBUG=y
CONFIG_BLK_DEV_NVME=y
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_PCIE=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BT_ATH3K=m
CONFIG_BT_HCIBCM203X=m
CONFIG_CHARGER_CROS_USBPD=y
CONFIG_CHROMEOS_LAPTOP=y
CONFIG_CHROMEOS_PSTORE=y
CONFIG_CHROMEOS_TBMC=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CROS_EC_I2C=y
CONFIG_CROS_EC_LPC=y
CONFIG_CROS_KBD_LED_BACKLIGHT=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_DMI_SYSFS=y
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_EFI=y
# CONFIG_EFIVAR_FS is not set
CONFIG_EFI_VARS=y
CONFIG_EFI_VARS_PSTORE=n
CONFIG_FTRACE_SYSCALLS=y
CONFIG_GART_IOMMU=y
CONFIG_GOOGLE_SMI=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HID_GOOGLE_HAMMER=m
CONFIG_HID_PID=y
CONFIG_HID_RMI=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_PLX=m
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HPET=y
# CONFIG_HPET_EMULATE_RTC is not set
# CONFIG_HPET_MMAP is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HZ_1000=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_HID_ACPI=y
CONFIG_I2C_I801=y
CONFIG_I2C_PIIX4=m
CONFIG_IA32_EMULATION=y
CONFIG_IGBVF=m
CONFIG_IIO=m
CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
CONFIG_IIO_CROS_EC_ACTIVITY=m
CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_LIGHT_PROX=m
CONFIG_IIO_CROS_EC_SENSORS=m
CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
CONFIG_IIO_CROS_EC_SENSORS_RING=m
CONFIG_IIO_CROS_EC_SENSORS_SYNC=m
CONFIG_INT340X_THERMAL=y
CONFIG_INTEL_RAPL=y
CONFIG_INTEL_VBTN=m
CONFIG_IO_DELAY_0XED=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_ITCO_WDT=y
CONFIG_JME=m
CONFIG_LEGACY_VSYSCALL_EMULATE=y
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_LPC_ICH=y
CONFIG_LPC_SCH=y
CONFIG_LSM_MMAP_MIN_ADDR=32768
CONFIG_MEDIA_PCI_SUPPORT=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MMC_RICOH_MMC is not set
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MOUSE_APPLETOUCH=m
# CONFIG_MOUSE_PS2_ALPS is not set
# CONFIG_MOUSE_PS2_CYPRESS is not set
# CONFIG_MOUSE_PS2_FOCALTECH is not set
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
# CONFIG_MOUSE_PS2_SYNAPTICS is not set
# CONFIG_MTRR_SANITIZER is not set
CONFIG_MWIFIEX_PCIE=m
CONFIG_PCI=y
CONFIG_PCIEAER=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCSPKR_PLATFORM is not set
CONFIG_PM_TRACE_RTC=y
CONFIG_POWERCAP=y
CONFIG_PROC_KCORE=y
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_PUNIT_ATOM_DEBUG=y
CONFIG_R8169=m
CONFIG_RT2800PCI=m
# CONFIG_RTC_HCTOSYS is not set
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=3
# CONFIG_SATA_PMP is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_VIRTIO=y
CONFIG_SECURITY_CHROMIUMOS=y
CONFIG_SENSORS_CORETEMP=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_SMP=y
CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SPI_BITBANG=m
CONFIG_SPI_PXA2XX=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_SPI=y
CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TIGON3=m
CONFIG_TOUCHSCREEN_MELFAS_MIP4=y
CONFIG_TOUCHSCREEN_WDT87XX_I2C=y
CONFIG_TYPEC=m
CONFIG_TYPEC_UCSI=m
CONFIG_UCSI_ACPI=m
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_GADGET=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_GADGET=m
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USELIB is not set
# CONFIG_VGA_ARB is not set
CONFIG_VIRTIO_BLK=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_CPUID=y
CONFIG_X86_MSR=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
#
# Config options generated by splitconfig
#
CONFIG_ACERHDF=m
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_WMI=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
CONFIG_AMD_PMC=y
CONFIG_ATH10K=m
CONFIG_ATH10K_DEBUG=y
CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_TRACING=y
CONFIG_BCMA=m
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_INTEL is not set
CONFIG_CROS_EC_UART=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_DEBUG_GPIO=y
CONFIG_DRM_AMDGPU=y
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_ACP=y
CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_CIRRUS_QEMU=y
CONFIG_DRM_VIRTIO_GPU=y
# CONFIG_EARLY_PRINTK is not set
CONFIG_EDAC=y
CONFIG_FIXED_PHY=y
CONFIG_GPIO_SYSFS=y
CONFIG_HP_WMI=m
# CONFIG_HW_RANDOM_INTEL is not set
CONFIG_KEYBOARD_GPIO=y
CONFIG_MAILBOX=y
# CONFIG_MEDIA_CONTROLLER is not set
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
# CONFIG_MICROCODE_INTEL is not set
CONFIG_MISC_RTSX_PCI=y
CONFIG_MMC_REALTEK_PCI=y
CONFIG_MOUSE_BCM5974=m
CONFIG_MOUSE_SYNAPTICS_USB=m
CONFIG_MXM_WMI=y
CONFIG_PCC=y
CONFIG_PHYLIB=y
CONFIG_PINCTRL_AMD=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_RANDOM_TRUST_CPU=y
CONFIG_RTL8187=m
CONFIG_RTL8192CU=m
CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTW88=m
CONFIG_RTW88_8822CE=m
CONFIG_RTW88_DEBUG=y
CONFIG_RTW88_DEBUGFS=y
CONFIG_RTW88_REGD_USER_REG_HINTS=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIO_RAW=y
CONFIG_SKGE=m
CONFIG_SKY2=m
CONFIG_SND_DESIGNWARE_I2S=m
CONFIG_SND_HDA_GENERIC=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m
# CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is not set
CONFIG_SSB=m
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_SDIOHOST=y
CONFIG_TCG_CR50_I2C=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_TMPFS=y
CONFIG_TOUCHSCREEN_RM_TS=y
CONFIG_X86_AMD_FREQ_SENSITIVITY=y
# CONFIG_X86_MCE_INTEL is not set

2021-02-04 17:44:05

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

On 2/3/21 10:55 PM, Anand K. Mistry wrote:
> On Thu, 4 Feb 2021 at 17:30, Randy Dunlap <[email protected]> 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

2021-02-04 18:05:09

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

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 <[email protected]> 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

2021-02-04 20:55:27

by Anand K. Mistry

[permalink] [raw]
Subject: Re: [PATCH] x86: Add a prompt for HPET_EMULATE_RTC

> >
> > 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?

Yes, I want to keep it disabled. My understanding (from the behaviour
I've seen with other settings, as well as reading the sources) is that
"is not set" is treated the same as "n".

In fact, if you change the old config to CONFIG_HPET_EMULATE_RTC=n,
you get the same before/after behaviour of this patch. Before,
olddefconfig will ignore the old setting and change it to "y". With
this patch, olddefconfig keeps the old setting, but re-writes it to
"is not set". This is even more surprising because the user is
explicit in what the old config setting is, but olddefconfig still
ignores it.

>
> 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
>


--
Anand K. Mistry
Software Engineer
Google Australia