* [patch 1/1] Loongson: define rtc device on mc146818 compatible systems
2010-06-01 22:39 [patch 0/1] loongson: enable rtc on rtc-cmos compatibles systems apatard
@ 2010-06-01 22:39 ` apatard
2010-06-02 7:32 ` Ralf Baechle
0 siblings, 1 reply; 3+ messages in thread
From: apatard @ 2010-06-01 22:39 UTC (permalink / raw)
To: linux-mips; +Cc: aba
[-- Attachment #1: lm2e_rtc.patch --]
[-- Type: text/plain, Size: 3205 bytes --]
This patch declare the rtc device present on systems with clock compatible with
the mc146818 and handled by rtc-cmos. I've introduced a new Kconfig entry because
there are some systems without rtc-cmos compatible clock.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
---
arch/mips/loongson/Kconfig | 8 8 + 0 - 0 !
arch/mips/loongson/common/Makefile | 1 1 + 0 - 0 !
arch/mips/loongson/common/rtc.c | 43 43 + 0 - 0 !
3 files changed, 52 insertions(+)
Index: linux-2.6/arch/mips/loongson/common/Makefile
===================================================================
--- linux-2.6.orig/arch/mips/loongson/common/Makefile
+++ linux-2.6/arch/mips/loongson/common/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_GENERIC_GPIO) += gpio.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-$(CONFIG_SERIAL_8250) += serial.o
obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o
+obj-$(CONFIG_LOONGSON_MC146818) += rtc.o
#
# Enable CS5536 Virtual Support Module(VSM) to virtulize the PCI configure
Index: linux-2.6/arch/mips/loongson/common/rtc.c
===================================================================
--- /dev/null
+++ linux-2.6/arch/mips/loongson/common/rtc.c
@@ -0,0 +1,43 @@
+/*
+ * Lemote Fuloong platform support
+ *
+ * Copyright(c) 2010 Arnaud Patard <apatard@mandriva.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/platform_device.h>
+#include <linux/mc146818rtc.h>
+
+struct resource loongson_rtc_resources[] = {
+ {
+ .start = RTC_PORT(0),
+ .end = RTC_PORT(1),
+ .flags = IORESOURCE_IO,
+ }, {
+ .start = RTC_IRQ,
+ .end = RTC_IRQ,
+ .flags = IORESOURCE_IRQ,
+ }
+};
+
+static struct platform_device loongson_rtc_device = {
+ .name = "rtc_cmos",
+ .id = -1,
+ .resource = loongson_rtc_resources,
+ .num_resources = ARRAY_SIZE(loongson_rtc_resources),
+};
+
+
+static int __init loongson_rtc_platform_init(void)
+{
+ platform_device_register(&loongson_rtc_device);
+ return 0;
+}
+
+device_initcall(loongson_rtc_platform_init);
Index: linux-2.6/arch/mips/loongson/Kconfig
===================================================================
--- linux-2.6.orig/arch/mips/loongson/Kconfig
+++ linux-2.6/arch/mips/loongson/Kconfig
@@ -23,6 +23,7 @@ config LEMOTE_FULOONG2E
select GENERIC_HARDIRQS_NO__DO_IRQ
select GENERIC_ISA_DMA_SUPPORT_BROKEN
select CPU_HAS_WB
+ select LOONGSON_MC146818
help
Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and
an FPGA northbridge
@@ -51,6 +52,7 @@ config LEMOTE_MACH2F
select SYS_SUPPORTS_64BIT_KERNEL
select SYS_SUPPORTS_HIGHMEM
select SYS_SUPPORTS_LITTLE_ENDIAN
+ select LOONGSON_MC146818
help
Lemote Loongson 2F family machines utilize the 2F revision of
Loongson processor and the AMD CS5536 south bridge.
@@ -83,3 +85,9 @@ config LOONGSON_UART_BASE
bool
default y
depends on EARLY_PRINTK || SERIAL_8250
+
+config LOONGSON_MC146818
+ bool
+ default n
+
+
^ permalink raw reply [flat|nested] 3+ messages in thread