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.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
---
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.

 drivers/char/Kconfig |    6 +++++-
 drivers/rtc/Kconfig  |    1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

--- g26.orig/drivers/char/Kconfig       2008-02-10 11:16:04.000000000 -0800
+++ g26/drivers/char/Kconfig    2008-02-10 11:30:21.000000000 -0800
@@ -704,9 +704,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
--- g26.orig/drivers/rtc/Kconfig        2008-02-10 11:16:04.000000000 -0800
+++ g26/drivers/rtc/Kconfig     2008-02-10 11:19:00.000000000 -0800
@@ -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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to