[linux-oxnas] Re: [PATCH 2/7] clocksource: Rename CLOCKSOURCE_OF_DECLARE |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/linux-oxnas Archives
]
- To: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
- Subject: [linux-oxnas] Re: [PATCH 2/7] clocksource: Rename CLOCKSOURCE_OF_DECLARE
- From: Arnd Bergmann <arnd@xxxxxxxx>
- Date: Mon, 29 May 2017 11:57:25 +0200
- Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Linux ARM <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxx>, Michal Simek <monstr@xxxxxxxxx>, John Crispin <john@xxxxxxxxxxx>, Ralf Baechle <ralf@xxxxxxxxxxxxxx>, Ley Foon Tan <lftan@xxxxxxxxxx>, Vineet Gupta <vgupta@xxxxxxxxxxxx>, Mark Rutland <mark.rutland@xxxxxxx>, Marc Zyngier <marc.zyngier@xxxxxxx>, Patrice Chotard <patrice.chotard@xxxxxx>, Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>, Alexandre Torgue <alexandre.torgue@xxxxxx>, Florian Fainelli <f.fainelli@xxxxxxxxx>, Ray Jui <rjui@xxxxxxxxxxxx>, Scott Branden <sbranden@xxxxxxxxxxxx>, "maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." <bcm-kernel-feedback-list@xxxxxxxxxxxx>, Stephen Warren <swarren@xxxxxxxxxxxxx>, Lee Jones <lee@xxxxxxxxxx>, Eric Anholt <eric@xxxxxxxxxx>, Sören Brinkmann <soren.brinkmann@xxxxxxxxxx>, Linus Walleij <linus.walleij@xxxxxxxxxx>, Alexander Shiyan <shc_work@xxxxxxx>, Kukjin Kim <kgene@xxxxxxxxxx>, Krzysztof Kozlowski <krzk@xxxxxxxxxx>, Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx>, Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>, Carlo Caione <carlo@xxxxxxxxxx>, Kevin Hilman <khilman@xxxxxxxxxxxx>, Liviu Dudau <liviu.dudau@xxxxxxx>, Sudeep Holla <sudeep.holla@xxxxxxx>, Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>, Matthias Brugger <matthias.bgg@xxxxxxxxx>, Heiko Stuebner <heiko@xxxxxxxxx>, Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>, Chen-Yu Tsai <wens@xxxxxxxx>, Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx>, Thierry Reding <thierry.reding@xxxxxxxxx>, Alexandre Courbot <gnurou@xxxxxxxxx>, Uwe Kleine-König <kernel@xxxxxxxxxxxxxx>, Joachim Eastwood <manabian@xxxxxxxxx>, Vladimir Zapolskiy <vz@xxxxxxxxx>, Sylvain Lemieux <slemieux.tyco@xxxxxxxxx>, Barry Song <baohua@xxxxxxxxxx>, Baruch Siach <baruch@xxxxxxxxxx>, Santosh Shilimkar <ssantosh@xxxxxxxxxx>, Neil Armstrong <narmstrong@xxxxxxxxxxxx>, Tony Prisk <linux@xxxxxxxxxxxxxxx>, John Stultz <john.stultz@xxxxxxxxxx>, Stephen Boyd <sboyd@xxxxxxxxxxxxxx>, Anna-Maria Gleixner <anna-maria@xxxxxxxxxxxxx>, Richard Cochran <rcochran@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Noam Camus <noamca@xxxxxxxxxxxx>, "open list:RALINK MIPS ARCHITECTURE" <linux-mips@xxxxxxxxxxxxxx>, "moderated list:NIOS2 ARCHITECTURE" <nios2-dev@xxxxxxxxxxxxxxxxxxxxxx>, "open list:SYNOPSYS ARC ARCHITECTURE" <linux-snps-arc@xxxxxxxxxxxxxxxxxxx>, "open list:ARM/STI ARCHITECTURE" <kernel@xxxxxxxxxxx>, "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" <linux-rpi-kernel@xxxxxxxxxxxxxxxxxxx>, "moderated list:ARM/SAMSUNG EXYNOS ARM ARCHITECTURES" <linux-samsung-soc@xxxxxxxxxxxxxxx>, "moderated list:H8/300 ARCHITECTURE" <uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx>, "open list:ARM/Amlogic Meson SoC support" <linux-amlogic@xxxxxxxxxxxxxxxxxxx>, "moderated list:ARM/Mediatek SoC support" <linux-mediatek@xxxxxxxxxxxxxxxxxxx>, "open list:ARM/Rockchip SoC support" <linux-rockchip@xxxxxxxxxxxxxxxxxxx>, "open list:TEGRA ARCHITECTURE SUPPORT" <linux-tegra@xxxxxxxxxxxxxxx>, "moderated list:ARM/OXNAS platform support" <linux-oxnas@xxxxxxxxxxxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=Myq9VL35BzkDgs9QDZ1D0nHai8PhbjB4jHqw9q6ozzI=; b=QylriQ1pnnzKfhhB51LBvHuWFZlPcxKe/F97D7kbOepTBQm6w4RpR015VApmheX7zZ Kkv7nABFEARpmtvfL7yHenzI/pCcsCQI+KXHMIMinkwt80EK4NOcYssDfQMM5a+E4fJM 9HcUq4fKEU+vyN7umTOWpjQKIA0N/yUv6K4wxxrTW8AvOJp1TmcNWZZNrLvG1vwfN9v9 1bl+jSLI9KPfiGExwcxDfmoPQo75dFaesEnhuKkGehwxDW6EcMbt5CfFGvzD3uEdQTn9 tu7OeGDIXg9USr6RemL6i2mbB/4/pKXWUkyE/GNMkTmDGbN93eGoHdzJlY0rV6aOedGr X7aw==
On Mon, May 29, 2017 at 10:48 AM, Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
> On Mon, May 29, 2017 at 10:41:52AM +0200, Arnd Bergmann wrote:
>> On Sat, May 27, 2017 at 11:58 AM, Daniel Lezcano
>> <daniel.lezcano@xxxxxxxxxx> wrote:
>> > The CLOCKSOUCE_OF_DECLARE macro is used widely for the timers to declare the
>> > clocksource at early stage. However, this macro is also used to initialize
>> > the clockevent if any, or the clockevent only.
>> >
>> > It was originally suggested to declare another macro to initialize a
>> > clockevent, so in order to separate the two entities even they belong to the
>> > same IP. This was not accepted because of the impact on the DT where splitting
>> > a clocksource/clockevent definition does not make sense as it is a Linux
>> > concept not a hardware description.
>> >
>> > On the other side, the clocksource has not interrupt declared while the
>> > clockevent has, so it is easy from the driver to know if the description is
>> > for a clockevent or a clocksource, IOW it could be implemented at the driver
>> > level.
>> >
>> > So instead of dealing with a named clocksource macro, let's use a more generic
>> > one: TIMER_OF_DECLARE.
>> >
>> > The patch has not functional changes.
>> >
>> > Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
>>
>> Could you either leave the old name as an alias for one release, or introduce
>> the new name as an alias now for 4.13?
>>
>> I think that that would make it easier to merge new drivers. Otherwise this
>> looks good to me,
>
>
> New drivers should go through my tree, so I can catch them with the old macro
> name and do the change.
Sure, they should, and it's quite likely that you won't even need the fallback,
I've just seen too many cases where a similar assumption turned out wrong,
that I'd just pick the safer option just in case whenever I do an API change.
Things that could go wrong include:
- A platform maintainer wants to add a new platform and has a for-next
branch that gets merged into linux-next, with parts of it going through
different maintainers, and now they have to choose between a branch
that doesn't build without the timer branch, or one that break for-next
unless Stephen applies a fixup
- Some architecture maintainer didn't get the memo and adds an instance of
CLOCKSOUCE_OF_DECLARE in architecture specific code without asking
having the patch reviewed first
- A platform has a branch with complex cross-tree dependencies and
it need to get merged in an unconventional way.
- You make a mistake and accidentally merge one driver for an unusual
architecture that escapes your test matrix.
While those all are unlikely to happen in a particular merge window, they do
happen occasionally and tend to cause a lot of pain.
Arnd