linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 00/13] Per sub-architecture SMP operations
@ 2012-09-12 14:58 Arnd Bergmann
  2012-09-12 14:58 ` [PATCH v9 01/13] ARM: SoC: add per-platform " Arnd Bergmann
                   ` (14 more replies)
  0 siblings, 15 replies; 31+ messages in thread
From: Arnd Bergmann @ 2012-09-12 14:58 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-arm-kernel, linux-kernel, Arnd Bergmann, Colin Cross,
	David Brown, Kukjin Kim, Linus Walleij, Magnus Damm,
	Nicolas Pitre, Paul Mundt, Rob Herring, Shawn Guo, Shiraz Hashim,
	Viresh Kumar, spear-devel

As I promised at the ARM mini summit, I've updated Marc's series
for smp operations according to my complaints. Unfortunately,
I could not find version 7 of the patches when I started this,
so I based my work on version 6 and had to redo the same
changes.

The patches are also available on

git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git testing/smp_ops

	Arnd

Changelog:
>From v8:
- removed the string concatenating macros
- consolidated structures into a single smp_operations
- removed trivial instances of platform_cpu_kill and
  platform_cpu_disable, now handled by the default case
- split shmobile_cpu_kill into three separate functions,
  per soc

>From v7:
- Dropped soc_desc, and focussed only on smp_ops
- Fixed CONFIG_HOTPLUG_CPU typo (courtesy of Shawn Guo)
- Marked {realview,vexpress}_cpu_die() as __cpuinit
- Added support for spear13xx
- Added pen_release consolidation (based on Arnd Bergman's patch)

>From v6:
- Dropped the dummy_* stuff
- Support for a number of new platforms
- Added the soc_hotplug_ops() macro to hide some #ifdef-ery away
- More exynos[ 45] churn
- Fixed section mismatches

>From v5:
- Added support for highbank and imx6q
- Added support for new shmobile SMP platform
- Add dummy_cpu_kill, dummy_cpu_disable and cpu_lowpower

>From v4:
- Added an SMP registration interface and moved all SMP structures to
  smp.c. The end result is much cleaner.
- Cleaned up patch 2 (leftovers from a previous rework)
- NVIDIA/EXYNOS4 naming cleanup.

>From v3:
- Converted all SMP platforms
- Added some cleanup as a last patch

>From v2:
- Split the SMP ops between init and runtime operations in order to
  have separate lifetimes for the different structures. This is not
  perfect though, as it still allows an __init function to make it to
  a runtime structure (all smp_*_ops structures are __initdata in
  order to be able to discard them). Thanks to Nico for pointing this
  out.
- Use macros to hide the #ifdef-ery in the SoC descriptor init,
  courtesy of Arnd.

>From v1:
- Move the SMP ops out of the descriptor, which makes the structure
  init a bit cleaner (thanks to Arnd).
- Mark all structures __initdata and keep a copy of the used ones.
- Keep a global pointer for the SMP ops.

Arnd Bergmann (1):
  ARM: SoC: convert spear13xx to SoC descriptor

Marc Zyngier (12):
  ARM: SoC: add per-platform SMP operations
  ARM: SoC: convert VExpress/RealView to SoC descriptor
  ARM: SoC: convert OMAP4 to SoC descriptor
  ARM: SoC: convert Tegra to SoC descriptor
  ARM: SoC: convert Exynos4 to SoC descriptor
  ARM: SoC: convert MSM SMP to SoC descriptor
  ARM: SoC: convert ux500 to SoC descriptor
  ARM: SoC: convert shmobile SMP to SoC descriptor
  ARM: SoC: convert highbank to SoC descriptor
  ARM: SoC: convert imx6q to SoC descriptor
  ARM: smp: Make SoC descriptor mandatory for SMP platforms
  ARM: consolidate pen_release instead of having per platform
    definitions

 arch/arm/include/asm/mach/arch.h               |    7 ++
 arch/arm/include/asm/smp.h                     |   48 ++++++++----
 arch/arm/kernel/setup.c                        |    5 +-
 arch/arm/kernel/smp.c                          |   72 +++++++++++++++++-
 arch/arm/mach-exynos/common.h                  |    5 ++
 arch/arm/mach-exynos/hotplug.c                 |   18 +----
 arch/arm/mach-exynos/mach-armlex4210.c         |    1 +
 arch/arm/mach-exynos/mach-exynos5-dt.c         |    1 +
 arch/arm/mach-exynos/mach-nuri.c               |    1 +
 arch/arm/mach-exynos/mach-origen.c             |    1 +
 arch/arm/mach-exynos/mach-smdk4x12.c           |    2 +
 arch/arm/mach-exynos/mach-smdkv310.c           |    2 +
 arch/arm/mach-exynos/mach-universal_c210.c     |    1 +
 arch/arm/mach-exynos/platsmp.c                 |   27 ++++---
 arch/arm/mach-highbank/core.h                  |    3 +
 arch/arm/mach-highbank/highbank.c              |    1 +
 arch/arm/mach-highbank/hotplug.c               |   16 +---
 arch/arm/mach-highbank/platsmp.c               |   18 ++++-
 arch/arm/mach-imx/hotplug.c                    |   16 +---
 arch/arm/mach-imx/mach-imx6q.c                 |    1 +
 arch/arm/mach-imx/platsmp.c                    |   18 ++++-
 arch/arm/mach-msm/board-msm8960.c              |    3 +
 arch/arm/mach-msm/board-msm8x60.c              |    7 ++
 arch/arm/mach-msm/core.h                       |    2 +
 arch/arm/mach-msm/hotplug.c                    |   18 +----
 arch/arm/mach-msm/platsmp.c                    |   24 +++---
 arch/arm/mach-omap2/board-4430sdp.c            |    1 +
 arch/arm/mach-omap2/board-generic.c            |    2 +
 arch/arm/mach-omap2/board-omap4panda.c         |    1 +
 arch/arm/mach-omap2/common.h                   |    5 ++
 arch/arm/mach-omap2/omap-hotplug.c             |   16 +---
 arch/arm/mach-omap2/omap-smp.c                 |   18 ++++-
 arch/arm/mach-realview/core.h                  |    3 +
 arch/arm/mach-realview/hotplug.c               |   18 +----
 arch/arm/mach-realview/platsmp.c               |   18 ++++-
 arch/arm/mach-realview/realview_pb11mp.c       |    1 +
 arch/arm/mach-realview/realview_pbx.c          |    1 +
 arch/arm/mach-shmobile/board-ag5evm.c          |    1 +
 arch/arm/mach-shmobile/board-kota2.c           |    1 +
 arch/arm/mach-shmobile/board-kzm9d.c           |    1 +
 arch/arm/mach-shmobile/board-kzm9g.c           |    1 +
 arch/arm/mach-shmobile/board-marzen.c          |    1 +
 arch/arm/mach-shmobile/hotplug.c               |   31 +++-----
 arch/arm/mach-shmobile/include/mach/common.h   |   24 +++---
 arch/arm/mach-shmobile/include/mach/emev2.h    |    7 +-
 arch/arm/mach-shmobile/include/mach/r8a7779.h  |    2 +
 arch/arm/mach-shmobile/include/mach/sh73a0.h   |    2 +
 arch/arm/mach-shmobile/platsmp.c               |   96 +-----------------------
 arch/arm/mach-shmobile/setup-emev2.c           |    1 +
 arch/arm/mach-shmobile/smp-emev2.c             |   47 ++++++++++--
 arch/arm/mach-shmobile/smp-r8a7779.c           |   48 ++++++++++--
 arch/arm/mach-shmobile/smp-sh73a0.c            |   48 +++++++++++-
 arch/arm/mach-spear13xx/hotplug.c              |   22 +-----
 arch/arm/mach-spear13xx/include/mach/generic.h |    3 +
 arch/arm/mach-spear13xx/platsmp.c              |   25 +++---
 arch/arm/mach-spear13xx/spear1310.c            |    1 +
 arch/arm/mach-spear13xx/spear1340.c            |    1 +
 arch/arm/mach-tegra/board-dt-tegra20.c         |    2 +
 arch/arm/mach-tegra/board-dt-tegra30.c         |    2 +
 arch/arm/mach-tegra/board-harmony.c            |    2 +
 arch/arm/mach-tegra/board-paz00.c              |    2 +
 arch/arm/mach-tegra/board-trimslice.c          |    2 +
 arch/arm/mach-tegra/common.c                   |    1 +
 arch/arm/mach-tegra/common.h                   |    3 +
 arch/arm/mach-tegra/hotplug.c                  |   16 +---
 arch/arm/mach-tegra/platsmp.c                  |   20 ++++-
 arch/arm/mach-ux500/board-mop500.c             |    4 +
 arch/arm/mach-ux500/hotplug.c                  |   36 ++-------
 arch/arm/mach-ux500/include/mach/setup.h       |    3 +
 arch/arm/mach-ux500/platsmp.c                  |   24 +++---
 arch/arm/mach-vexpress/core.h                  |    4 +
 arch/arm/mach-vexpress/hotplug.c               |   18 +----
 arch/arm/mach-vexpress/platsmp.c               |   18 ++++-
 arch/arm/mach-vexpress/v2m.c                   |    4 +
 arch/arm/plat-mxc/include/mach/common.h        |    4 +
 arch/arm/plat-versatile/include/plat/platsmp.h |   14 ++++
 arch/arm/plat-versatile/platsmp.c              |   10 +--
 77 files changed, 545 insertions(+), 409 deletions(-)
 create mode 100644 arch/arm/mach-msm/core.h
 create mode 100644 arch/arm/mach-tegra/common.h
 create mode 100644 arch/arm/plat-versatile/include/plat/platsmp.h

Cc: Colin Cross <ccross@android.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Nicolas Pitre <nico@fluxnic.net>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Shiraz Hashim <shiraz.hashim@st.com>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: spear-devel@list.st.com

-- 
1.7.10


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2012-09-14  7:57 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-12 14:58 [PATCH v9 00/13] Per sub-architecture SMP operations Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 01/13] ARM: SoC: add per-platform " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 02/13] ARM: SoC: convert VExpress/RealView to SoC descriptor Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 03/13] ARM: SoC: convert OMAP4 " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 04/13] ARM: SoC: convert Tegra " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 05/13] ARM: SoC: convert Exynos4 " Arnd Bergmann
2012-09-13  5:10   ` Kyungmin Park
2012-09-14  4:33   ` Kukjin Kim
2012-09-12 14:58 ` [PATCH v9 06/13] ARM: SoC: convert MSM SMP " Arnd Bergmann
2012-09-12 16:26   ` David Brown
2012-09-12 20:32     ` Stephen Boyd
2012-09-12 23:01   ` [PATCH 1/2] " David Brown
2012-09-12 23:01     ` [PATCH 2/2] ARM: msm: Move core.h contents into common.h David Brown
2012-09-13  8:47     ` [PATCH 1/2] ARM: SoC: convert MSM SMP to SoC descriptor Arnd Bergmann
2012-09-13 16:15       ` David Brown
2012-09-14  7:57         ` Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 07/13] ARM: SoC: convert ux500 " Arnd Bergmann
     [not found]   ` <CAE2-_9o5gEpEddGLvRRA=pe=vroTnBXmGmoBO1Ojos-hOJXQAQ@mail.gmail.com>
2012-09-12 16:30     ` Fwd: " Srinidhi Kasagar
2012-09-12 14:58 ` [PATCH v9 08/13] ARM: SoC: convert shmobile SMP " Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 09/13] ARM: SoC: convert highbank " Arnd Bergmann
2012-09-12 15:23   ` Rob Herring
2012-09-12 14:58 ` [PATCH v9 10/13] ARM: SoC: convert imx6q " Arnd Bergmann
2012-09-13  1:17   ` Shawn Guo
2012-09-13  8:44     ` Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 11/13] ARM: SoC: convert spear13xx " Arnd Bergmann
2012-09-13 11:18   ` viresh kumar
2012-09-12 14:58 ` [PATCH v9 12/13] ARM: smp: Make SoC descriptor mandatory for SMP platforms Arnd Bergmann
2012-09-12 14:58 ` [PATCH v9 13/13] ARM: consolidate pen_release instead of having per platform definitions Arnd Bergmann
2012-09-12 19:54   ` Nicolas Pitre
2012-09-12 20:42 ` [PATCH v9 00/13] Per sub-architecture SMP operations Nicolas Pitre
2012-09-13 11:11 ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).