On 04/20/2020 03:33 PM, Jiaxun Yang wrote: > RTC is now enabled by devicetree. So platform code is > no longer needed. > > Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> > --- > .../include/asm/mach-loongson64/mc146818rtc.h | 36 ----------------- > arch/mips/loongson64/Kconfig | 4 -- > arch/mips/loongson64/Makefile | 1 - > arch/mips/loongson64/rtc.c | 39 ------------------- > arch/mips/loongson64/time.c | 8 +--- > 5 files changed, 1 insertion(+), 87 deletions(-) > delete mode 100644 arch/mips/include/asm/mach-loongson64/mc146818rtc.h > delete mode 100644 arch/mips/loongson64/rtc.c > > diff --git a/arch/mips/include/asm/mach-loongson64/mc146818rtc.h b/arch/mips/include/asm/mach-loongson64/mc146818rtc.h > deleted file mode 100644 > index ebdccfee50be..000000000000 > --- a/arch/mips/include/asm/mach-loongson64/mc146818rtc.h > +++ /dev/null > @@ -1,36 +0,0 @@ > -/* > - * This file is subject to the terms and conditions of the GNU General Public > - * License. See the file "COPYING" in the main directory of this archive > - * for more details. > - * > - * Copyright (C) 1998, 2001, 03, 07 by Ralf Baechle (ralf@xxxxxxxxxxxxxx) > - * > - * RTC routines for PC style attached Dallas chip. > - */ > -#ifndef __ASM_MACH_LOONGSON64_MC146818RTC_H > -#define __ASM_MACH_LOONGSON64_MC146818RTC_H > - > -#include <linux/io.h> > - > -#define RTC_PORT(x) (0x70 + (x)) > -#define RTC_IRQ 8 > - > -static inline unsigned char CMOS_READ(unsigned long addr) > -{ > - outb_p(addr, RTC_PORT(0)); > - return inb_p(RTC_PORT(1)); > -} > - > -static inline void CMOS_WRITE(unsigned char data, unsigned long addr) > -{ > - outb_p(addr, RTC_PORT(0)); > - outb_p(data, RTC_PORT(1)); > -} > - > -#define RTC_ALWAYS_BCD 0 > - > -#ifndef mc146818_decode_year > -#define mc146818_decode_year(year) ((year) < 70 ? (year) + 2000 : (year) + 1970) > -#endif > - > -#endif /* __ASM_MACH_LOONGSON64_MC146818RTC_H */ > diff --git a/arch/mips/loongson64/Kconfig b/arch/mips/loongson64/Kconfig > index 48b29c198acf..c386b8a3c753 100644 > --- a/arch/mips/loongson64/Kconfig > +++ b/arch/mips/loongson64/Kconfig > @@ -14,8 +14,4 @@ config RS780_HPET > If unsure, say Yes. > > > -config LOONGSON_MC146818 > - bool > - default n > - > endif # MACH_LOONGSON64 > diff --git a/arch/mips/loongson64/Makefile b/arch/mips/loongson64/Makefile > index f04461839540..102a19aa92aa 100644 > --- a/arch/mips/loongson64/Makefile > +++ b/arch/mips/loongson64/Makefile > @@ -8,6 +8,5 @@ obj-$(CONFIG_MACH_LOONGSON64) += cop2-ex.o platform.o acpi_init.o dma.o \ > obj-$(CONFIG_SMP) += smp.o > obj-$(CONFIG_NUMA) += numa.o > obj-$(CONFIG_RS780_HPET) += hpet.o > -obj-$(CONFIG_LOONGSON_MC146818) += rtc.o > obj-$(CONFIG_SUSPEND) += pm.o > obj-$(CONFIG_PCI_QUIRKS) += vbios_quirk.o > diff --git a/arch/mips/loongson64/rtc.c b/arch/mips/loongson64/rtc.c > deleted file mode 100644 > index 8d7628c0f513..000000000000 > --- a/arch/mips/loongson64/rtc.c > +++ /dev/null > @@ -1,39 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0-or-later > -/* > - * Lemote Fuloong platform support > - * > - * Copyright(c) 2010 Arnaud Patard <apatard@xxxxxxxxxxxx> > - */ > - > -#include <linux/init.h> > -#include <linux/kernel.h> > -#include <linux/platform_device.h> > -#include <linux/mc146818rtc.h> > - > -static 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); > diff --git a/arch/mips/loongson64/time.c b/arch/mips/loongson64/time.c > index 1245f22cec84..91e842b58365 100644 > --- a/arch/mips/loongson64/time.c > +++ b/arch/mips/loongson64/time.c > @@ -6,7 +6,7 @@ > * Copyright (C) 2009 Lemote Inc. > * Author: Wu Zhangjin, wuzhangjin@xxxxxxxxx > */ > -#include <asm/mc146818-time.h> > + > #include <asm/time.h> > #include <asm/hpet.h> > > @@ -21,9 +21,3 @@ void __init plat_time_init(void) > setup_hpet_timer(); > #endif > } > - > -void read_persistent_clock64(struct timespec64 *ts) > -{ > - ts->tv_sec = mc146818_get_cmos_time(); > - ts->tv_nsec = 0; > -} > Hi Jiaxun, Are you sure to remove function read_persistent_clock64 ? which is called in kernel/time/timekeeping.c regards bibo,mao