From: "Mark A. Greer" <mgreer@mvista.com>
To: linuxppc-dev@ozlabs.org
Subject: [RFC] Option to disable mapping genrtc calls to ppc_md calls
Date: Mon, 17 Jan 2005 14:10:00 -0700 [thread overview]
Message-ID: <41EC29A8.1040703@mvista.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 790 bytes --]
All,
I have a platform with an i2c rtc chip. Since much of the code for an
rtc driver is already in drivers/char/genrtc.c, I would like to reuse
that code and directly implement get_rtc_time(), et. al. in the rtc
driver. The problem is that include/asm-ppc/rtc.h assumes that
get_rtc_time(), et. al. should be mapped to ppc_md.get_rtc_time() et.
al. To work around this, I made an option to turn off that assumption.
The patch is included.
There are 2 reasons to not use the ppc_md.get_rtc_time() et. al. interfaces:
1) They are called before the i2c driver is initialized and even loaded
if its a module.
2) Its ppc-specific. Implementing get_rtc_time() et. al. directly makes
it generic across all architectures.
Is there a better way to do this?
Comments welcome.
Mark
[-- Attachment #2: rtc.patch --]
[-- Type: text/plain, Size: 1635 bytes --]
===== drivers/char/Kconfig 1.60 vs edited =====
--- 1.60/drivers/char/Kconfig 2005-01-15 15:31:07 -07:00
+++ edited/drivers/char/Kconfig 2005-01-17 13:49:52 -07:00
@@ -777,6 +777,17 @@
Provides an emulation for RTC_UIE which is required by some programs
and may improve precision of the generic RTC support in some cases.
+config GEN_RTC_DISABLE_RTC_MAPPING
+ bool "Disable mapping genrtc interface to ppc-specific calls"
+ depends on GEN_RTC && PPC32
+ default n
+ help
+ PPC systems typically map genrtc calls to PPC specific routines.
+ However, this needs to be disabled when using an RTC chip whose
+ driver implements the genrtc calls.
+
+ To disable the mapping to PPC specific routines, chose Y here.
+
config EFI_RTC
bool "EFI Real Time Clock Services"
depends on IA64
===== include/asm-ppc/rtc.h 1.7 vs edited =====
--- 1.7/include/asm-ppc/rtc.h 2003-09-12 09:26:56 -07:00
+++ edited/include/asm-ppc/rtc.h 2005-01-17 13:52:52 -07:00
@@ -42,6 +42,7 @@
#define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */
#define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */
+#if !defined(CONFIG_GEN_RTC_DISABLE_RTC_MAPPING)
static inline unsigned int get_rtc_time(struct rtc_time *time)
{
if (ppc_md.get_rtc_time) {
@@ -91,5 +92,12 @@
return -EINVAL;
}
+#else
+extern unsigned int get_rtc_time(struct rtc_time *time);
+extern int set_rtc_time(struct rtc_time *time);
+extern unsigned int get_rtc_ss(void);
+extern int get_rtc_pll(struct rtc_pll_info *pll);
+extern int set_rtc_pll(struct rtc_pll_info *pll);
+#endif
#endif /* __KERNEL__ */
#endif /* __ASM_RTC_H__ */
next reply other threads:[~2005-01-17 22:06 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-17 21:10 Mark A. Greer [this message]
2005-01-18 9:20 ` [RFC] Option to disable mapping genrtc calls to ppc_md calls Geert Uytterhoeven
2005-01-18 18:40 ` Mark A. Greer
2005-01-18 19:01 ` Eugene Surovegin
2005-01-18 16:15 ` Tom Rini
2005-01-18 16:25 ` Dan Malek
2005-01-18 17:39 ` Tolunay Orkun
2005-01-18 18:33 ` Tom Rini
2005-01-18 18:13 ` Tom Rini
2005-01-18 18:58 ` Mark A. Greer
2005-01-18 19:08 ` Tom Rini
2005-01-18 19:43 ` Mark A. Greer
2005-01-19 18:08 ` Tom Rini
2005-01-20 20:52 ` Mark A. Greer
2005-01-20 22:53 ` Tom Rini
2005-01-20 23:21 ` Mark A. Greer
2005-01-20 23:47 ` Tom Rini
2005-01-20 23:56 ` Mark A. Greer
2005-01-18 18:54 ` Eugene Surovegin
2005-01-20 22:27 ` Benjamin Herrenschmidt
2005-01-18 18:55 ` Mark A. Greer
2005-01-18 19:05 ` Tom Rini
2005-01-18 19:33 ` Mark A. Greer
2005-01-20 22:25 ` Benjamin Herrenschmidt
2005-01-20 23:54 ` Mark A. Greer
2005-01-21 0:01 ` Benjamin Herrenschmidt
2005-01-21 0:09 ` Mark A. Greer
2005-01-21 0:12 ` Benjamin Herrenschmidt
2005-01-21 9:14 ` Geert Uytterhoeven
2005-01-21 14:39 ` Corey Minyard
2005-01-21 22:01 ` Benjamin Herrenschmidt
2005-01-21 9:44 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41EC29A8.1040703@mvista.com \
--to=mgreer@mvista.com \
--cc=linuxppc-dev@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).