linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/15] Per SoC descriptor
@ 2012-02-08  0:30 Marc Zyngier
  2012-02-08  0:30 ` [PATCH v6 01/15] ARM: SoC: Introduce per " Marc Zyngier
                   ` (15 more replies)
  0 siblings, 16 replies; 37+ messages in thread
From: Marc Zyngier @ 2012-02-08  0:30 UTC (permalink / raw)
  To: linux-arm-kernel

This patch series introduces a per-soc descriptor which should, in the
end, contain most of the SoC specific operations.

This first patch series introduces the arm_soc_desc structure, adds
per-soc SMP and CPU hotplug operations, and converts all SMP platform
to this new scheme.

The last three patches consolidate some of the most commonly duplicated
hotplug code and move it to a common location.

Patches against v3.3-rc2. Tested on VExpress (A5 and A15), RealView EB-11MP,
OMAP4 (Panda) and Tegra2 (Harmony).

Changelog:

>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 (left overse 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.

Marc Zyngier (15):
  ARM: SoC: Introduce per SoC descriptor
  ARM: SoC: Add per SoC SMP and CPU hotplug 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: hotplug: Introduce dummy_cpu_kill
  ARM: hotplug: Introduce dummy_cpu_disable
  ARM: hotplug: add cpu_lowpower as an alternative to cpu_die

 arch/arm/include/asm/mach/arch.h               |    2 +
 arch/arm/include/asm/smp.h                     |   15 ----
 arch/arm/include/asm/smp_plat.h                |    4 +
 arch/arm/include/asm/soc.h                     |   65 ++++++++++++++++
 arch/arm/kernel/setup.c                        |    8 ++
 arch/arm/kernel/smp.c                          |   99 +++++++++++++++++++++++-
 arch/arm/mach-exynos/common.c                  |    6 ++
 arch/arm/mach-exynos/common.h                  |    8 ++
 arch/arm/mach-exynos/hotplug.c                 |   43 +---------
 arch/arm/mach-exynos/mach-armlex4210.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                 |   25 +++++-
 arch/arm/mach-highbank/core.h                  |    6 ++
 arch/arm/mach-highbank/highbank.c              |    7 ++
 arch/arm/mach-highbank/hotplug.c               |   16 +----
 arch/arm/mach-highbank/platsmp.c               |   24 +++++-
 arch/arm/mach-imx/hotplug.c                    |   16 +----
 arch/arm/mach-imx/mach-imx6q.c                 |    8 ++
 arch/arm/mach-imx/platsmp.c                    |   25 +++++-
 arch/arm/mach-msm/Makefile                     |    2 +-
 arch/arm/mach-msm/board-msm8960.c              |    3 +
 arch/arm/mach-msm/board-msm8x60.c              |    9 ++
 arch/arm/mach-msm/core.c                       |   17 ++++
 arch/arm/mach-msm/core.h                       |    7 ++
 arch/arm/mach-msm/hotplug.c                    |   38 +--------
 arch/arm/mach-msm/platsmp.c                    |   24 +++++-
 arch/arm/mach-omap2/board-4430sdp.c            |    1 +
 arch/arm/mach-omap2/board-omap4panda.c         |    1 +
 arch/arm/mach-omap2/common.h                   |   11 +++
 arch/arm/mach-omap2/omap-hotplug.c             |   16 +----
 arch/arm/mach-omap2/omap-smp.c                 |   25 +++++-
 arch/arm/mach-omap2/omap4-common.c             |    7 ++
 arch/arm/mach-realview/core.c                  |    7 ++
 arch/arm/mach-realview/core.h                  |    7 ++
 arch/arm/mach-realview/hotplug.c               |   41 +---------
 arch/arm/mach-realview/platsmp.c               |   25 +++++-
 arch/arm/mach-realview/realview_eb.c           |    1 +
 arch/arm/mach-realview/realview_pb1176.c       |    1 +
 arch/arm/mach-realview/realview_pb11mp.c       |    1 +
 arch/arm/mach-realview/realview_pba8.c         |    1 +
 arch/arm/mach-realview/realview_pbx.c          |    1 +
 arch/arm/mach-shmobile/Makefile                |    2 +-
 arch/arm/mach-shmobile/board-ag5evm.c          |    1 +
 arch/arm/mach-shmobile/board-kota2.c           |    1 +
 arch/arm/mach-shmobile/board-marzen.c          |    1 +
 arch/arm/mach-shmobile/hotplug.c               |   13 ++-
 arch/arm/mach-shmobile/include/mach/common.h   |   14 +---
 arch/arm/mach-shmobile/include/mach/r8a7779.h  |    6 ++
 arch/arm/mach-shmobile/include/mach/sh73a0.h   |    6 ++
 arch/arm/mach-shmobile/platsmp.c               |   97 -----------------------
 arch/arm/mach-shmobile/setup-r8a7779.c         |    6 ++
 arch/arm/mach-shmobile/setup-sh73a0.c          |    6 ++
 arch/arm/mach-shmobile/smp-r8a7779.c           |   40 +++++++++-
 arch/arm/mach-shmobile/smp-sh73a0.c            |   41 +++++++++-
 arch/arm/mach-tegra/board-dt-tegra20.c         |    2 +
 arch/arm/mach-tegra/board-dt-tegra30.c         |    1 +
 arch/arm/mach-tegra/board-harmony.c            |    2 +
 arch/arm/mach-tegra/board-paz00.c              |    2 +
 arch/arm/mach-tegra/board-seaboard.c           |    4 +
 arch/arm/mach-tegra/board-trimslice.c          |    2 +
 arch/arm/mach-tegra/common.c                   |    8 ++
 arch/arm/mach-tegra/common.h                   |    9 ++
 arch/arm/mach-tegra/hotplug.c                  |   67 ++--------------
 arch/arm/mach-tegra/platsmp.c                  |   27 ++++++-
 arch/arm/mach-ux500/board-mop500.c             |    3 +
 arch/arm/mach-ux500/board-u5500.c              |    1 +
 arch/arm/mach-ux500/cpu.c                      |    7 ++-
 arch/arm/mach-ux500/hotplug.c                  |   30 +------
 arch/arm/mach-ux500/include/mach/setup.h       |    7 ++
 arch/arm/mach-ux500/platsmp.c                  |   23 +++++-
 arch/arm/mach-vexpress/core.h                  |    8 ++
 arch/arm/mach-vexpress/hotplug.c               |   41 +---------
 arch/arm/mach-vexpress/platsmp.c               |   26 +++++-
 arch/arm/mach-vexpress/v2m.c                   |    9 ++
 arch/arm/plat-mxc/include/mach/common.h        |    8 ++
 arch/arm/plat-versatile/include/plat/platsmp.h |   14 ++++
 arch/arm/plat-versatile/platsmp.c              |    4 +-
 81 files changed, 711 insertions(+), 459 deletions(-)
 create mode 100644 arch/arm/include/asm/soc.h
 create mode 100644 arch/arm/mach-msm/core.c
 create mode 100644 arch/arm/mach-msm/core.h
 delete mode 100644 arch/arm/mach-shmobile/platsmp.c
 create mode 100644 arch/arm/mach-tegra/common.h
 create mode 100644 arch/arm/plat-versatile/include/plat/platsmp.h

-- 
1.7.3.4

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

end of thread, other threads:[~2012-02-11  3:32 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-08  0:30 [PATCH v6 00/15] Per SoC descriptor Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 01/15] ARM: SoC: Introduce per " Marc Zyngier
2012-02-08 23:59   ` Nicolas Pitre
2012-02-08  0:30 ` [PATCH v6 02/15] ARM: SoC: Add per SoC SMP and CPU hotplug operations Marc Zyngier
2012-02-08 23:42   ` David Brown
2012-02-09  1:00     ` Marc Zyngier
2012-02-09  1:28       ` David Brown
2012-02-10  0:03     ` Arnd Bergmann
2012-02-09  0:02   ` Nicolas Pitre
2012-02-09  8:54   ` Russell King - ARM Linux
2012-02-08  0:30 ` [PATCH v6 03/15] ARM: SoC: convert VExpress/RealView to SoC descriptor Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 04/15] ARM: SoC: convert OMAP4 " Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 05/15] ARM: SoC: convert Tegra " Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 06/15] ARM: SoC: convert Exynos4 " Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 07/15] ARM: SoC: convert MSM SMP " Marc Zyngier
2012-02-08 23:39   ` David Brown
2012-02-08 23:42     ` Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 08/15] ARM: SoC: convert ux500 " Marc Zyngier
2012-02-08 22:31   ` Linus Walleij
2012-02-09  5:29     ` Srinidhi KASAGAR
2012-02-08  0:30 ` [PATCH v6 09/15] ARM: SoC: convert shmobile SMP " Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 10/15] ARM: SoC: convert highbank " Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 11/15] ARM: SoC: convert imx6q " Marc Zyngier
2012-02-11  3:32   ` Shawn Guo
2012-02-08  0:30 ` [PATCH v6 12/15] ARM: smp: Make SoC descriptor mandatory for SMP platforms Marc Zyngier
2012-02-08  0:30 ` [PATCH v6 13/15] ARM: hotplug: Introduce dummy_cpu_kill Marc Zyngier
2012-02-09  0:16   ` Nicolas Pitre
2012-02-09  0:57     ` Marc Zyngier
2012-02-09  8:46     ` Russell King - ARM Linux
2012-02-09 22:48       ` Will Deacon
2012-02-08  0:30 ` [PATCH v6 14/15] ARM: hotplug: Introduce dummy_cpu_disable Marc Zyngier
2012-02-09  0:19   ` Nicolas Pitre
2012-02-08  0:30 ` [PATCH v6 15/15] ARM: hotplug: add cpu_lowpower as an alternative to cpu_die Marc Zyngier
2012-02-09  0:21   ` Nicolas Pitre
2012-02-09  8:48   ` Russell King - ARM Linux
2012-02-08  0:43 ` [PATCH v6 00/15] Per SoC descriptor Rob Herring
2012-02-08  0:49   ` 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).