From: David Brownell Kconfig tweaks to help reduce RTC configuration bugs, by avoiding legacy RTC drivers when the generic RTC framework is enabled: - If rtc-cmos is selected, disable the legacy rtc driver; - When using generic RTC on x86, enable rtc-cmos by default; - In the old "chardev RTC" section of Kconfig, add a comment warning people off these (seven) legacy RTC drivers when the generic framework is in use. People can still use the legacy drivers if they want (or need) to. This doesn't fix the broken dependencies for the legacy "CMOS" RTC driver. Ideally it would be a full list of platforms where it works, not a partial list of ones where it won't. Or better yet, it would depend on a "HAVE_CMOS_RTC" flag defined by various platforms ... surely there's a Kconfig style guideline lurking there. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton --- drivers/char/Kconfig | 7 ++++++- drivers/rtc/Kconfig | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff -puN drivers/char/Kconfig~rtc-avoid-legacy-drivers-with-generic-framework drivers/char/Kconfig --- a/drivers/char/Kconfig~rtc-avoid-legacy-drivers-with-generic-framework +++ a/drivers/char/Kconfig @@ -713,9 +713,14 @@ config NVRAM To compile this driver as a module, choose M here: the module will be called nvram. +comment "Avoid any legacy RTC drivers you may see here" + depends on RTC_LIB + config RTC tristate "Enhanced Real Time Clock Support" - depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV && !ARM && !SUPERH && !S390 + depends on !PPC && !PARISC && !IA64 && !M68K && !SPARC && !FRV \ + && !ARM && !SUPERH && !S390 \ + && RTC_DRV_CMOS=n ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you diff -puN drivers/rtc/Kconfig~rtc-avoid-legacy-drivers-with-generic-framework drivers/rtc/Kconfig --- a/drivers/rtc/Kconfig~rtc-avoid-legacy-drivers-with-generic-framework +++ a/drivers/rtc/Kconfig @@ -294,6 +294,7 @@ comment "Platform RTC drivers" config RTC_DRV_CMOS tristate "PC-style 'CMOS'" depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS + default y if X86 help Say "yes" here to get direct support for the real time clock found in every PC or ACPI-based system, and some other boards. _