All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Sealey <matt-sEEEE4iEDtaXzmuOJsdVMQ@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Lior Amsalem <alior-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
	Ike Pan <ike.pan-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	John Stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
	David Marlin <dmarlin-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Yehuda Yitschak <yehuday-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Jani Monoses
	<jani.monoses-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Tawfik Bayouk <tawfik-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Dan Frazier
	<dann.frazier-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	Eran Ben-Avi <benavi-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Leif Lindholm <leif.lindholm-5wv7dgnIgG8@public.gmane.org>,
	Sebastian Hesselbarth
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Nadav Haklai <nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
	Jon Masters <jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	Linux ARM Kernel ML
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Chris Van Hoof <vanhoof-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TZUIDd8j+nm9g@public.gmane.org>
Subject: Re: [PATCH 3/6] arm: kconfig: don't select TWD with local timer for Armada 370/XP
Date: Mon, 21 Jan 2013 13:29:37 -0600	[thread overview]
Message-ID: <CAKGA1b=9WQNwHOz=k13XVc=MyZT1UrcaYj8muF2A5B4eJA5+MA@mail.gmail.com> (raw)
In-Reply-To: <201301211831.45947.arnd-r2nGTMty4D4@public.gmane.org>

On Mon, Jan 21, 2013 at 12:31 PM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> On Monday 21 January 2013, Gregory CLEMENT wrote:
>> @@ -1624,7 +1624,7 @@ config LOCAL_TIMERS
>>         bool "Use local timer interrupts"
>>         depends on SMP
>>         default y
>> -       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
>> +       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !ARMADA_370_XP_TIMER)
>>
>
> Maybe it can be written as
>
> config LOCAL_TIMERS
>         bool "Use local timer interrupts"
>         depends on SMP
>         default y
>
> config HAVE_ARM_TWD
>         depends on LOCAL_TIMERS
>         default ARCH_MULTIPLATFORM || (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
>         default y
>
> This will still be slightly wrong (generating extra code) on a multiplatform
> kernel that has no platform other than MSM or EXYNOS, but the other alternative
> would be that each platform with TWD support has to select HAVE_ARM_TWD itself.

Why would having each platform with TWD support select HAVE_ARM_TWD be
a problem?

If we look at it logically, this is the most efficient solution in
terms of brevity of the (already huge) Kconfig.

On multiplatform kernels where at least one arch has TWD support, it
will be included, and where not, it will not.

It doesn't seem logical for a feature descriptor (HAVE_ARM_TWD) to
rely on greater knowledge of what platforms may or may not support it.
If we had to include every platform in that list it would be unwieldy.

Which leads me to this; I wonder if there should be a policy document
that basically describes what HAVE_* really is meant for, and how
dependencies on ARCH_* (or MACH_* in the world of multiplatform)
should be handled for architectural features? That way there's a
little more fixed definition of how Kconfigs should be written to
effectively support multiplatform kernels and allow people to identify
misuses and get rid of them for multiplatform, if only just to get the
information out of the heads of maintainers and into a file somewhere
that we can reference... maybe it exists already but I am missing it?

--
Matt Sealey <matt-sEEEE4iEDtaXzmuOJsdVMQ@public.gmane.org>
Product Development Analyst, Genesi USA, Inc.

WARNING: multiple messages have this Message-ID (diff)
From: matt@genesi-usa.com (Matt Sealey)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/6] arm: kconfig: don't select TWD with local timer for Armada 370/XP
Date: Mon, 21 Jan 2013 13:29:37 -0600	[thread overview]
Message-ID: <CAKGA1b=9WQNwHOz=k13XVc=MyZT1UrcaYj8muF2A5B4eJA5+MA@mail.gmail.com> (raw)
In-Reply-To: <201301211831.45947.arnd@arndb.de>

On Mon, Jan 21, 2013 at 12:31 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Monday 21 January 2013, Gregory CLEMENT wrote:
>> @@ -1624,7 +1624,7 @@ config LOCAL_TIMERS
>>         bool "Use local timer interrupts"
>>         depends on SMP
>>         default y
>> -       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
>> +       select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !ARMADA_370_XP_TIMER)
>>
>
> Maybe it can be written as
>
> config LOCAL_TIMERS
>         bool "Use local timer interrupts"
>         depends on SMP
>         default y
>
> config HAVE_ARM_TWD
>         depends on LOCAL_TIMERS
>         default ARCH_MULTIPLATFORM || (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT)
>         default y
>
> This will still be slightly wrong (generating extra code) on a multiplatform
> kernel that has no platform other than MSM or EXYNOS, but the other alternative
> would be that each platform with TWD support has to select HAVE_ARM_TWD itself.

Why would having each platform with TWD support select HAVE_ARM_TWD be
a problem?

If we look at it logically, this is the most efficient solution in
terms of brevity of the (already huge) Kconfig.

On multiplatform kernels where at least one arch has TWD support, it
will be included, and where not, it will not.

It doesn't seem logical for a feature descriptor (HAVE_ARM_TWD) to
rely on greater knowledge of what platforms may or may not support it.
If we had to include every platform in that list it would be unwieldy.

Which leads me to this; I wonder if there should be a policy document
that basically describes what HAVE_* really is meant for, and how
dependencies on ARCH_* (or MACH_* in the world of multiplatform)
should be handled for architectural features? That way there's a
little more fixed definition of how Kconfigs should be written to
effectively support multiplatform kernels and allow people to identify
misuses and get rid of them for multiplatform, if only just to get the
information out of the heads of maintainers and into a file somewhere
that we can reference... maybe it exists already but I am missing it?

--
Matt Sealey <matt@genesi-usa.com>
Product Development Analyst, Genesi USA, Inc.

  parent reply	other threads:[~2013-01-21 19:29 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-21 17:53 [PATCH 0/6] arm: mvebu: add support for local timer for Armada 370/XP Gregory CLEMENT
2013-01-21 17:53 ` Gregory CLEMENT
2013-01-21 17:53 ` [PATCH 1/6] arm: mvebu: Add support for local interrupt Gregory CLEMENT
2013-01-21 17:53   ` Gregory CLEMENT
2013-01-21 17:53   ` Gregory CLEMENT
     [not found]   ` <1358790842-2986-2-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-21 18:17     ` Thomas Petazzoni
2013-01-21 18:17       ` Thomas Petazzoni
2013-01-21 22:07       ` Gregory CLEMENT
2013-01-21 22:07         ` Gregory CLEMENT
     [not found]         ` <50FDBC0E.1030706-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-21 23:26           ` Ezequiel Garcia
2013-01-21 23:26             ` Ezequiel Garcia
2013-01-22  9:09             ` Gregory CLEMENT
2013-01-22  9:09               ` Gregory CLEMENT
     [not found]               ` <50FE572F.4090402-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-22 16:55                 ` Thomas Petazzoni
2013-01-22 16:55                   ` Thomas Petazzoni
2013-01-21 17:53 ` [PATCH 2/6] clocksource: time-armada-370-xp: add local timer support Gregory CLEMENT
2013-01-21 17:53   ` Gregory CLEMENT
2013-01-21 17:53   ` Gregory CLEMENT
     [not found]   ` <1358790842-2986-3-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-21 17:59     ` Russell King - ARM Linux
2013-01-21 17:59       ` Russell King - ARM Linux
     [not found]       ` <20130121175927.GV23505-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-01-21 18:04         ` Gregory CLEMENT
2013-01-21 18:04           ` Gregory CLEMENT
2013-01-23 13:11     ` Gregory CLEMENT
2013-01-23 13:11       ` Gregory CLEMENT
2013-01-21 17:53 ` [PATCH 3/6] arm: kconfig: don't select TWD with local timer for Armada 370/XP Gregory CLEMENT
2013-01-21 17:53   ` Gregory CLEMENT
2013-01-21 18:31   ` Arnd Bergmann
2013-01-21 18:31     ` Arnd Bergmann
     [not found]     ` <201301211831.45947.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-21 19:29       ` Matt Sealey [this message]
2013-01-21 19:29         ` Matt Sealey
2013-01-21 20:44         ` Arnd Bergmann
2013-01-21 20:44           ` Arnd Bergmann
     [not found]           ` <201301212044.41865.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-22 17:12             ` Russell King - ARM Linux
2013-01-22 17:12               ` Russell King - ARM Linux
2013-01-22 20:46           ` Rob Herring
2013-01-22 20:46             ` Rob Herring
2013-01-22 20:46             ` Rob Herring
2013-01-22 21:19             ` Arnd Bergmann
2013-01-22 21:19               ` Arnd Bergmann
2013-01-22 21:19               ` Arnd Bergmann
2013-01-21 22:37       ` Gregory CLEMENT
2013-01-21 22:37         ` Gregory CLEMENT
2013-01-22 15:57         ` Arnd Bergmann
2013-01-22 15:57           ` Arnd Bergmann
     [not found]           ` <201301221557.02976.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-22 16:34             ` Gregory CLEMENT
2013-01-22 16:34               ` Gregory CLEMENT
2013-01-22 17:42               ` [PATCH] arm: kconfig: always select TWD with local timer for multiplatform Gregory CLEMENT
2013-01-22 17:18             ` [PATCH 3/6] arm: kconfig: don't select TWD with local timer for Armada 370/XP Russell King - ARM Linux
2013-01-22 17:18               ` Russell King - ARM Linux
     [not found]               ` <20130122171817.GM23505-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-01-22 17:42                 ` Arnd Bergmann
2013-01-22 17:42                   ` Arnd Bergmann
2013-01-21 17:54 ` [PATCH 4/6] arm: mvebu: update defconfig with local timer support Gregory CLEMENT
2013-01-21 17:54   ` Gregory CLEMENT
2013-01-21 17:54   ` Gregory CLEMENT
2013-01-21 17:54 ` [PATCH 5/6] arm: mvebu: update DT to support local timers Gregory CLEMENT
2013-01-21 17:54   ` Gregory CLEMENT
2013-01-21 17:54 ` [PATCH 6/6] clocksource: update and move armada-370-xp-timer documentation to timer directory Gregory CLEMENT
2013-01-21 17:54   ` Gregory CLEMENT
     [not found]   ` <1358790842-2986-7-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-21 18:22     ` Arnd Bergmann
2013-01-21 18:22       ` Arnd Bergmann
     [not found]       ` <201301211822.54129.arnd-r2nGTMty4D4@public.gmane.org>
2013-01-21 22:05         ` Gregory CLEMENT
2013-01-21 22:05           ` Gregory CLEMENT
     [not found]           ` <50FDBBB9.8090504-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2013-01-21 22:26             ` Arnd Bergmann
2013-01-21 22:26               ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKGA1b=9WQNwHOz=k13XVc=MyZT1UrcaYj8muF2A5B4eJA5+MA@mail.gmail.com' \
    --to=matt-seeee4iedtaxzmuojsdvmq@public.gmane.org \
    --cc=alior-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=andrew-g2DYL2Zd6BY@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=benavi-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=dann.frazier-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=dmarlin-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=ike.pan-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=jani.monoses-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
    --cc=jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=leif.lindholm-5wv7dgnIgG8@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TZUIDd8j+nm9g@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=nadavh-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=tawfik-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=vanhoof-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=yehuday-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.