From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932153AbbI1InN (ORCPT ); Mon, 28 Sep 2015 04:43:13 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:55501 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754075AbbI1InJ (ORCPT ); Mon, 28 Sep 2015 04:43:09 -0400 From: Arnd Bergmann To: "Leizhen (ThunderTown)" Cc: linux-arm-kernel@lists.infradead.org, Catalin Marinas , Will Deacon , Greg Kroah-Hartman , linux-kernel , Kefeng Wang , Xinwei Hu , Zefan Li , Tianhong Ding , Hanjun Guo Subject: Re: [PATCH 2/2] arm64: to allow EFI_RTC can be selected on ARM64 Date: Mon, 28 Sep 2015 10:42:42 +0200 Message-ID: <2245172.1ESUGv0DKo@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <5608FA85.8070009@huawei.com> References: <1443418478-8240-1-git-send-email-thunder.leizhen@huawei.com> <1783631.jH4WY2RqXu@wuerfel> <5608FA85.8070009@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:JaTUC33NGLeIB07T3tzTZgmCpCCQMiKspWBZz3V7Vy/aKkkaUwR +CBagzuAu32mCvy1pDLiBre0E9vjvC8zQHSal89NjPxlEIR4TBPceJPEo9E71oyRlECEyUX 8Pnc3/mUhMuHpG8is3onsqLS2R7N4B/1UY9+bjM6rVhwOITLn3w+1XYcaezkFnOyPkc51z+ NtiOl+FjddJrnOUs9tRCA== X-UI-Out-Filterresults: notjunk:1;V01:K0:0W6ndkQSKNA=:tAsWteGb+LdGSwKIm+GBlq +thetC1UHYRn2RYoyGPm1TURYsi+PlQ9Cz0zYPbazrKSXwFI1wU+pkensD/owF0CWV1OSAeoS riuFBrfKJycu79CFLhdXZW40BK7QC2FDQoTBqynpGTrHIid+ZA7HKX7q8VLwzipshWs3NwYW/ Lxo0qYa9mRWCJ4lOHwnmck6NF3dD37id1Z2WDoT9eu7OFywC7cw1Gj4aA9EziAE91cnqyqiLU 8GmBtH1yqEXNSYfhWZwpd/9v8kFcrtRPVlrG55xJP6uECE7iE39HqiKw80zW1VhPEllwcBjxs TEXadLjJeY7eT7892hynK5BijhDXv3anoB9wXufmAsN/KzonU/gN2fZCeKpJw8rVuZJo5N7xO U3mG+Q98yiVemPc8V6QnlRIiI9Npm+AcvQSjCzOORUmZ5BJTMvldkQuOVfymvzKEg0JIr5TXg 9QgarFlZ/SxkIl0SU5emwojNJ2NWr+M/YwsypYs3XzvyODYyEaTjL7a7APv1uTF0kQEofWmKO gfxmHe9wDl4ATxUrHBXBvSFq+ZcXIGk6LxGYcyAXBx+WUinTG1d6VwsJQiX1mskKa2VMwyeN3 AoOLsxHPcRytdHLp3ZuB/+I+J9/02vE+t5YNdNs1BSI5Pw2lKhtT5IDaRuVPUsr44MvZFvfHg m/ARLck4UP7PClYfycjyYjcQCLYSVYqTgEarmCEMtD8fNjb5q46rM8M4NepJREAfVGp2fxCT3 8XVqhdJx1nMn7LsZ Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Monday 28 September 2015 16:29:57 Leizhen wrote: > > On 2015/9/28 15:35, Arnd Bergmann wrote: > > On Monday 28 September 2015 13:34:38 Zhen Lei wrote: > >> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > >> index 07d1811..25cec57 100644 > >> --- a/arch/arm64/Kconfig > >> +++ b/arch/arm64/Kconfig > >> @@ -85,7 +85,7 @@ config ARM64 > >> select PERF_USE_VMALLOC > >> select POWER_RESET > >> select POWER_SUPPLY > >> - select RTC_LIB > >> + select RTC_LIB if !EFI > >> select SPARSE_IRQ > >> select SYSCTL_EXCEPTION_TRACE > >> select HAVE_CONTEXT_TRACKING > > > > Sorry, we can't do that: enabling EFI has to be done in a way that it only > > adds features but not disables them. > > I run "make ARCH=arm64 menuconfig" and found that RTC_CLASS is selected by default. Actually, RTC_LIB only > controls whether to display some configs when run "make menuconfig". I list all informations below: > > ---------make ARCH=arm64 menuconfig----- > [*] Real Time Clock ---> > > ---------drivers/rtc/Kconfig------- > menuconfig RTC_CLASS > bool "Real Time Clock" > default n > depends on !S390 && !UML > select RTC_LIB Ok, I see. So your patch here has no effect at all and can be dropped, or we can remove the 'select RTC_LIB' without the EFI dependency. > ----------------------------------- > find . -name "*Kconfig*" | xargs grep RTC_LIB > ./drivers/rtc/Kconfig:config RTC_LIB > ./drivers/rtc/Kconfig: select RTC_LIB > ./drivers/char/Kconfig:if RTC_LIB=n > ./drivers/char/Kconfig:endif # RTC_LIB > ./arch/x86/Kconfig: select RTC_LIB > ./arch/arm/Kconfig: select RTC_LIB > ./arch/arm64/Kconfig: select RTC_LIB if !EFI > ./arch/sh/Kconfig: select RTC_LIB > ./arch/mips/Kconfig: select RTC_LIB if !MACH_LOONGSON64 > > --------------drivers/char/Kconfig-------------- > if RTC_LIB=n > > config RTC > tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" > > ....... > > endif # RTC_LIB > > > > > > Your patch breaks RTC on all non-EFI platforms as soon as CONFIG_EFI > > is selected by the user. > > No, on non-EFI platforms, they can still use RTC as before. As I mentioned above, > RTC_LIB only controls whether to display some configs when run "make menuconfig". > On ARM64, (in this patch) I only allowed EFI_RTC can be showed when RTC_LIB was > not selected. > but that is the wrong driver that uses the legacy API, we cannot have that on ARM because it conflicts with the normal RTC_CLASS drivers. > --------------drivers/char/Kconfig-------------- > if RTC_LIB=n > > config RTC > tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)" > > ....... > > config EFI_RTC > bool "EFI Real Time Clock Services" > depends on IA64 || ARM64 > > ....... > > endif # RTC_LIB The driver you want is RTC_DRV_EFI, not EFI_RTC. Arnd