char/genrtc: remove powerpc support
authorArnd Bergmann <arnd@arndb.de>
Mon, 30 May 2016 18:58:01 +0000 (20:58 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Fri, 3 Jun 2016 22:23:35 +0000 (00:23 +0200)
PowerPC is the last architecture using the GEN_RTC driver on some
machines, but we can migrate them all to using the RTC_DRV_GENERIC
driver instead now.

This moves over the CONFIG_GEN_RTC option from drivers/char into
arch/powerpc/platforms/Kconfig and makes it just select the
replacement driver instead, for the only reason of not breaking
existing defconfig and .config files that users may have.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
arch/powerpc/include/asm/rtc.h [deleted file]
arch/powerpc/platforms/Kconfig
arch/powerpc/platforms/ps3/time.c
drivers/char/Kconfig
drivers/char/Makefile

diff --git a/arch/powerpc/include/asm/rtc.h b/arch/powerpc/include/asm/rtc.h
deleted file mode 100644 (file)
index f580292..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Real-time clock definitions and interfaces
- *
- * Author: Tom Rini <trini@mvista.com>
- *
- * 2002 (c) MontaVista, Software, Inc.  This file is licensed under
- * the terms of the GNU General Public License version 2.  This program
- * is licensed "as is" without any warranty of any kind, whether express
- * or implied.
- *
- * Based on:
- * include/asm-m68k/rtc.h
- *
- * Copyright Richard Zidlicky
- * implementation details for genrtc/q40rtc driver
- *
- * And the old drivers/macintosh/rtc.c which was heavily based on:
- * Linux/SPARC Real Time Clock Driver
- * Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
- *
- * With additional work by Paul Mackerras and Franz Sirl.
- */
-
-#ifndef __ASM_POWERPC_RTC_H__
-#define __ASM_POWERPC_RTC_H__
-
-#ifdef __KERNEL__
-
-#include <linux/rtc.h>
-
-#include <asm/machdep.h>
-#include <asm/time.h>
-
-#define RTC_PIE 0x40           /* periodic interrupt enable */
-#define RTC_AIE 0x20           /* alarm interrupt enable */
-#define RTC_UIE 0x10           /* update-finished interrupt enable */
-
-/* some dummy definitions */
-#define RTC_BATT_BAD 0x100     /* battery bad */
-#define RTC_SQWE 0x08          /* enable square-wave output */
-#define RTC_DM_BINARY 0x04     /* all time/date values are BCD if clear */
-#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 */
-
-static inline unsigned int get_rtc_time(struct rtc_time *time)
-{
-       if (ppc_md.get_rtc_time)
-               ppc_md.get_rtc_time(time);
-       return RTC_24H;
-}
-
-/* Set the current date and time in the real time clock. */
-static inline int set_rtc_time(struct rtc_time *time)
-{
-       if (ppc_md.set_rtc_time)
-               return ppc_md.set_rtc_time(time);
-       return -EINVAL;
-}
-
-static inline unsigned int get_rtc_ss(void)
-{
-       struct rtc_time h;
-
-       get_rtc_time(&h);
-       return h.tm_sec;
-}
-
-static inline int get_rtc_pll(struct rtc_pll_info *pll)
-{
-       return -EINVAL;
-}
-static inline int set_rtc_pll(struct rtc_pll_info *pll)
-{
-       return -EINVAL;
-}
-
-#endif /* __KERNEL__ */
-#endif /* __ASM_POWERPC_RTC_H__ */
index 46a3533d3acb251a853d831b746ead4c2cf5dbe8..863aa43413900b39acc2f1eea51852239447920b 100644 (file)
@@ -321,6 +321,17 @@ config OF_RTC
          Uses information from the OF or flattened device tree to instantiate
          platform devices for direct mapped RTC chips like the DS1742 or DS1743.
 
+config GEN_RTC
+       bool "Use the platform RTC operations from user space"
+       select RTC_CLASS
+       select RTC_DRV_GENERIC
+       help
+         This option provides backwards compatibility with the old gen_rtc.ko
+         module that was traditionally used for old PowerPC machines.
+         Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
+         replacing their get_rtc_time/set_rtc_time callbacks with
+         a proper RTC device driver.
+
 config SIMPLE_GPIO
        bool "Support for simple, memory-mapped GPIO controllers"
        depends on PPC
index 791c6142c4a7bd0185437890350381c529779a54..11b45b58c81bd77956d4fa1f0afd2a3357dafd8f 100644 (file)
@@ -20,9 +20,9 @@
 
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
+#include <linux/rtc.h>
 
 #include <asm/firmware.h>
-#include <asm/rtc.h>
 #include <asm/lv1call.h>
 #include <asm/ps3.h>
 
index fccac76257c907065f3c0027519cf3c55939e06d..153e90f8a44591714de36c6a5c8a4980fb9cd5eb 100644 (file)
@@ -325,10 +325,10 @@ config JS_RTC
          To compile this driver as a module, choose M here: the
          module will be called js-rtc.
 
-config GEN_RTC
+config OLD_GEN_RTC
        tristate "Generic /dev/rtc emulation"
        depends on RTC!=y
-       depends on PPC
+       depends on BROKEN
        ---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
index d8a7579300d2df1112446c3a69a29713fd2af163..fc0905aa73736f59fa6d0f304d1e4a0ef53c23cf 100644 (file)
@@ -25,7 +25,7 @@ obj-$(CONFIG_APPLICOM)                += applicom.o
 obj-$(CONFIG_SONYPI)           += sonypi.o
 obj-$(CONFIG_RTC)              += rtc.o
 obj-$(CONFIG_HPET)             += hpet.o
-obj-$(CONFIG_GEN_RTC)          += genrtc.o
+obj-$(CONFIG_OLD_GEN_RTC)      += genrtc.o
 obj-$(CONFIG_EFI_RTC)          += efirtc.o
 obj-$(CONFIG_DS1302)           += ds1302.o
 obj-$(CONFIG_XILINX_HWICAP)    += xilinx_hwicap/