linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
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__ */

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