[patch 2.6.24-git] rtc: avoid legacy drivers with generic framework

From: David Brownell
Date: Sun Feb 10 2008 - 15:42:18 EST


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 <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/