linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/23] RFC: exynos multiplatform support
@ 2013-03-05 17:42 Arnd Bergmann
  2013-03-05 17:42 ` [PATCH 01/23] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
                   ` (25 more replies)
  0 siblings, 26 replies; 49+ messages in thread
From: Arnd Bergmann @ 2013-03-05 17:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi everyone,

Although I'm not present at the Linaro Connect hacking
sessions, I am participating remotely and have tried
hacking on multiplatform support for Exynos. This patch
set is far from complete, but I think the patches
can be useful anyway.

The series gets increasingly fishy towards the end,
and we should probably not apply any of the last nine
patches as-is, nor do I expect everything to work, since
I have not tested them at all.

With this patch set, we can build mach-exynos as part
of a multiplatform kernel, with the following caveats:

* Only DT based boards are supported
* Moving to common-clk breaks things including cpufreq
  and others. Thomas is working on a patch for this
* We disable the gpio implementation, which also breaks
  stuff, but Thomas has a patch already
* Using the generic DMA engine API in SPI and ASoC
  means they no longer work on S3C
* I did not like the solution for the UART driver, but
  could also not think of a better one.
* The FB_S3C, S3C2410_WATCHDOG and S3C_ADC drivers
  are left as an exercise to the reader, they are
  currently disabled with multiplatform
* sparsemem support is not available on multiplatform

The patches are based on v3.9-rc1 and I have pushed
the git branch to

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

I have not yet added subsystem maintainers to Cc on the
patches, I'd like to coordinate with the other people
involved first, so see if they already have patches
for the same drivers.

	Arnd

Arnd Bergmann (23):
  ARM: exynos: introduce EXYNOS_ATAGS symbol
  irqchip: exynos: remove dependency on mach/irqs.h
  tty: serial/samsung: prepare for common clock API
  tty: serial/samsung: make register definitions global
  tty: serial/samsung: fix modular build
  ARM: exynos: move debug-macro.S to include/debug/
  i2c: s3c2410: make header file local
  mmc: sdhci-s3c: remove platform dependencies
  usb: exynos: do not include plat/usb-phy.h
  [media] exynos: remove unnecessary header inclusions
  video/exynos: remove unnecessary header inclusions
  thermal/exynos: remove unnecessary header inclusions
  mtd: onenand/samsung: make regs-onenand.h file local
  rtc: s3c: make header file local
  spi: s3c64xx: move to generic dmaengine API
  pwm: samsung: repair the worst MMIO abuses
  ASoC: samsung: move plat/ headers to local directory
  ASoC: samsung: convert to dmaengine API
  ASoC: samsung: use irq resource for idma
  ARM: exynos: prepare for sparse IRQ
  ARM: exynos: hack to disable private clock code
  ARM: exynos: work around missing gpio code on multiplatform
  ARM: exynos: experimental multiplatform support

 arch/arm/Kconfig                                  |  11 +-
 arch/arm/Kconfig.debug                            |   8 +
 arch/arm/include/debug/exynos.S                   |  39 +++
 arch/arm/include/debug/samsung.S                  |  87 +++++++
 arch/arm/mach-exynos/Kconfig                      |  36 ++-
 arch/arm/mach-exynos/Makefile                     |   5 +
 arch/arm/mach-exynos/common.c                     |  14 +-
 arch/arm/mach-exynos/common.h                     |   2 +-
 arch/arm/mach-exynos/dev-audio.c                  |   1 +
 arch/arm/mach-exynos/dev-uart.c                   |   1 +
 arch/arm/mach-exynos/include/mach/debug-macro.S   |  39 ---
 arch/arm/mach-exynos/include/mach/gpio.h          |   2 +
 arch/arm/mach-exynos/include/mach/irqs.h          |   5 +-
 arch/arm/mach-exynos/mach-armlex4210.c            |   3 +
 arch/arm/mach-exynos/mach-exynos4-dt.c            |   2 +
 arch/arm/mach-exynos/mach-exynos5-dt.c            |   2 +
 arch/arm/mach-exynos/mach-nuri.c                  |   2 +
 arch/arm/mach-exynos/mach-origen.c                |   3 +
 arch/arm/mach-exynos/mach-smdk4x12.c              |   2 +
 arch/arm/mach-exynos/mach-smdkv310.c              |   3 +
 arch/arm/mach-exynos/setup-i2c0.c                 |   3 +-
 arch/arm/mach-exynos/setup-sdhci-gpio.c           |   2 +-
 arch/arm/mach-exynos/setup-usb-phy.c              |   8 +-
 arch/arm/mach-s3c24xx/clock-s3c2440.c             |   5 +
 arch/arm/mach-s3c24xx/common.c                    |   5 +
 arch/arm/mach-s3c24xx/dma-s3c2410.c               |   2 -
 arch/arm/mach-s3c24xx/dma-s3c2412.c               |   2 -
 arch/arm/mach-s3c24xx/dma-s3c2440.c               |   2 -
 arch/arm/mach-s3c24xx/dma-s3c2443.c               |   2 -
 arch/arm/mach-s3c24xx/include/mach/debug-macro.S  |   2 +-
 arch/arm/mach-s3c24xx/mach-rx1950.c               |   1 -
 arch/arm/mach-s3c64xx/include/mach/debug-macro.S  |   2 +-
 arch/arm/mach-s3c64xx/include/mach/gpio.h         |   4 +
 arch/arm/mach-s3c64xx/setup-usb-phy.c             |   4 +-
 arch/arm/mach-s5p64x0/include/mach/debug-macro.S  |   2 +-
 arch/arm/mach-s5pc100/include/mach/debug-macro.S  |   2 +-
 arch/arm/mach-s5pc100/setup-sdhci-gpio.c          |   1 -
 arch/arm/mach-s5pv210/include/mach/debug-macro.S  |   2 +-
 arch/arm/mach-s5pv210/setup-sdhci-gpio.c          |   1 -
 arch/arm/mach-s5pv210/setup-usb-phy.c             |   4 +-
 arch/arm/plat-samsung/Kconfig                     |   5 +
 arch/arm/plat-samsung/Makefile                    |   3 +
 arch/arm/plat-samsung/clock-clksrc.c              |   3 +
 arch/arm/plat-samsung/devs.c                      |  17 +-
 arch/arm/plat-samsung/include/plat/debug-macro.S  |  87 -------
 arch/arm/plat-samsung/include/plat/gpio-core.h    |   3 +
 arch/arm/plat-samsung/include/plat/regs-ac97.h    |  67 -----
 arch/arm/plat-samsung/include/plat/regs-iic.h     |  56 -----
 arch/arm/plat-samsung/include/plat/regs-iis.h     |  70 ------
 arch/arm/plat-samsung/include/plat/regs-onenand.h |  63 -----
 arch/arm/plat-samsung/include/plat/regs-rtc.h     |  71 ------
 arch/arm/plat-samsung/include/plat/regs-sdhci.h   |  87 -------
 arch/arm/plat-samsung/include/plat/regs-serial.h  | 282 +---------------------
 arch/arm/plat-samsung/include/plat/sdhci.h        |  56 +----
 arch/arm/plat-samsung/include/plat/usb-phy.h      |   5 +-
 arch/arm/plat-samsung/irq-vic-timer.c             |   1 +
 arch/arm/plat-samsung/pm-gpio.c                   |   1 +
 arch/arm/plat-samsung/pm.c                        |   1 +
 arch/arm/plat-samsung/s5p-clock.c                 |   3 +
 arch/arm/plat-samsung/s5p-irq.c                   |   1 +
 drivers/cpufreq/Kconfig.arm                       |   4 +-
 drivers/devfreq/Kconfig                           |   1 +
 drivers/gpio/Makefile                             |   2 +-
 drivers/i2c/busses/i2c-s3c2410.c                  |   3 +-
 drivers/i2c/busses/i2c-s3c2410.h                  |  56 +++++
 drivers/irqchip/exynos-combiner.c                 | 113 +++++----
 drivers/media/platform/exynos-gsc/gsc-regs.c      |   1 -
 drivers/media/platform/s5p-tv/sii9234_drv.c       |   3 -
 drivers/mmc/host/Kconfig                          |   2 +-
 drivers/mmc/host/sdhci-s3c-regs.h                 |  87 +++++++
 drivers/mmc/host/sdhci-s3c.c                      |   5 +-
 drivers/mtd/onenand/samsung.c                     |   4 +-
 drivers/mtd/onenand/samsung.h                     |  61 +++++
 drivers/pwm/pwm-samsung.c                         |  60 +++--
 drivers/rtc/rtc-s3c.c                             |   3 +-
 drivers/rtc/rtc-s3c.h                             |  70 ++++++
 drivers/spi/spi-s3c64xx.c                         | 107 ++++----
 drivers/thermal/exynos_thermal.c                  |   2 -
 drivers/tty/serial/samsung.c                      |  17 +-
 drivers/tty/serial/samsung.h                      |   4 +-
 drivers/usb/host/ehci-s5p.c                       |   1 -
 drivers/usb/host/ohci-exynos.c                    |   1 -
 drivers/video/Kconfig                             |   2 +-
 drivers/video/exynos/exynos_mipi_dsi.c            |   2 -
 drivers/video/exynos/exynos_mipi_dsi_common.c     |   2 -
 drivers/video/exynos/exynos_mipi_dsi_lowlevel.c   |   2 -
 drivers/watchdog/Kconfig                          |   1 +
 include/linux/platform_data/mmc-sdhci-s3c.h       |  56 +++++
 include/linux/platform_data/spi-s3c64xx.h         |   3 +
 include/linux/serial_s3c.h                        | 260 ++++++++++++++++++++
 sound/soc/samsung/ac97.c                          |  17 +-
 sound/soc/samsung/dma.c                           | 104 ++++----
 sound/soc/samsung/dma.h                           |   4 +-
 sound/soc/samsung/h1940_uda1380.c                 |   2 +-
 sound/soc/samsung/i2s.c                           |   9 +-
 sound/soc/samsung/idma.c                          |  10 +-
 sound/soc/samsung/neo1973_wm8753.c                |   2 +-
 sound/soc/samsung/pcm.c                           |  13 -
 sound/soc/samsung/regs-ac97.h                     |  67 +++++
 sound/soc/samsung/regs-iis.h                      |  70 ++++++
 sound/soc/samsung/rx1950_uda1380.c                |   2 +-
 sound/soc/samsung/s3c2412-i2s.c                   |  10 -
 sound/soc/samsung/s3c24xx-i2s.c                   |  12 +-
 sound/soc/samsung/s3c24xx_uda134x.c               |   2 +-
 sound/soc/samsung/spdif.c                         |   6 -
 105 files changed, 1262 insertions(+), 1208 deletions(-)
 create mode 100644 arch/arm/include/debug/exynos.S
 create mode 100644 arch/arm/include/debug/samsung.S
 delete mode 100644 arch/arm/mach-exynos/include/mach/debug-macro.S
 delete mode 100644 arch/arm/plat-samsung/include/plat/debug-macro.S
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-ac97.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-iic.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-iis.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-onenand.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-rtc.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-sdhci.h
 create mode 100644 drivers/i2c/busses/i2c-s3c2410.h
 create mode 100644 drivers/mmc/host/sdhci-s3c-regs.h
 create mode 100644 drivers/mtd/onenand/samsung.h
 create mode 100644 drivers/rtc/rtc-s3c.h
 create mode 100644 include/linux/platform_data/mmc-sdhci-s3c.h
 create mode 100644 include/linux/serial_s3c.h
 create mode 100644 sound/soc/samsung/regs-ac97.h
 create mode 100644 sound/soc/samsung/regs-iis.h

-- 
1.8.1.2

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

end of thread, other threads:[~2013-04-02 20:36 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-05 17:42 [PATCH 00/23] RFC: exynos multiplatform support Arnd Bergmann
2013-03-05 17:42 ` [PATCH 01/23] ARM: exynos: introduce EXYNOS_ATAGS symbol Arnd Bergmann
2013-03-05 17:42 ` [PATCH 02/23] irqchip: exynos: remove dependency on mach/irqs.h Arnd Bergmann
2013-03-05 17:42 ` [PATCH 03/23] tty: serial/samsung: prepare for common clock API Arnd Bergmann
2013-03-05 17:42 ` [PATCH 04/23] tty: serial/samsung: make register definitions global Arnd Bergmann
2013-03-05 17:42 ` [PATCH 05/23] tty: serial/samsung: fix modular build Arnd Bergmann
2013-03-05 17:42 ` [PATCH 06/23] ARM: exynos: move debug-macro.S to include/debug/ Arnd Bergmann
2013-03-05 17:42 ` [PATCH 07/23] i2c: s3c2410: make header file local Arnd Bergmann
2013-04-02 20:36   ` Heiko Stübner
2013-03-05 17:42 ` [PATCH 08/23] mmc: sdhci-s3c: remove platform dependencies Arnd Bergmann
2013-03-05 17:42 ` [PATCH 09/23] usb: exynos: do not include plat/usb-phy.h Arnd Bergmann
2013-03-05 17:42 ` [PATCH 10/23] [media] exynos: remove unnecessary header inclusions Arnd Bergmann
2013-04-02 13:08   ` Sylwester Nawrocki
2013-03-05 17:42 ` [PATCH 11/23] video/exynos: " Arnd Bergmann
2013-03-05 17:42 ` [PATCH 12/23] thermal/exynos: " Arnd Bergmann
2013-03-05 17:42 ` [PATCH 13/23] mtd: onenand/samsung: make regs-onenand.h file local Arnd Bergmann
2013-03-05 17:42 ` [PATCH 14/23] rtc: s3c: make header " Arnd Bergmann
2013-03-05 17:42 ` [PATCH 15/23] spi: s3c64xx: move to generic dmaengine API Arnd Bergmann
2013-03-06  9:14   ` Padma Venkat
2013-03-05 17:42 ` [PATCH 16/23] pwm: samsung: repair the worst MMIO abuses Arnd Bergmann
2013-03-05 17:42 ` [PATCH 17/23] ASoC: samsung: move plat/ headers to local directory Arnd Bergmann
2013-03-05 17:42 ` [PATCH 18/23] ASoC: samsung: convert to dmaengine API Arnd Bergmann
2013-03-06  8:58   ` Padma Venkat
2013-03-06 12:01     ` Arnd Bergmann
2013-03-05 17:42 ` [PATCH 19/23] ASoC: samsung: use irq resource for idma Arnd Bergmann
2013-03-05 17:42 ` [PATCH 20/23] ARM: exynos: prepare for sparse IRQ Arnd Bergmann
2013-03-05 17:42 ` [PATCH 21/23] ARM: exynos: hack to disable private clock code Arnd Bergmann
2013-03-05 17:42 ` [PATCH 22/23] ARM: exynos: work around missing gpio code on multiplatform Arnd Bergmann
2013-03-05 17:42 ` [PATCH 23/23] ARM: exynos: experimental multiplatform support Arnd Bergmann
2013-03-05 18:27 ` [PATCH 00/23] RFC: exynos " Tony Lindgren
2013-03-05 18:28 ` Tomasz Figa
2013-03-05 19:19   ` Arnd Bergmann
2013-03-05 22:48     ` Tomasz Figa
2013-03-06 10:50       ` Arnd Bergmann
2013-03-06 12:34         ` Thierry Reding
2013-03-06 22:57           ` Tomasz Figa
2013-03-07  3:02           ` Arnd Bergmann
2013-03-07  7:22             ` Thierry Reding
2013-03-08  0:40               ` Tomasz Figa
2013-03-08 12:52                 ` Arnd Bergmann
2013-03-06 22:14       ` Heiko Stübner
2013-03-06 22:55         ` Tomasz Figa
2013-03-05 20:50 ` Heiko Stübner
2013-03-05 21:24   ` Arnd Bergmann
2013-03-05 21:54     ` Arnd Bergmann
2013-03-05 22:12       ` Tomasz Figa
2013-03-05 22:21         ` Arnd Bergmann
2013-03-05 22:25       ` Heiko Stübner
2013-03-05 22:43         ` Arnd Bergmann

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).