[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Loongson updates



Andreas Barth <aba@not.so.argh.org> writes:

> * Arnaud Patard (arnaud.patard@rtp-net.org) [100503 19:45]:
>> Andreas Barth <aba@not.so.argh.org> writes:
>> hmm... I've an idea of what the problem is but I need more information
>> to confirm my hypothesis. Do you know what's providing rtc on your
>> system ? If it's supposed to be driven by the rtc-cmos driver, can you
>> boot a kernel with RTC_DEBUG, load the rtc-cmos driver and look for
>> messages from the rtc kernel stuff ?
>
> Did so. This ends with:
>
> aba@phrixos:~$ sudo modprobe rtc-cmos
> FATAL: Error inserting rtc_cmos (/lib/modules/2.6.34-rc6aba3/kernel/drivers/rtc/rtc-cmos.ko): No such device
> aba@phrixos:~$
>

ok, so it's not the bug I was thinking of. Your problem is that you
don't have a rtc_cmos device. The patch below should help. I think it
should work on your system but this remains to be confirmed.
Please try again with this patch and look at the logs to check if it's
making any difference.

Arnaud

Loongson: define rtc device on mc146818 compatible systems

This patch declare the rtc device present on systems with clock compatible with
the mc146818 and handled by rtc-cmos.

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	2010-05-01 10:42:35.000000000 +0200
+++ linux-2.6/arch/mips/loongson/common/Makefile	2010-05-03 23:35:39.000000000 +0200
@@ -11,6 +11,7 @@ obj-y += setup.o init.o cmdline.o env.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	1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6/arch/mips/loongson/common/rtc.c	2010-05-03 23:35:40.000000000 +0200
@@ -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	2010-04-29 11:07:56.000000000 +0200
+++ linux-2.6/arch/mips/loongson/Kconfig	2010-05-03 23:36:35.000000000 +0200
@@ -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
+
+

Reply to: