projects/linux·commit 6ae52c65

Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

6ae52c65 · Linus Torvalds <[email protected]> · 2017-02-23 15:33:54 -08:00

Pull ARM SoC platform updates from Arnd Bergmann:
 "In the SoC branch we normally collect classic arch/arm/mach-*
  contents, i.e. C code changes for SoC platforms. This release cycle
  the diffstat is quite nice, in that we're removing 3x the amount of
  code that's being added.

  The main reason for this is that there's a removal of camera drivers
  for Freescale i.MX chips (driver was removed so the device
  registration isn't needed any more). There's also removal of display
  initialization code for OMAP that is no longer needed.

  The rest are mostly minor tweaks and cleanups; constification on
  Samsung platforms, cleanup of ux500 platform data, purge of other
  unused platform data/device seutp on i.MX and other good stuff.

  New SoC support this cycle is for two Allwinner platforms, H2+ and
  V3s"

* tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
  ARM: ux500: remove deleted file from Makefile
  ARM: ep93xx: Disable TS-72xx watchdog before uncompressing
  ARM: ux500: cut some platform data
  MAINTAINERS: Update for the current location of the bcm2835 tree.
  ARM: davinci: remove BUG_ON() from da850_register_sata()
  ARM: davinci: da850: model the SATA refclk
  ARM: davinci: da850: add con_id for the SATA clock
  ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for SATA
  arm: mvebu: support for SMP on 98DX3336 SoC
  dt-bindings: video: exynos7-decon: Remove obsolete samsung,power-domain property
  soc: dove: constify reset_control_ops structures
  ARM: mv78xx0: fix possible PCI buffer overflow
  MAINTAINERS: transfer maintainership for the EZX platform
  ARM: shmobile: rcar-gen2: Add more register documentation
  ARM: tegra: paz00: Fix __initdata placement
  ARM: OMAP: clock: Remove unused mpurate cmdline option
  ARM: davinci: add skeleton for pdata-quirks
  arm: sunxi: add support for V3s SoC
  ARM: OMAP2+: omap_hwmod: Add support for earlycon
  arm: hisi: drop extern hip01_cpu_die
  ...
Commit
6ae52c65e01991426e87bb0fb8a2ac9e032db7b1
Parents
af8999f6 · af1d09ee

Merge commit. Changes below are compared with the first parent: af8999f6.

Changes

66 files changed · +400 −1439

FileStatusAddDelContent
Documentation/arm/sunxi/READMEmodified+8−0View file
Documentation/devicetree/bindings/arm/cpus.txtmodified+1−0View file
Documentation/devicetree/bindings/arm/marvell/98dx3236-resume-ctrl.txtadded+16−0View file
Documentation/devicetree/bindings/arm/sunxi.txtmodified+1−0View file
Documentation/devicetree/bindings/display/exynos/exynos7-decon.txtmodified+1−1View file
MAINTAINERSmodified+19−10View file
arch/arm/mach-aspeed/Kconfigmodified+4−0View file
arch/arm/mach-at91/pm.cmodified+1−1View file
arch/arm/mach-at91/pm.hmodified+0−2View file
arch/arm/mach-davinci/Makefilemodified+1−1View file
arch/arm/mach-davinci/da850.cmodified+1−1View file
arch/arm/mach-davinci/da8xx-dt.cmodified+10−0View file
arch/arm/mach-davinci/devices-da8xx.cmodified+28−2View file
arch/arm/mach-davinci/include/mach/common.hmodified+2−0View file
arch/arm/mach-davinci/include/mach/da8xx.hmodified+1−0View file
arch/arm/mach-davinci/pdata-quirks.cadded+39−0View file
arch/arm/mach-ep93xx/include/mach/uncompress.hmodified+12−0View file
arch/arm/mach-exynos/Kconfigmodified+0−5View file
arch/arm/mach-exynos/exynos.cmodified+2−3View file
arch/arm/mach-exynos/mcpm-exynos.cmodified+1−1View file
arch/arm/mach-exynos/suspend.cmodified+1−2View file
arch/arm/mach-hisi/core.hmodified+0−1View file
arch/arm/mach-imx/devices/platform-flexcan.cmodified+0−9View file
arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.cmodified+0−10View file
arch/arm/mach-imx/mach-mx27_3ds.cmodified+0−107View file
arch/arm/mach-imx/mach-mx31_3ds.cmodified+0−160View file
arch/arm/mach-imx/mach-mx35_3ds.cmodified+0−103View file
arch/arm/mach-imx/mach-pcm037.cmodified+0−115View file
arch/arm/mach-imx/mx31moboard-marxbot.cmodified+0−92View file
arch/arm/mach-imx/mx31moboard-smartbot.cmodified+0−74View file
arch/arm/mach-mv78xx0/pcie.cmodified+1−1View file
arch/arm/mach-mvebu/platsmp.cmodified+75−0View file
arch/arm/mach-omap1/clock.cmodified+0−20View file
arch/arm/mach-omap1/clock.hmodified+0−2View file
arch/arm/mach-omap1/include/mach/usb.hmodified+0−2View file
arch/arm/mach-omap1/usb.cmodified+24−27View file
arch/arm/mach-omap2/clock.cmodified+0−61View file
arch/arm/mach-omap2/clock.hmodified+0−4View file
arch/arm/mach-omap2/display.cmodified+1−257View file
arch/arm/mach-omap2/display.hmodified+0−7View file
arch/arm/mach-omap2/omap_hwmod.cmodified+33−0View file
arch/arm/mach-pxa/ezx.cmodified+30−26View file
arch/arm/mach-pxa/idp.cmodified+1−0View file
arch/arm/mach-s3c24xx/bast-irq.cmodified+2−2View file
arch/arm/mach-s3c24xx/iotiming-s3c2410.cmodified+1−1View file
arch/arm/mach-s3c24xx/pm-s3c2412.cmodified+1−1View file
arch/arm/mach-s3c64xx/common.cmodified+2−1View file
arch/arm/mach-s3c64xx/dev-audio.cmodified+0−19View file
arch/arm/mach-s3c64xx/pm.cmodified+1−1View file
arch/arm/mach-shmobile/platsmp-apmu.cmodified+24−17View file
arch/arm/mach-shmobile/pm-rcar-gen2.cmodified+29−11View file
arch/arm/mach-shmobile/rcar-gen2.hmodified+0−2View file
arch/arm/mach-shmobile/setup-rcar-gen2.cmodified+0−18View file
arch/arm/mach-shmobile/smp-r8a7791.cmodified+1−13View file
arch/arm/mach-sunxi/sunxi.cmodified+2−0View file
arch/arm/mach-tegra/board-paz00.cmodified+1−1View file
arch/arm/mach-ux500/Makefilemodified+0−1View file
arch/arm/mach-ux500/board-mop500-audio.cdeleted+0−77View before deletion
arch/arm/mach-ux500/board-mop500.hdeleted+0−17View before deletion
arch/arm/mach-ux500/cpu-db8500.cmodified+0−17View file
arch/arm/mach-ux500/platsmp.cmodified+19−26View file
arch/arm/mach-ux500/ste-dma40-db8500.hdeleted+0−85View before deletion
arch/arm/plat-samsung/devs.cmodified+0−19View file
arch/arm/plat-samsung/include/plat/wakeup-mask.hmodified+1−1View file
arch/arm/plat-samsung/wakeup-mask.cmodified+1−1View file
drivers/soc/dove/pmu.cmodified+1−1View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/arm/sunxi/README

View file
diff --git a/Documentation/arm/sunxi/README b/Documentation/arm/sunxi/README
index cd02433..d7b1f01 100644
--- a/Documentation/arm/sunxi/README
+++ b/Documentation/arm/sunxi/README
@@ -63,10 +63,18 @@ SunXi family
+ User Manual
http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf
+ - Allwinner H2+ (sun8i)
+ + No document available now, but is known to be working properly with
+ H3 drivers and memory map.
+
- Allwinner H3 (sun8i)
+ Datasheet
http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf
+ - Allwinner V3s (sun8i)
+ + Datasheet
+ http://linux-sunxi.org/File:Allwinner_V3s_Datasheet_V1.0.pdf
+
* Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
- Allwinner A80
+ Datasheet

Documentation/devicetree/bindings/arm/cpus.txt

View file
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index a1bcfee..3c2fd72 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -202,6 +202,7 @@ nodes to be present and contain the properties described below.
"marvell,armada-380-smp"
"marvell,armada-390-smp"
"marvell,armada-xp-smp"
+ "marvell,98dx3236-smp"
"mediatek,mt6589-smp"
"mediatek,mt81xx-tz-smp"
"qcom,gcc-msm8660"

Documentation/devicetree/bindings/arm/marvell/98dx3236-resume-ctrl.txt

View file
diff --git a/Documentation/devicetree/bindings/arm/marvell/98dx3236-resume-ctrl.txt b/Documentation/devicetree/bindings/arm/marvell/98dx3236-resume-ctrl.txt
new file mode 100644
index 0000000..26eb9d3
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/marvell/98dx3236-resume-ctrl.txt
@@ -0,0 +1,16 @@
+Resume Control
+--------------
+Available on Marvell SOCs: 98DX3336 and 98DX4251
+
+Required properties:
+
+- compatible: must be "marvell,98dx3336-resume-ctrl"
+
+- reg: Should contain resume control registers location and length
+
+Example:
+
+resume@20980 {
+ compatible = "marvell,98dx3336-resume-ctrl";
+ reg = <0x20980 0x10>;
+};

Documentation/devicetree/bindings/arm/sunxi.txt

View file
diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt
index 4d6467c..d2c4644 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.txt
+++ b/Documentation/devicetree/bindings/arm/sunxi.txt
@@ -12,6 +12,7 @@ using one of the following compatible strings:
allwinner,sun8i-a23
allwinner,sun8i-a33
allwinner,sun8i-a83t
+ allwinner,sun8i-h2-plus
allwinner,sun8i-h3
allwinner,sun9i-a80
allwinner,sun50i-a64

Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt

View file
diff --git a/Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt b/Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt
index 027d6c2..9e2e7f6 100644
--- a/Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt
+++ b/Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt
@@ -33,7 +33,7 @@ Required properties:
- i80-if-timings: timing configuration for lcd i80 interface support.
Optional Properties:
-- samsung,power-domain: a phandle to DECON power domain node.
+- power-domains: a phandle to DECON power domain node.
- display-timings: timing settings for DECON, as described in document [1].
Can be used in case timings cannot be provided otherwise
or to override timings provided by the panel.

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 76dfb51..c4caa9b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1234,13 +1234,9 @@ S: Maintained
N: efm32
ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
-M: Daniel Ribeiro <[email protected]>
-M: Stefan Schmidt <[email protected]>
-M: Harald Welte <[email protected]>
-L: [email protected] (moderated for non-subscribers)
-W: http://www.openezx.org/
+M: Robert Jarzmik <[email protected]>
+L: [email protected] (moderated for non-subscribers)
S: Maintained
-T: topgit git://git.openezx.org/openezx.git
F: arch/arm/mach-pxa/ezx.c
ARM/FARADAY FA526 PORT
@@ -2641,7 +2637,7 @@ M: Lee Jones <[email protected]>
M: Eric Anholt <[email protected]>
L: [email protected] (moderated for non-subscribers)
L: [email protected] (moderated for non-subscribers)
-T: git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git
+T: git git://github.com/anholt/linux
S: Maintained
N: bcm2835
F: drivers/staging/vc04_services
@@ -9023,7 +9019,20 @@ M: Josh Poimboeuf <[email protected]>
S: Supported
F: tools/objtool/
-OMAP SUPPORT
+OMAP1 SUPPORT
+M: Aaro Koskinen <[email protected]>
+M: Tony Lindgren <[email protected]>
+Q: http://patchwork.kernel.org/project/linux-omap/list/
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
+S: Maintained
+F: arch/arm/mach-omap1/
+F: arch/arm/plat-omap/
+F: arch/arm/configs/omap1_defconfig
+F: drivers/i2c/busses/i2c-omap.c
+F: include/linux/i2c-omap.h
+
+OMAP2+ SUPPORT
M: Tony Lindgren <[email protected]>
W: http://www.muru.com/linux/omap/
@@ -9031,8 +9040,8 @@ W: http://linux.omap.com/
Q: http://patchwork.kernel.org/project/linux-omap/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
S: Maintained
-F: arch/arm/*omap*/
-F: arch/arm/configs/omap1_defconfig
+F: arch/arm/mach-omap2/
+F: arch/arm/plat-omap/
F: arch/arm/configs/omap2plus_defconfig
F: drivers/i2c/busses/i2c-omap.c
F: drivers/irqchip/irq-omap-intc.c

arch/arm/mach-aspeed/Kconfig

View file
diff --git a/arch/arm/mach-aspeed/Kconfig b/arch/arm/mach-aspeed/Kconfig
index 5225fbc..f3f8c5c 100644
--- a/arch/arm/mach-aspeed/Kconfig
+++ b/arch/arm/mach-aspeed/Kconfig
@@ -5,6 +5,8 @@ menuconfig ARCH_ASPEED
select WATCHDOG
select ASPEED_WATCHDOG
select MOXART_TIMER
+ select MFD_SYSCON
+ select PINCTRL
help
Say Y here if you want to run your kernel on an ASpeed BMC SoC.
@@ -14,6 +16,7 @@ config MACH_ASPEED_G4
bool "Aspeed SoC 4th Generation"
depends on ARCH_MULTI_V5
select CPU_ARM926T
+ select PINCTRL_ASPEED_G4
help
Say yes if you intend to run on an Aspeed ast2400 or similar
fourth generation BMCs, such as those used by OpenPower Power8
@@ -23,6 +26,7 @@ config MACH_ASPEED_G5
bool "Aspeed SoC 5th Generation"
depends on ARCH_MULTI_V6
select CPU_V6
+ select PINCTRL_ASPEED_G5
help
Say yes if you intend to run on an Aspeed ast2500 or similar
fifth generation Aspeed BMCs.

arch/arm/mach-at91/pm.c

View file
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index b4332b7..3d89b79 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -55,7 +55,7 @@ static struct {
int memctrl;
} at91_pm_data;
-void __iomem *at91_ramc_base[2];
+static void __iomem *at91_ramc_base[2];
static int at91_pm_valid_state(suspend_state_t state)
{

arch/arm/mach-at91/pm.h

View file
diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h
index 3fcf881..bf980c6 100644
--- a/arch/arm/mach-at91/pm.h
+++ b/arch/arm/mach-at91/pm.h
@@ -18,8 +18,6 @@
#include <soc/at91/at91sam9_sdramc.h>
#ifndef __ASSEMBLY__
-extern void __iomem *at91_ramc_base[];
-
#define at91_ramc_read(id, field) \
__raw_readl(at91_ramc_base[id] + field)

arch/arm/mach-davinci/Makefile

View file
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile
index 0a2e6da..df96ca9 100644
--- a/arch/arm/mach-davinci/Makefile
+++ b/arch/arm/mach-davinci/Makefile
@@ -21,7 +21,7 @@ obj-$(CONFIG_AINTC) += irq.o
obj-$(CONFIG_CP_INTC) += cp_intc.o
# Board specific
-obj-$(CONFIG_MACH_DA8XX_DT) += da8xx-dt.o
+obj-$(CONFIG_MACH_DA8XX_DT) += da8xx-dt.o pdata-quirks.o
obj-$(CONFIG_MACH_DAVINCI_EVM) += board-dm644x-evm.o
obj-$(CONFIG_MACH_SFFSDR) += board-sffsdr.o
obj-$(CONFIG_MACH_NEUROS_OSD2) += board-neuros-osd2.o

arch/arm/mach-davinci/da850.c

View file
diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c
index 7475f02..ccad2f9 100644
--- a/arch/arm/mach-davinci/da850.c
+++ b/arch/arm/mach-davinci/da850.c
@@ -563,7 +563,7 @@ static struct clk_lookup da850_clks[] = {
CLK("spi_davinci.0", NULL, &spi0_clk),
CLK("spi_davinci.1", NULL, &spi1_clk),
CLK("vpif", NULL, &vpif_clk),
- CLK("ahci_da850", NULL, &sata_clk),
+ CLK("ahci_da850", "fck", &sata_clk),
CLK("davinci-rproc.0", NULL, &dsp_clk),
CLK(NULL, NULL, &ehrpwm_clk),
CLK("ehrpwm.0", "fck", &ehrpwm0_clk),

arch/arm/mach-davinci/da8xx-dt.c

View file
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index 06205fe..e3cef50 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -52,6 +52,7 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("ti,da830-ohci", 0x01e25000, "ohci-da8xx", NULL),
OF_DEV_AUXDATA("ti,da830-musb", 0x01e00000, "musb-da8xx", NULL),
OF_DEV_AUXDATA("ti,da830-usb-phy", 0x01c1417c, "da8xx-usb-phy", NULL),
+ OF_DEV_AUXDATA("ti,da850-ahci", 0x01e18000, "ahci_da850", NULL),
{}
};
@@ -59,6 +60,9 @@ static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
static void __init da850_init_machine(void)
{
+ /* All existing boards use 100MHz SATA refclkpn */
+ static const unsigned long sata_refclkpn = 100 * 1000 * 1000;
+
int ret;
ret = da8xx_register_usb20_phy_clk(false);
@@ -70,8 +74,14 @@ static void __init da850_init_machine(void)
pr_warn("%s: registering USB 1.1 PHY clock failed: %d",
__func__, ret);
+ ret = da850_register_sata_refclk(sata_refclkpn);
+ if (ret)
+ pr_warn("%s: registering SATA REFCLK failed: %d",
+ __func__, ret);
+
of_platform_default_populate(NULL, da850_auxdata_lookup, NULL);
davinci_pm_init();
+ pdata_quirks_init();
}
static const char *const da850_boards_compat[] __initconst = {

arch/arm/mach-davinci/devices-da8xx.c

View file
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c
index c2457b3..7cf529f 100644
--- a/arch/arm/mach-davinci/devices-da8xx.c
+++ b/arch/arm/mach-davinci/devices-da8xx.c
@@ -24,6 +24,7 @@
#include <mach/common.h>
#include <mach/time.h>
#include <mach/da8xx.h>
+#include <mach/clock.h>
#include "cpuidle.h"
#include "sram.h"
@@ -1023,6 +1024,28 @@ int __init da8xx_register_spi_bus(int instance, unsigned num_chipselect)
}
#ifdef CONFIG_ARCH_DAVINCI_DA850
+static struct clk sata_refclk = {
+ .name = "sata_refclk",
+ .set_rate = davinci_simple_set_rate,
+};
+
+static struct clk_lookup sata_refclk_lookup =
+ CLK("ahci_da850", "refclk", &sata_refclk);
+
+int __init da850_register_sata_refclk(int rate)
+{
+ int ret;
+
+ sata_refclk.rate = rate;
+ ret = clk_register(&sata_refclk);
+ if (ret)
+ return ret;
+
+ clkdev_add(&sata_refclk_lookup);
+
+ return 0;
+}
+
static struct resource da850_sata_resources[] = {
{
.start = DA850_SATA_BASE,
@@ -1055,8 +1078,11 @@ static struct platform_device da850_sata_device = {
int __init da850_register_sata(unsigned long refclkpn)
{
- /* please see comment in drivers/ata/ahci_da850.c */
- BUG_ON(refclkpn != 100 * 1000 * 1000);
+ int ret;
+
+ ret = da850_register_sata_refclk(refclkpn);
+ if (ret)
+ return ret;
return platform_device_register(&da850_sata_device);
}

arch/arm/mach-davinci/include/mach/common.h

View file
diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h
index 0b3c169..037aa66 100644
--- a/arch/arm/mach-davinci/include/mach/common.h
+++ b/arch/arm/mach-davinci/include/mach/common.h
@@ -102,6 +102,8 @@ int davinci_pm_init(void);
static inline int davinci_pm_init(void) { return 0; }
#endif
+void __init pdata_quirks_init(void);
+
#define SRAM_SIZE SZ_128K
#endif /* __ARCH_ARM_MACH_DAVINCI_COMMON_H */

arch/arm/mach-davinci/include/mach/da8xx.h

View file
diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h
index 85ff218..7e46422 100644
--- a/arch/arm/mach-davinci/include/mach/da8xx.h
+++ b/arch/arm/mach-davinci/include/mach/da8xx.h
@@ -95,6 +95,7 @@ int da8xx_register_usb11(struct da8xx_ohci_root_hub *pdata);
int da8xx_register_usb_refclkin(int rate);
int da8xx_register_usb20_phy_clk(bool use_usb_refclkin);
int da8xx_register_usb11_phy_clk(bool use_usb_refclkin);
+int da850_register_sata_refclk(int rate);
int da8xx_register_emac(void);
int da8xx_register_uio_pruss(void);
int da8xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata);

arch/arm/mach-davinci/pdata-quirks.c

View file
diff --git a/arch/arm/mach-davinci/pdata-quirks.c b/arch/arm/mach-davinci/pdata-quirks.c
new file mode 100644
index 0000000..5b57da4
--- /dev/null
+++ b/arch/arm/mach-davinci/pdata-quirks.c
@@ -0,0 +1,39 @@
+/*
+ * Legacy platform_data quirks
+ *
+ * Copyright (C) 2016 BayLibre, Inc
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#include <linux/kernel.h>
+#include <linux/of_platform.h>
+
+#include <mach/common.h>
+
+struct pdata_init {
+ const char *compatible;
+ void (*fn)(void);
+};
+
+static void pdata_quirks_check(struct pdata_init *quirks)
+{
+ while (quirks->compatible) {
+ if (of_machine_is_compatible(quirks->compatible)) {
+ if (quirks->fn)
+ quirks->fn();
+ break;
+ }
+ quirks++;
+ }
+}
+
+static struct pdata_init pdata_quirks[] __initdata = {
+ { /* sentinel */ },
+};
+
+void __init pdata_quirks_init(void)
+{
+ pdata_quirks_check(pdata_quirks);
+}

arch/arm/mach-ep93xx/include/mach/uncompress.h

View file
diff --git a/arch/arm/mach-ep93xx/include/mach/uncompress.h b/arch/arm/mach-ep93xx/include/mach/uncompress.h
index 03c42e5..b0cf2de 100644
--- a/arch/arm/mach-ep93xx/include/mach/uncompress.h
+++ b/arch/arm/mach-ep93xx/include/mach/uncompress.h
@@ -10,6 +10,7 @@
*/
#include <mach/ep93xx-regs.h>
+#include <asm/mach-types.h>
static unsigned char __raw_readb(unsigned int ptr)
{
@@ -75,8 +76,19 @@ static void ethernet_reset(void)
;
}
+#define TS72XX_WDT_CONTROL_PHYS_BASE 0x23800000
+#define TS72XX_WDT_FEED_PHYS_BASE 0x23c00000
+#define TS72XX_WDT_FEED_VAL 0x05
+
+static void __maybe_unused ts72xx_watchdog_disable(void)
+{
+ __raw_writeb(TS72XX_WDT_FEED_VAL, TS72XX_WDT_FEED_PHYS_BASE);
+ __raw_writeb(0, TS72XX_WDT_CONTROL_PHYS_BASE);
+}
static void arch_decomp_setup(void)
{
+ if (machine_is_ts72xx())
+ ts72xx_watchdog_disable();
ethernet_reset();
}

arch/arm/mach-exynos/Kconfig

View file
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 0bb63b8..0a99140 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -95,11 +95,6 @@ config SOC_EXYNOS4412
default y
depends on ARCH_EXYNOS4
-config SOC_EXYNOS4415
- bool "SAMSUNG EXYNOS4415"
- default y
- depends on ARCH_EXYNOS4
-
config SOC_EXYNOS5250
bool "SAMSUNG EXYNOS5250"
default y

arch/arm/mach-exynos/exynos.c

View file
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 757fc11..c404c15 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -45,8 +45,8 @@ static struct platform_device exynos_cpuidle = {
.id = -1,
};
-void __iomem *sysram_base_addr;
-void __iomem *sysram_ns_base_addr;
+void __iomem *sysram_base_addr __ro_after_init;
+void __iomem *sysram_ns_base_addr __ro_after_init;
void __init exynos_sysram_init(void)
{
@@ -210,7 +210,6 @@ static char const *const exynos_dt_compat[] __initconst = {
"samsung,exynos4210",
"samsung,exynos4212",
"samsung,exynos4412",
- "samsung,exynos4415",
"samsung,exynos5",
"samsung,exynos5250",
"samsung,exynos5260",

arch/arm/mach-exynos/mcpm-exynos.c

View file
diff --git a/arch/arm/mach-exynos/mcpm-exynos.c b/arch/arm/mach-exynos/mcpm-exynos.c
index f086bf6..038fd8c 100644
--- a/arch/arm/mach-exynos/mcpm-exynos.c
+++ b/arch/arm/mach-exynos/mcpm-exynos.c
@@ -32,7 +32,7 @@
#define EXYNOS5420_USE_ARM_CORE_DOWN_STATE BIT(29)
#define EXYNOS5420_USE_L2_COMMON_UP_STATE BIT(30)
-static void __iomem *ns_sram_base_addr;
+static void __iomem *ns_sram_base_addr __ro_after_init;
/*
* The common v7_exit_coherency_flush API could not be used because of the

arch/arm/mach-exynos/suspend.c

View file
diff --git a/arch/arm/mach-exynos/suspend.c b/arch/arm/mach-exynos/suspend.c
index 10bc753..312d3a8 100644
--- a/arch/arm/mach-exynos/suspend.c
+++ b/arch/arm/mach-exynos/suspend.c
@@ -65,7 +65,7 @@ struct exynos_pm_data {
int (*cpu_suspend)(unsigned long);
};
-static const struct exynos_pm_data *pm_data;
+static const struct exynos_pm_data *pm_data __ro_after_init;
static int exynos5420_cpu_state;
static unsigned int exynos_pmu_spare3;
@@ -228,7 +228,6 @@ EXYNOS_PMU_IRQ(exynos3250_pmu_irq, "samsung,exynos3250-pmu");
EXYNOS_PMU_IRQ(exynos4210_pmu_irq, "samsung,exynos4210-pmu");
EXYNOS_PMU_IRQ(exynos4212_pmu_irq, "samsung,exynos4212-pmu");
EXYNOS_PMU_IRQ(exynos4412_pmu_irq, "samsung,exynos4412-pmu");
-EXYNOS_PMU_IRQ(exynos4415_pmu_irq, "samsung,exynos4415-pmu");
EXYNOS_PMU_IRQ(exynos5250_pmu_irq, "samsung,exynos5250-pmu");
EXYNOS_PMU_IRQ(exynos5420_pmu_irq, "samsung,exynos5420-pmu");

arch/arm/mach-hisi/core.h

View file
diff --git a/arch/arm/mach-hisi/core.h b/arch/arm/mach-hisi/core.h
index e883583..c58b68a 100644
--- a/arch/arm/mach-hisi/core.h
+++ b/arch/arm/mach-hisi/core.h
@@ -15,5 +15,4 @@ extern void hix5hd2_set_cpu(int cpu, bool enable);
extern void hix5hd2_cpu_die(unsigned int cpu);
extern void hip01_set_cpu(int cpu, bool enable);
-extern void hip01_cpu_die(unsigned int cpu);
#endif

arch/arm/mach-imx/devices/platform-flexcan.c

View file
diff --git a/arch/arm/mach-imx/devices/platform-flexcan.c b/arch/arm/mach-imx/devices/platform-flexcan.c
index 55d61ea..8a1a2fc 100644
--- a/arch/arm/mach-imx/devices/platform-flexcan.c
+++ b/arch/arm/mach-imx/devices/platform-flexcan.c
@@ -19,15 +19,6 @@
#define imx_flexcan_data_entry(soc, _id, _hwid, _size) \
[_id] = imx_flexcan_data_entry_single(soc, _id, _hwid, _size)
-#ifdef CONFIG_SOC_IMX25
-const struct imx_flexcan_data imx25_flexcan_data[] __initconst = {
-#define imx25_flexcan_data_entry(_id, _hwid) \
- imx_flexcan_data_entry(MX25, _id, _hwid, SZ_16K)
- imx25_flexcan_data_entry(0, 1),
- imx25_flexcan_data_entry(1, 2),
-};
-#endif /* ifdef CONFIG_SOC_IMX25 */
-
#ifdef CONFIG_SOC_IMX35
const struct imx_flexcan_data imx35_flexcan_data[] __initconst = {
#define imx35_flexcan_data_entry(_id, _hwid) \

arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c

View file
diff --git a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
index 3d039ef..466c9cc 100644
--- a/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
+++ b/arch/arm/mach-imx/devices/platform-sdhci-esdhc-imx.c
@@ -22,16 +22,6 @@
#define imx_sdhci_esdhc_imx_data_entry(soc, devid, id, hwid) \
[id] = imx_sdhci_esdhc_imx_data_entry_single(soc, devid, id, hwid)
-#ifdef CONFIG_SOC_IMX25
-const struct imx_sdhci_esdhc_imx_data
-imx25_sdhci_esdhc_imx_data[] __initconst = {
-#define imx25_sdhci_esdhc_imx_data_entry(_id, _hwid) \
- imx_sdhci_esdhc_imx_data_entry(MX25, "sdhci-esdhc-imx25", _id, _hwid)
- imx25_sdhci_esdhc_imx_data_entry(0, 1),
- imx25_sdhci_esdhc_imx_data_entry(1, 2),
-};
-#endif /* ifdef CONFIG_SOC_IMX25 */
-
#ifdef CONFIG_SOC_IMX35
const struct imx_sdhci_esdhc_imx_data
imx35_sdhci_esdhc_imx_data[] __initconst = {

arch/arm/mach-imx/mach-mx27_3ds.c

View file
diff --git a/arch/arm/mach-imx/mach-mx27_3ds.c b/arch/arm/mach-imx/mach-mx27_3ds.c
index 7ba651a..45e16bd 100644
--- a/arch/arm/mach-imx/mach-mx27_3ds.c
+++ b/arch/arm/mach-imx/mach-mx27_3ds.c
@@ -31,7 +31,6 @@
#include <linux/regulator/machine.h>
#include <linux/spi/l4f00242t03.h>
-#include <media/soc_camera.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -53,8 +52,6 @@
#define SD1_CD IMX_GPIO_NR(2, 26)
#define LCD_RESET IMX_GPIO_NR(1, 3)
#define LCD_ENABLE IMX_GPIO_NR(1, 31)
-#define CSI_PWRDWN IMX_GPIO_NR(4, 19)
-#define CSI_RESET IMX_GPIO_NR(3, 6)
static const int mx27pdk_pins[] __initconst = {
/* UART1 */
@@ -144,21 +141,6 @@ static const int mx27pdk_pins[] __initconst = {
PA30_PF_CONTRAST,
LCD_ENABLE | GPIO_GPIO | GPIO_OUT,
LCD_RESET | GPIO_GPIO | GPIO_OUT,
- /* CSI */
- PB10_PF_CSI_D0,
- PB11_PF_CSI_D1,
- PB12_PF_CSI_D2,
- PB13_PF_CSI_D3,
- PB14_PF_CSI_D4,
- PB15_PF_CSI_MCLK,
- PB16_PF_CSI_PIXCLK,
- PB17_PF_CSI_D5,
- PB18_PF_CSI_D6,
- PB19_PF_CSI_D7,
- PB20_PF_CSI_VSYNC,
- PB21_PF_CSI_HSYNC,
- CSI_PWRDWN | GPIO_GPIO | GPIO_OUT,
- CSI_RESET | GPIO_GPIO | GPIO_OUT,
/* SSI4 */
PC16_PF_SSI4_FS,
PC17_PF_SSI4_RXD,
@@ -166,11 +148,6 @@ static const int mx27pdk_pins[] __initconst = {
PC19_PF_SSI4_CLK,
};
-static struct gpio mx27_3ds_camera_gpios[] = {
- { CSI_PWRDWN, GPIOF_OUT_INIT_HIGH, "camera-power" },
- { CSI_RESET, GPIOF_OUT_INIT_HIGH, "camera-reset" },
-};
-
static const struct imxuart_platform_data uart_pdata __initconst = {
.flags = IMXUART_HAVE_RTSCTS,
};
@@ -270,7 +247,6 @@ static struct regulator_init_data gpo_init = {

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-mx31_3ds.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-mx35_3ds.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mach-pcm037.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mx31moboard-marxbot.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-imx/mx31moboard-smartbot.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mv78xx0/pcie.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-mvebu/platsmp.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap1/clock.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap1/clock.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap1/include/mach/usb.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap1/usb.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/display.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/display.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/omap_hwmod.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-pxa/ezx.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-pxa/idp.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c24xx/bast-irq.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c24xx/iotiming-s3c2410.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c24xx/pm-s3c2412.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c64xx/common.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c64xx/dev-audio.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-s3c64xx/pm.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-shmobile/platsmp-apmu.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-shmobile/pm-rcar-gen2.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-shmobile/rcar-gen2.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-shmobile/setup-rcar-gen2.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-shmobile/smp-r8a7791.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-sunxi/sunxi.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-tegra/board-paz00.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/Makefile

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500-audio.c

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/board-mop500.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/cpu-db8500.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/platsmp.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-ux500/ste-dma40-db8500.h

View before deletion

This diff is incomplete. Download the complete patch.

arch/arm/plat-samsung/devs.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-samsung/include/plat/wakeup-mask.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-samsung/wakeup-mask.c

View file

This diff is incomplete. Download the complete patch.

drivers/soc/dove/pmu.c

View file

This diff is incomplete. Download the complete patch.