Merge tag 'soc-arm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 29 Jun 2023 22:28:33 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 29 Jun 2023 22:28:33 +0000 (15:28 -0700)
Pull ARM SoC updates from Arnd Bergmann:
 "These are mostly minor cleanups and bugfixes that address harmless
  problems.

  The largest branch is a conversion of the omap platform to use GPIO
  descriptors throughout the tree, for any devices that are not fully
  converted to devicetree.

  The Samsung Exynos platform gains back support for the Exynos4212 chip
  that was previously unused and removed but is now used for the Samsung
  Galaxy Tab3"

* tag 'soc-arm-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
  ARM: omap2: Fix copy/paste bug
  MAINTAINERS: Replace my email address
  Input: ads7846 - fix pointer cast warning
  Input: ads7846 - Fix usage of match data
  ARM: omap2: Fix checkpatch issues
  arm: omap1: replace printk() with pr_err macro
  ARM: omap: Fix checkpatch issues
  ARM: s3c: Switch i2c drivers back to use .probe()
  ARM: versatile: mark mmc_status() static
  ARM: spear: include "pl080.h" for pl080_get_signal() prototype
  ARM: sa1100: address missing prototype warnings
  ARM: pxa: fix missing-prototypes warnings
  ARM: orion5x: fix d2net gpio initialization
  ARM: omap2: fix missing tick_broadcast() prototype
  ARM: omap1: add missing include
  ARM: lpc32xx: add missing include
  ARM: imx: add missing include
  ARM: highbank: add missing include
  ARM: ep93xx: fix missing-prototype warnings
  ARM: davinci: fix davinci_cpufreq_init() declaration
  ...

50 files changed:
MAINTAINERS
arch/arm/common/sa1111.c
arch/arm/mach-davinci/common.c
arch/arm/mach-davinci/common.h
arch/arm/mach-ep93xx/timer-ep93xx.c
arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/common.h
arch/arm/mach-exynos/exynos.c
arch/arm/mach-exynos/firmware.c
arch/arm/mach-exynos/pm.c
arch/arm/mach-exynos/suspend.c
arch/arm/mach-highbank/pm.c
arch/arm/mach-imx/pm-imx25.c
arch/arm/mach-lpc32xx/serial.c
arch/arm/mach-omap1/pm.c
arch/arm/mach-omap1/serial.c
arch/arm/mach-omap1/sram-init.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/omap-wakeupgen.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
arch/arm/mach-omap2/omap_phy_internal.c
arch/arm/mach-omap2/sdrc2xxx.c
arch/arm/mach-omap2/sram.c
arch/arm/mach-omap2/ti81xx-restart.c
arch/arm/mach-orion5x/board-dt.c
arch/arm/mach-orion5x/common.h
arch/arm/mach-pxa/generic.h
arch/arm/mach-pxa/mfp-pxa2xx.c
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c
arch/arm/mach-pxa/reset.c
arch/arm/mach-pxa/spitz_pm.c
arch/arm/mach-s3c/Kconfig.s3c64xx
arch/arm/mach-s3c/mach-crag6410-module.c
arch/arm/mach-sa1100/assabet.c
arch/arm/mach-sa1100/pm.c
arch/arm/mach-spear/pl080.c
arch/arm/mach-versatile/versatile.c
drivers/clk/pxa/clk-pxa25x.c
drivers/clk/pxa/clk-pxa27x.c
drivers/hwmon/max1111.c
drivers/input/touchscreen/ads7846.c
drivers/usb/gadget/udc/pxa27x_udc.c
drivers/usb/host/ohci-pxa27x.c
include/linux/platform_data/asoc-pxa.h
include/linux/platform_data/davinci-cpufreq.h
include/linux/platform_data/pxa2xx_udc.h
include/linux/soc/pxa/smemc.h
sound/arm/pxa2xx-ac97-lib.c

index 4f807f1..e0976ae 100644 (file)
@@ -3893,7 +3893,7 @@ S:        Supported
 F:     drivers/net/ethernet/broadcom/b44.*
 
 BROADCOM B53/SF2 ETHERNET SWITCH DRIVER
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 L:     netdev@vger.kernel.org
 L:     openwrt-devel@lists.openwrt.org (subscribers-only)
 S:     Supported
@@ -3904,7 +3904,7 @@ F:        include/linux/dsa/brcm.h
 F:     include/linux/platform_data/b53.h
 
 BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
 L:     linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -3918,7 +3918,7 @@ N:        bcm283*
 N:     raspberrypi
 
 BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 M:     Ray Jui <rjui@broadcom.com>
 M:     Scott Branden <sbranden@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
@@ -3957,7 +3957,7 @@ F:        Documentation/devicetree/bindings/pinctrl/brcm,bcm4908-pinctrl.yaml
 F:     drivers/pinctrl/bcm/pinctrl-bcm4908.c
 
 BROADCOM BCM5301X ARM ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 M:     Hauke Mehrtens <hauke@hauke-m.de>
 M:     Rafał Miłecki <zajec5@gmail.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
@@ -3970,7 +3970,7 @@ F:        arch/arm/boot/dts/broadcom/bcm953012*
 F:     arch/arm/mach-bcm/bcm_5301x.c
 
 BROADCOM BCM53573 ARM ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 M:     Rafał Miłecki <rafal@milecki.pl>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -3985,7 +3985,7 @@ S:        Maintained
 F:     drivers/usb/gadget/udc/bcm63xx_udc.*
 
 BROADCOM BCM7XXX ARM ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:     Maintained
@@ -4005,7 +4005,7 @@ BROADCOM BCMBCA ARM ARCHITECTURE
 M:     William Zhang <william.zhang@broadcom.com>
 M:     Anand Gore <anand.gore@broadcom.com>
 M:     Kursad Oney <kursad.oney@broadcom.com>
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 M:     Rafał Miłecki <rafal@milecki.pl>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -4030,7 +4030,7 @@ N:        bcm[9]?6858
 N:     bcm[9]?6878
 
 BROADCOM BDC DRIVER
-M:     Justin Chen <justinpopo6@gmail.com>
+M:     Justin Chen <justin.chen@broadcom.com>
 M:     Al Cooper <alcooperx@gmail.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-usb@vger.kernel.org
@@ -4046,7 +4046,7 @@ S:        Maintained
 F:     drivers/cpufreq/bmips-cpufreq.c
 
 BROADCOM BMIPS MIPS ARCHITECTURE
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-mips@vger.kernel.org
 S:     Maintained
@@ -4114,14 +4114,14 @@ F:      drivers/net/wireless/broadcom/brcm80211/
 
 BROADCOM BRCMSTB GPIO DRIVER
 M:     Doug Berger <opendmb@gmail.com>
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 S:     Supported
 F:     Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.yaml
 F:     drivers/gpio/gpio-brcmstb.c
 
 BROADCOM BRCMSTB I2C DRIVER
-M:     Kamal Dasu <kdasu.kdev@gmail.com>
+M:     Kamal Dasu <kamal.dasu@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-i2c@vger.kernel.org
 S:     Supported
@@ -4137,7 +4137,7 @@ F:        Documentation/devicetree/bindings/serial/brcm,bcm7271-uart.yaml
 F:     drivers/tty/serial/8250/8250_bcm7271.c
 
 BROADCOM BRCMSTB USB EHCI DRIVER
-M:     Justin Chen <justinpopo6@gmail.com>
+M:     Justin Chen <justin.chen@broadcom.com>
 M:     Al Cooper <alcooperx@gmail.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-usb@vger.kernel.org
@@ -4154,7 +4154,7 @@ F:        Documentation/devicetree/bindings/usb/brcm,usb-pinmap.yaml
 F:     drivers/usb/misc/brcmstb-usb-pinmap.c
 
 BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
-M:     Justin Chen <justinpopo6@gmail.com>
+M:     Justin Chen <justin.chen@broadcom.com>
 M:     Al Cooper <alcooperx@gmail.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-kernel@vger.kernel.org
@@ -4173,7 +4173,7 @@ F:        drivers/spi/spi-bcm63xx-hsspi.c
 F:     drivers/spi/spi-bcmbca-hsspi.c
 
 BROADCOM ETHERNET PHY DRIVERS
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     netdev@vger.kernel.org
 S:     Supported
@@ -4184,7 +4184,7 @@ F:        include/linux/brcmphy.h
 
 BROADCOM GENET ETHERNET DRIVER
 M:     Doug Berger <opendmb@gmail.com>
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     netdev@vger.kernel.org
 S:     Supported
@@ -4268,7 +4268,7 @@ F:        drivers/firmware/broadcom/*
 
 BROADCOM PMB (POWER MANAGEMENT BUS) DRIVER
 M:     Rafał Miłecki <rafal@milecki.pl>
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-pm@vger.kernel.org
 S:     Maintained
@@ -4284,7 +4284,7 @@ F:        drivers/bcma/
 F:     include/linux/bcma/
 
 BROADCOM SPI DRIVER
-M:     Kamal Dasu <kdasu.kdev@gmail.com>
+M:     Kamal Dasu <kamal.dasu@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 S:     Maintained
 F:     Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
@@ -4318,7 +4318,7 @@ F:        drivers/memory/brcmstb_dpfe.c
 
 BROADCOM STB NAND FLASH DRIVER
 M:     Brian Norris <computersforpeace@gmail.com>
-M:     Kamal Dasu <kdasu.kdev@gmail.com>
+M:     Kamal Dasu <kamal.dasu@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-mtd@lists.infradead.org
 S:     Maintained
@@ -4328,7 +4328,7 @@ F:        include/linux/platform_data/brcmnand.h
 BROADCOM STB PCIE DRIVER
 M:     Jim Quinlan <jim2101024@gmail.com>
 M:     Nicolas Saenz Julienne <nsaenz@kernel.org>
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-pci@vger.kernel.org
 S:     Maintained
@@ -4336,7 +4336,7 @@ F:        Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
 F:     drivers/pci/controller/pcie-brcmstb.c
 
 BROADCOM SYSTEMPORT ETHERNET DRIVER
-M:     Florian Fainelli <f.fainelli@gmail.com>
+M:     Florian Fainelli <florian.fainelli@broadcom.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     netdev@vger.kernel.org
 S:     Supported
@@ -19032,7 +19032,7 @@ K:      \bsecure_computing
 K:     \bTIF_SECCOMP\b
 
 SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) Broadcom BRCMSTB DRIVER
-M:     Kamal Dasu <kdasu.kdev@gmail.com>
+M:     Kamal Dasu <kamal.dasu@broadcom.com>
 M:     Al Cooper <alcooperx@gmail.com>
 R:     Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
 L:     linux-mmc@vger.kernel.org
index aad6ba2..77c83ba 100644 (file)
@@ -695,7 +695,7 @@ static u32 sa1111_dma_mask[] = {
 /*
  * Configure the SA1111 shared memory controller.
  */
-void
+static void
 sa1111_configure_smc(struct sa1111 *sachip, int sdram, unsigned int drac,
                     unsigned int cas_latency)
 {
index c1ce6b2..7bc7018 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/etherdevice.h>
 #include <linux/davinci_emac.h>
 #include <linux/dma-mapping.h>
+#include <linux/platform_data/davinci-cpufreq.h>
 
 #include <asm/tlb.h>
 #include <asm/mach/map.h>
index b4fd0e9..8aa6d4f 100644 (file)
@@ -55,12 +55,6 @@ extern void davinci_common_init(const struct davinci_soc_info *soc_info);
 extern void davinci_init_ide(void);
 void davinci_init_late(void);
 
-#ifdef CONFIG_CPU_FREQ
-int davinci_cpufreq_init(void);
-#else
-static inline int davinci_cpufreq_init(void) { return 0; }
-#endif
-
 #ifdef CONFIG_SUSPEND
 int davinci_pm_init(void);
 #else
index dd4b164..a9efa7b 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/io.h>
 #include <asm/mach/time.h>
 #include "soc.h"
+#include "platform.h"
 
 /*************************************************************************
  * Timer handling for EP93xx
@@ -60,7 +61,7 @@ static u64 notrace ep93xx_read_sched_clock(void)
        return ret;
 }
 
-u64 ep93xx_clocksource_read(struct clocksource *c)
+static u64 ep93xx_clocksource_read(struct clocksource *c)
 {
        u64 ret;
 
index 4d3b40e..b3d5df5 100644 (file)
@@ -78,6 +78,11 @@ config CPU_EXYNOS4210
        default y
        depends on ARCH_EXYNOS4
 
+config SOC_EXYNOS4212
+       bool "Samsung Exynos4212"
+       default y
+       depends on ARCH_EXYNOS4
+
 config SOC_EXYNOS4412
        bool "Samsung Exynos4412"
        default y
index b5287ff..f4c0d33 100644 (file)
@@ -15,6 +15,7 @@
 #define EXYNOS3_SOC_MASK       0xFFFFF000
 
 #define EXYNOS4210_CPU_ID      0x43210000
+#define EXYNOS4212_CPU_ID      0x43220000
 #define EXYNOS4412_CPU_ID      0xE4412200
 #define EXYNOS4_CPU_MASK       0xFFFE0000
 
@@ -34,6 +35,7 @@ static inline int is_samsung_##name(void)     \
 
 IS_SAMSUNG_CPU(exynos3250, EXYNOS3250_SOC_ID, EXYNOS3_SOC_MASK)
 IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK)
+IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK)
 IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
 IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5410, EXYNOS5410_SOC_ID, EXYNOS5_SOC_MASK)
@@ -52,6 +54,12 @@ IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK)
 # define soc_is_exynos4210()   0
 #endif
 
+#if defined(CONFIG_SOC_EXYNOS4212)
+# define soc_is_exynos4212()   is_samsung_exynos4212()
+#else
+# define soc_is_exynos4212()   0
+#endif
+
 #if defined(CONFIG_SOC_EXYNOS4412)
 # define soc_is_exynos4412()   is_samsung_exynos4412()
 #else
index 966a099..2e80994 100644 (file)
@@ -180,6 +180,7 @@ static void __init exynos_dt_machine_init(void)
                exynos_cpuidle.dev.platform_data = &cpuidle_coupled_exynos_data;
 #endif
        if (of_machine_is_compatible("samsung,exynos4210") ||
+           of_machine_is_compatible("samsung,exynos4212") ||
            (of_machine_is_compatible("samsung,exynos4412") &&
             (of_machine_is_compatible("samsung,trats2") ||
                  of_machine_is_compatible("samsung,midas") ||
@@ -194,6 +195,7 @@ static char const *const exynos_dt_compat[] __initconst = {
        "samsung,exynos3250",
        "samsung,exynos4",
        "samsung,exynos4210",
+       "samsung,exynos4212",
        "samsung,exynos4412",
        "samsung,exynos5",
        "samsung,exynos5250",
index 2da5b60..a5e2267 100644 (file)
@@ -63,12 +63,18 @@ static int exynos_cpu_boot(int cpu)
         *
         * On Exynos5 devices the call is ignored by trustzone firmware.
         */
-       if (!soc_is_exynos4210() && !soc_is_exynos4412())
+       if (!soc_is_exynos4210() && !soc_is_exynos4212() &&
+           !soc_is_exynos4412())
                return 0;
 
        /*
         * The second parameter of SMC_CMD_CPU1BOOT command means CPU id.
+        * But, Exynos4212 has only one secondary CPU so second parameter
+        * isn't used for informing secure firmware about CPU id.
         */
+       if (soc_is_exynos4212())
+               cpu = 0;
+
        exynos_smc(SMC_CMD_CPU1BOOT, cpu, 0, 0);
        return 0;
 }
index 30f4e55..0019d21 100644 (file)
@@ -161,7 +161,7 @@ void exynos_enter_aftr(void)
 
        exynos_pm_central_suspend();
 
-       if (soc_is_exynos4412()) {
+       if (soc_is_exynos4212() || soc_is_exynos4412()) {
                /* Setting SEQ_OPTION register */
                pmu_raw_writel(S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0,
                               S5P_CENTRAL_SEQ_OPTION);
index 6d5d769..cac4e82 100644 (file)
@@ -231,6 +231,7 @@ static int __init exynos_pmu_irq_init(struct device_node *node,
 
 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(exynos5250_pmu_irq, "samsung,exynos5250-pmu");
 EXYNOS_PMU_IRQ(exynos5420_pmu_irq, "samsung,exynos5420-pmu");
@@ -641,6 +642,9 @@ static const struct of_device_id exynos_pmu_of_device_ids[] __initconst = {
                .compatible = "samsung,exynos4210-pmu",
                .data = &exynos4_pm_data,
        }, {
+               .compatible = "samsung,exynos4212-pmu",
+               .data = &exynos4_pm_data,
+       }, {
                .compatible = "samsung,exynos4412-pmu",
                .data = &exynos4_pm_data,
        }, {
index 561941b..3fdbdb8 100644 (file)
@@ -12,6 +12,8 @@
 
 #include <uapi/linux/psci.h>
 
+#include "core.h"
+
 #define HIGHBANK_SUSPEND_PARAM \
        ((0 << PSCI_0_2_POWER_STATE_ID_SHIFT) | \
         (1 << PSCI_0_2_POWER_STATE_AFFL_SHIFT) | \
index f253e50..0c574e8 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/kernel.h>
 #include <linux/suspend.h>
 #include <linux/io.h>
+#include "common.h"
 
 static int imx25_suspend_enter(suspend_state_t state)
 {
index 3e765c4..3b1203d 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/serial_8250.h>
 #include <linux/clk.h>
 #include <linux/io.h>
+#include <linux/soc/nxp/lpc32xx-misc.h>
 
 #include "lpc32xx.h"
 #include "common.h"
index 9761d84..6a5815a 100644 (file)
@@ -632,7 +632,7 @@ static int __init omap_pm_init(void)
 
        error = sysfs_create_file(power_kobj, &sleep_while_idle_attr.attr);
        if (error)
-               printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
+               pr_err("sysfs_create_file failed: %d\n", error);
 
        if (cpu_is_omap16xx()) {
                /* configure LOW_PWR pin */
index 3adceb9..ffa4a9b 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <asm/mach-types.h>
 
+#include "common.h"
 #include "serial.h"
 #include "mux.h"
 #include "pm.h"
index 26427d6..736a72a 100644 (file)
@@ -23,7 +23,7 @@
 
 #define OMAP1_SRAM_PA          0x20000000
 #define SRAM_BOOTLOADER_SZ     0x80
-#define ROUND_DOWN(value,boundary)     ((value) & (~((boundary)-1)))
+#define ROUND_DOWN(value, boundary)    ((value) & (~((boundary) - 1)))
 
 static void __iomem *omap_sram_base;
 static unsigned long omap_sram_start;
index 1610c56..10d2f07 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/of_platform.h>
 #include <linux/irqdomain.h>
 #include <linux/clocksource.h>
+#include <linux/clockchips.h>
 
 #include <asm/setup.h>
 #include <asm/mach/arch.h>
index 564bf80..8e3b506 100644 (file)
@@ -158,7 +158,7 @@ static struct gpiod_lookup_table nokia810_mmc_gpio_table = {
                                "vsd", 1, GPIO_ACTIVE_HIGH),
                /* Slot index 1, VIO power, GPIO 9 */
                GPIO_LOOKUP_IDX("gpio-0-15", 9,
-                               "vsd", 1, GPIO_ACTIVE_HIGH),
+                               "vio", 1, GPIO_ACTIVE_HIGH),
                { }
        },
 };
index 8d21e3a..6f0d612 100644 (file)
@@ -374,6 +374,7 @@ static void irq_restore_context(void)
 static void irq_save_secure_context(void)
 {
        u32 ret;
+
        ret = omap_secure_dispatcher(OMAP4_HAL_SAVEGIC_INDEX,
                                FLAG_START_CRITICAL,
                                0, 0, 0, 0, 0);
index cb33f03..5cbdf58 100644 (file)
@@ -1851,7 +1851,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_rfbi = {
        .fw = {
                .omap2 = {
                        .l4_fw_region  = OMAP3_L4_CORE_FW_DSS_RFBI_REGION,
-                       .l4_prot_group = OMAP3_L4_CORE_FW_DSS_PROT_GROUP ,
+                       .l4_prot_group = OMAP3_L4_CORE_FW_DSS_PROT_GROUP,
                        .flags  = OMAP_FIREWALL_L4,
                },
        },
@@ -2172,7 +2172,7 @@ static struct omap_hwmod am35xx_emac_hwmod = {
        /*
         * According to Mark Greer, the MPU will not return from WFI
         * when the EMAC signals an interrupt.
-        * http://www.spinics.net/lists/arm-kernel/msg174734.html
+        * https://lore.kernel.org/all/1336770778-23044-3-git-send-email-mgreer@animalcreek.com/
         */
        .flags          = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI),
 };
@@ -2346,13 +2346,12 @@ static struct omap_hwmod_ocp_if *omap36xx_sham_hwmod_ocp_ifs[] __initdata = {
        NULL
 };
 
-
 /*
  * Apparently the SHA/MD5 and AES accelerator IP blocks are
  * only present on some AM35xx chips, and no one knows which
- * ones.  See
- * http://www.spinics.net/lists/arm-kernel/msg215466.html So
- * if you need these IP blocks on an AM35xx, try uncommenting
+ * ones.
+ * See https://lore.kernel.org/all/20130108203853.GB1876@animalcreek.com/
+ * So if you need these IP blocks on an AM35xx, try uncommenting
  * the following lines.
  */
 static struct omap_hwmod_ocp_if *am35xx_sham_hwmod_ocp_ifs[] __initdata = {
index 21c6e79..a1d0011 100644 (file)
@@ -1,11 +1,11 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /*
 * This file configures the internal USB PHY in OMAP4430. Used
 * with TWL6030 transceiver and MUSB on OMAP4430.
 *
 * Copyright (C) 2010 Texas Instruments Incorporated - https://www.ti.com
 * Author: Hema HK <hemahk@ti.com>
 */
+ * This file configures the internal USB PHY in OMAP4430. Used
+ * with TWL6030 transceiver and MUSB on OMAP4430.
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - https://www.ti.com
+ * Author: Hema HK <hemahk@ti.com>
+ */
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
index 529d46c..5a275b4 100644 (file)
@@ -1,7 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * linux/arch/arm/mach-omap2/sdrc2xxx.c
- *
  * SDRAM timing related functions for OMAP2xxx
  *
  * Copyright (C) 2005, 2008 Texas Instruments Inc.
index 815d390..898b011 100644 (file)
@@ -45,7 +45,7 @@
 
 #define GP_DEVICE              0x300
 
-#define ROUND_DOWN(value,boundary)     ((value) & (~((boundary)-1)))
+#define ROUND_DOWN(value, boundary)    ((value) & (~((boundary) - 1)))
 
 static unsigned long omap_sram_start;
 static unsigned long omap_sram_size;
@@ -118,7 +118,7 @@ static void omap_sram_reset(void)
  */
 static int is_sram_locked(void)
 {
-       if (OMAP2_DEVICE_TYPE_GP == omap_type()) {
+       if (omap_type() == OMAP2_DEVICE_TYPE_GP) {
                /* RAMFW: R/W access to all initiators for all qualifier sets */
                if (cpu_is_omap242x()) {
                        writel_relaxed(0xFF, OMAP24XX_VA_REQINFOPERM0); /* all q-vects */
index d6dc518..5b5fb37 100644 (file)
@@ -26,5 +26,6 @@ void ti81xx_restart(enum reboot_mode mode, const char *cmd)
 {
        omap2_prm_set_mod_reg_bits(TI81XX_GLOBAL_RST_COLD, 0,
                                   TI81XX_PRM_DEVICE_RSTCTRL);
-       while (1);
+       while (1)
+               ;
 }
index e3736ff..be47492 100644 (file)
@@ -60,6 +60,9 @@ static void __init orion5x_dt_init(void)
        if (of_machine_is_compatible("maxtor,shared-storage-2"))
                mss2_init();
 
+       if (of_machine_is_compatible("lacie,d2-network"))
+               d2net_init();
+
        of_platform_default_populate(NULL, orion5x_auxdata_lookup, NULL);
 }
 
index f2e0577..8df70e2 100644 (file)
@@ -73,6 +73,12 @@ extern void mss2_init(void);
 static inline void mss2_init(void) {}
 #endif
 
+#ifdef CONFIG_MACH_D2NET_DT
+void d2net_init(void);
+#else
+static inline void d2net_init(void) {}
+#endif
+
 /*****************************************************************************
  * Helpers to access Orion registers
  ****************************************************************************/
index 7bb1499..c9c2c46 100644 (file)
@@ -27,7 +27,6 @@ extern void __init pxa25x_map_io(void);
 extern void __init pxa26x_init_irq(void);
 
 #define pxa27x_handle_irq ichp_handle_irq
-extern unsigned        pxa27x_get_clk_frequency_khz(int);
 extern void __init pxa27x_init_irq(void);
 extern void __init pxa27x_map_io(void);
 
@@ -52,18 +51,4 @@ extern void pxa2xx_clear_reset_status(unsigned int);
 static inline void pxa2xx_clear_reset_status(unsigned int mask) {}
 #endif
 
-/*
- * Once fully converted to the clock framework, all these functions should be
- * removed, and replaced with a clk_get(NULL, "core").
- */
-#ifdef CONFIG_PXA25x
-extern unsigned pxa25x_get_clk_frequency_khz(int);
-#else
-#define pxa25x_get_clk_frequency_khz(x)                (0)
-#endif
-
-#ifdef CONFIG_PXA27x
-#else
-#define pxa27x_get_clk_frequency_khz(x)                (0)
-#endif
 
index b556452..f5a3d89 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "pxa2xx-regs.h"
 #include "mfp-pxa2xx.h"
+#include "mfp-pxa27x.h"
 
 #include "generic.h"
 
index 032dc89..02712d2 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/irqchip.h>
 #include <linux/platform_data/mmp_dma.h>
 #include <linux/soc/pxa/cpu.h>
+#include <linux/soc/pxa/smemc.h>
 
 #include <asm/mach/map.h>
 #include <asm/suspend.h>
index c9b5642..d71491e 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/platform_data/i2c-pxa.h>
 #include <linux/platform_data/mmp_dma.h>
 #include <linux/soc/pxa/cpu.h>
+#include <linux/soc/pxa/smemc.h>
 
 #include <asm/mach/map.h>
 #include <asm/irq.h>
@@ -31,7 +32,9 @@
 #include "irqs.h"
 #include "pxa27x.h"
 #include "reset.h"
+#include <linux/platform_data/pxa2xx_udc.h>
 #include <linux/platform_data/usb-ohci-pxa27x.h>
+#include <linux/platform_data/asoc-pxa.h>
 #include "pm.h"
 #include "addr-map.h"
 #include "smemc.h"
index f0be905..2729354 100644 (file)
@@ -10,6 +10,7 @@
 #include "regs-ost.h"
 #include "reset.h"
 #include "smemc.h"
+#include "generic.h"
 
 static void do_hw_reset(void);
 
index 6689b67..1c021ce 100644 (file)
@@ -166,7 +166,7 @@ static bool spitz_charger_wakeup(void)
                gpio_get_value(SPITZ_GPIO_SYNC);
 }
 
-unsigned long spitzpm_read_devdata(int type)
+static unsigned long spitzpm_read_devdata(int type)
 {
        switch (type) {
        case SHARPSL_STATUS_ACIN:
index 01a7a8e..8f40af0 100644 (file)
@@ -69,11 +69,6 @@ config S3C64XX_SETUP_I2C1
        help
          Common setup code for i2c bus 1.
 
-config S3C64XX_SETUP_IDE
-       bool
-       help
-         Common setup code for S3C64XX IDE.
-
 config S3C64XX_SETUP_FB_24BPP
        bool
        help
@@ -110,7 +105,6 @@ config MACH_WLF_CRAGG_6410
        select S3C64XX_DEV_SPI0
        select S3C64XX_SETUP_FB_24BPP
        select S3C64XX_SETUP_I2C1
-       select S3C64XX_SETUP_IDE
        select S3C64XX_SETUP_KEYPAD
        select S3C64XX_SETUP_SDHCI
        select S3C64XX_SETUP_SPI
index 4edde13..8fce1e8 100644 (file)
@@ -418,7 +418,7 @@ static struct i2c_driver wlf_gf_module_driver = {
        .driver = {
                .name = "wlf-gf-module"
        },
-       .probe_new = wlf_gf_module_probe,
+       .probe = wlf_gf_module_probe,
        .id_table = wlf_gf_module_id,
 };
 
index d000c67..2b833aa 100644 (file)
@@ -710,7 +710,7 @@ static void __init assabet_map_io(void)
        sa1100_register_uart(2, 3);
 }
 
-void __init assabet_init_irq(void)
+static void __init assabet_init_irq(void)
 {
        u32 def_val;
 
index 9a7079f..0c21ef4 100644 (file)
@@ -33,6 +33,8 @@
 #include <asm/suspend.h>
 #include <asm/mach/time.h>
 
+#include "generic.h"
+
 extern int sa1100_finish_suspend(unsigned long);
 
 #define SAVE(x)                sleep_save[SLEEP_SAVE_##x] = x
index d6b8627..47243a8 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/spinlock_types.h>
 #include "spear.h"
 #include "misc_regs.h"
+#include "pl080.h"
 
 static spinlock_t lock = __SPIN_LOCK_UNLOCKED(x);
 
index 02ba68a..7ef03d0 100644 (file)
@@ -53,7 +53,7 @@
 
 static void __iomem *versatile_sys_base;
 
-unsigned int mmc_status(struct device *dev)
+static unsigned int mmc_status(struct device *dev)
 {
        struct amba_device *adev = container_of(dev, struct amba_device, dev);
        u32 mask;
index 93d5907..0a4da51 100644 (file)
  */
 #include <linux/clk-provider.h>
 #include <linux/clk.h>
+#include <linux/clk/pxa.h>
 #include <linux/clkdev.h>
 #include <linux/io.h>
 #include <linux/of.h>
 #include <linux/soc/pxa/smemc.h>
+#include <linux/soc/pxa/cpu.h>
 
 #include <dt-bindings/clock/pxa-clock.h>
 #include "clk-pxa.h"
index 116c6ac..2bea898 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/clkdev.h>
 #include <linux/of.h>
 #include <linux/soc/pxa/smemc.h>
+#include <linux/clk/pxa.h>
 
 #include <dt-bindings/clock/pxa-clock.h>
 #include "clk-pxa.h"
@@ -99,7 +100,7 @@ unsigned int pxa27x_get_clk_frequency_khz(int info)
        return (unsigned int)clks[0] / KHz;
 }
 
-bool pxa27x_is_ppll_disabled(void)
+static bool pxa27x_is_ppll_disabled(void)
 {
        unsigned long ccsr = readl(clk_regs + CCSR);
 
index 4c5487a..5cc08c7 100644 (file)
@@ -80,6 +80,7 @@ static int max1111_read(struct device *dev, int channel)
 #ifdef CONFIG_SHARPSL_PM
 static struct max1111_data *the_max1111;
 
+int max1111_read_channel(int channel);
 int max1111_read_channel(int channel)
 {
        if (!the_max1111 || !the_max1111->spi)
index 40eb27f..faea40d 100644 (file)
@@ -1117,20 +1117,13 @@ MODULE_DEVICE_TABLE(of, ads7846_dt_ids);
 static const struct ads7846_platform_data *ads7846_get_props(struct device *dev)
 {
        struct ads7846_platform_data *pdata;
-       const struct platform_device_id *pdev_id;
        u32 value;
 
-       pdev_id = device_get_match_data(dev);
-       if (!pdev_id) {
-               dev_err(dev, "Unknown device model\n");
-               return ERR_PTR(-EINVAL);
-       }
-
        pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
        if (!pdata)
                return ERR_PTR(-ENOMEM);
 
-       pdata->model = (unsigned long)pdev_id->driver_data;
+       pdata->model = (uintptr_t)device_get_match_data(dev);
 
        device_property_read_u16(dev, "ti,vref-delay-usecs",
                                 &pdata->vref_delay_usecs);
index 0ecdfd2..fdf9cd4 100644 (file)
@@ -2472,12 +2472,6 @@ static void pxa_udc_shutdown(struct platform_device *_dev)
                udc_disable(udc);
 }
 
-#ifdef CONFIG_PXA27x
-extern void pxa27x_clear_otgph(void);
-#else
-#define pxa27x_clear_otgph()   do {} while (0)
-#endif
-
 #ifdef CONFIG_PM
 /**
  * pxa_udc_suspend - Suspend udc device
index 0bc7e96..dcac293 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/of_platform.h>
 #include <linux/of_gpio.h>
 #include <linux/platform_data/usb-ohci-pxa27x.h>
+#include <linux/platform_data/pxa2xx_udc.h>
 #include <linux/platform_device.h>
 #include <linux/regulator/consumer.h>
 #include <linux/signal.h>
@@ -263,12 +264,6 @@ static inline void pxa27x_reset_hc(struct pxa27x_ohci *pxa_ohci)
        __raw_writel(uhchr & ~UHCHR_FHR, pxa_ohci->mmio_base + UHCHR);
 }
 
-#ifdef CONFIG_PXA27x
-extern void pxa27x_clear_otgph(void);
-#else
-#define pxa27x_clear_otgph()   do {} while (0)
-#endif
-
 static int pxa27x_start_hc(struct pxa27x_ohci *pxa_ohci, struct device *dev)
 {
        int retval;
index 327454c..7b5b9e2 100644 (file)
@@ -27,5 +27,6 @@ typedef struct {
 } pxa2xx_audio_ops_t;
 
 extern void pxa_set_ac97_info(pxa2xx_audio_ops_t *ops);
+extern void pxa27x_configure_ac97reset(int reset_gpio, bool to_gpio);
 
 #endif
index bc208c6..1ef91c3 100644 (file)
@@ -16,4 +16,10 @@ struct davinci_cpufreq_config {
        int (*init)(void);
 };
 
+#ifdef CONFIG_CPU_FREQ
+int davinci_cpufreq_init(void);
+#else
+static inline int davinci_cpufreq_init(void) { return 0; }
+#endif
+
 #endif /* _MACH_DAVINCI_CPUFREQ_H */
index ff9c35d..bc99cc6 100644 (file)
@@ -25,4 +25,10 @@ struct pxa2xx_udc_mach_info {
        int     gpio_pullup;                    /* high == pullup activated */
 };
 
+#ifdef CONFIG_PXA27x
+extern void pxa27x_clear_otgph(void);
+#else
+#define pxa27x_clear_otgph()   do {} while (0)
+#endif
+
 #endif
index f1ffea2..4feb1dd 100644 (file)
@@ -10,4 +10,20 @@ int pxa2xx_smemc_get_sdram_rows(void);
 unsigned int pxa3xx_smemc_get_memclkdiv(void);
 void __iomem *pxa_smemc_get_mdrefr(void);
 
+/*
+ * Once fully converted to the clock framework, all these functions should be
+ * removed, and replaced with a clk_get(NULL, "core").
+ */
+#ifdef CONFIG_PXA25x
+extern unsigned pxa25x_get_clk_frequency_khz(int);
+#else
+#define pxa25x_get_clk_frequency_khz(x)                (0)
+#endif
+
+#ifdef CONFIG_PXA27x
+extern unsigned pxa27x_get_clk_frequency_khz(int);
+#else
+#define pxa27x_get_clk_frequency_khz(x)                (0)
+#endif
+
 #endif
index 2ca33fd..a03a329 100644 (file)
@@ -33,8 +33,6 @@ static struct clk *ac97conf_clk;
 static int reset_gpio;
 static void __iomem *ac97_reg_base;
 
-extern void pxa27x_configure_ac97reset(int reset_gpio, bool to_gpio);
-
 /*
  * Beware PXA27x bugs:
  *