Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Loongson: Define rtc device on MC146818-equipped systems

This patch declare the rtc device present on systems with clock compatible
with the mc146818 and handled by rtc-cmos. Introduce a new Kconfig entry
because there are some systems without rtc_cmos compatible clock.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
To: linux-mips@linux-mips.org
Cc: aba@not.so.argh.org
Patchwork: http://patchwork.linux-mips.org/patch/1320/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Arnaud Patard and committed by
Ralf Baechle
5df74352 17c04139

+50
+6
arch/mips/loongson/Kconfig
··· 23 23 select GENERIC_HARDIRQS_NO__DO_IRQ 24 24 select GENERIC_ISA_DMA_SUPPORT_BROKEN 25 25 select CPU_HAS_WB 26 + select LOONGSON_MC146818 26 27 help 27 28 Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and 28 29 an FPGA northbridge ··· 52 51 select SYS_SUPPORTS_64BIT_KERNEL 53 52 select SYS_SUPPORTS_HIGHMEM 54 53 select SYS_SUPPORTS_LITTLE_ENDIAN 54 + select LOONGSON_MC146818 55 55 help 56 56 Lemote Loongson 2F family machines utilize the 2F revision of 57 57 Loongson processor and the AMD CS5536 south bridge. ··· 85 83 bool 86 84 default y 87 85 depends on EARLY_PRINTK || SERIAL_8250 86 + 87 + config LOONGSON_MC146818 88 + bool 89 + default n
+1
arch/mips/loongson/common/Makefile
··· 12 12 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 13 13 obj-$(CONFIG_SERIAL_8250) += serial.o 14 14 obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o 15 + obj-$(CONFIG_LOONGSON_MC146818) += rtc.o 15 16 16 17 # 17 18 # Enable CS5536 Virtual Support Module(VSM) to virtulize the PCI configure
+43
arch/mips/loongson/common/rtc.c
··· 1 + /* 2 + * Lemote Fuloong platform support 3 + * 4 + * Copyright(c) 2010 Arnaud Patard <apatard@mandriva.com> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License as published by 8 + * the Free Software Foundation; either version 2 of the License, or 9 + * (at your option) any later version. 10 + */ 11 + 12 + #include <linux/init.h> 13 + #include <linux/kernel.h> 14 + #include <linux/platform_device.h> 15 + #include <linux/mc146818rtc.h> 16 + 17 + struct resource loongson_rtc_resources[] = { 18 + { 19 + .start = RTC_PORT(0), 20 + .end = RTC_PORT(1), 21 + .flags = IORESOURCE_IO, 22 + }, { 23 + .start = RTC_IRQ, 24 + .end = RTC_IRQ, 25 + .flags = IORESOURCE_IRQ, 26 + } 27 + }; 28 + 29 + static struct platform_device loongson_rtc_device = { 30 + .name = "rtc_cmos", 31 + .id = -1, 32 + .resource = loongson_rtc_resources, 33 + .num_resources = ARRAY_SIZE(loongson_rtc_resources), 34 + }; 35 + 36 + 37 + static int __init loongson_rtc_platform_init(void) 38 + { 39 + platform_device_register(&loongson_rtc_device); 40 + return 0; 41 + } 42 + 43 + device_initcall(loongson_rtc_platform_init);