Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753405AbaAXPpU (ORCPT ); Fri, 24 Jan 2014 10:45:20 -0500 Received: from mail-pa0-f53.google.com ([209.85.220.53]:44465 "EHLO mail-pa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753062AbaAXPpS (ORCPT ); Fri, 24 Jan 2014 10:45:18 -0500 Message-ID: <52E28A7F.2010803@linaro.org> Date: Fri, 24 Jan 2014 23:45:03 +0800 From: Hanjun Guo User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 MIME-Version: 1.0 To: Mark Rutland CC: Linus Walleij , "Rafael J. Wysocki" , Catalin Marinas , Will Deacon , Russell King - ARM Linux , ACPI Devel Maling List , "linux-arm-kernel@lists.infradead.org" , "grant.likely@linaro.org" , Matthew Garrett , Olof Johansson , Bjorn Helgaas , Rob Herring , Arnd Bergmann , Patch Tracking , "linux-kernel@vger.kernel.org" , linaro-kernel , "linaro-acpi@lists.linaro.org" , Charles Garcia-Tobin , Amit Daniel Kachhap Subject: Re: [PATCH 18/20] clocksource / acpi: Add macro CLOCKSOURCE_ACPI_DECLARE References: <1389961514-13562-1-git-send-email-hanjun.guo@linaro.org> <1389961514-13562-19-git-send-email-hanjun.guo@linaro.org> <52E1AFE8.40601@linaro.org> <20140124123259.GI814@e106331-lin.cambridge.arm.com> In-Reply-To: <20140124123259.GI814@e106331-lin.cambridge.arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Mark, On 2014年01月24日 20:32, Mark Rutland wrote: > On Fri, Jan 24, 2014 at 12:12:24AM +0000, Hanjun Guo wrote: >> Hi Linus, >> >> Sorry for the late reply. >> >> On 2014年01月22日 16:26, Linus Walleij wrote: >>> On Fri, Jan 17, 2014 at 1:25 PM, Hanjun Guo wrote: >>> >>>> From: Amit Daniel Kachhap >>>> >>>> This macro does the same job as CLOCKSOURCE_OF_DECLARE. The device >>>> name from the ACPI timer table is matched with all the registered >>>> timer controllers and matching initialisation routine is invoked. >>>> >>>> Signed-off-by: Amit Daniel Kachhap >>>> Signed-off-by: Hanjun Guo >>> Actually I have a fat patch renaming CLOCKSOURCE_OF_DECLARE() >>> to TIMER_OF_DECLARE() and I think this macro, if needed, should >>> be named TIMER_ACPI_DECLARE(). >>> >>> The reason is that "clocksource" is a Linux-internal name and this >>> macro pertains to the hardware name in respective system >>> description type. >> That make sense to me too, I will update in next version if >> this patch is still needed. >> >>>> +#ifdef CONFIG_ACPI >>>> +#define CLOCKSOURCE_ACPI_DECLARE(name, compat, fn) \ >>>> + static const struct acpi_device_id __clksrc_acpi_table_##name \ >>>> + __used __section(__clksrc_acpi_table) \ >>>> + = { .id = compat, \ >>>> + .driver_data = (kernel_ulong_t)fn } >>>> +#else >>>> +#define CLOCKSOURCE_ACPI_DECLARE(name, compat, fn) >>>> +#endif >>> This hammers down the world to compile one binary for ACPI >>> and one binary for device tree. Maybe that's fine, I don't know. >> This is a problem we can have some discussion on it. >> I prefer mutually exclusive ACPI and DT support. > A lot of work has been put into making a single kernel boot everywhere. > It's forced duplicated code to be factored out, and it's made the kernel > more flexible. While it has been painful, it's forced a far higher > quality standard across the board(s). > > Having a separate ACPI-capable or DT-capable kernels goes completely > against that, and it's completely broken: > > * It doubles the testing effort required for a particular kernel. I can > guarantee that we will miss bugs (even amazingly bad build bugs) > because no-one will be able to test a full suite of kernels. > > * It introduces the possibility of completely pointles arbitrary > differences between the two. How long until we see the first bug-fix > that only works in one configuration? > > * It creates additional work for distributions, which need to build more > kernels test them, distribute them, and document which platforms which > kernels are supported on. This creates more pain for end-users too. > > Eventually we _will_ get fed up with all of those, and we'll have to do > painful invasive work to make the kernel decide at runtime. > > Having separate kernels is a lazy shortcut. It's painful for everyone, > leads to a greater maintenance overhead, it's not what we want now and > not what we want in future. > > No thanks. > > Either the kernel figures out whether or not to deal with ACPI at > runtime, or it doesn't deal with it at all. I fully agree with you for the single kernel image, I didn't notice this before, sorry for my noise about the exclusive ACPI and DT support. Thank you very much to let things much more clearer :) Hanjun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/