All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.