Merge branch 'next/fixes-non-critical' into HEAD
authorOlof Johansson <olof@lixom.net>
Mon, 1 Oct 2012 21:07:32 +0000 (14:07 -0700)
committerOlof Johansson <olof@lixom.net>
Mon, 1 Oct 2012 21:07:32 +0000 (14:07 -0700)
1  2 
arch/arm/Kconfig
arch/arm/mach-ux500/Kconfig
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu.c
drivers/mmc/host/omap_hsmmc.c
drivers/tty/serial/mpc52xx_uart.c
include/linux/mod_devicetable.h

diff --combined arch/arm/Kconfig
@@@ -273,7 -273,7 +273,7 @@@ config ARCH_INTEGRATO
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
        select COMMON_CLK
 -      select CLK_VERSATILE
 +      select COMMON_CLK_VERSATILE
        select HAVE_TCM
        select ICST
        select GENERIC_CLOCKEVENTS
  config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
 -      select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
 +      select COMMON_CLK_VERSATILE
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select PLAT_VERSATILE
 -      select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
@@@ -412,7 -413,7 +412,7 @@@ config ARCH_PRIMA
        select NO_IOPORT
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select GENERIC_IRQ_CHIP
        select MIGHT_HAVE_CACHE_L2X0
        select PINCTRL
@@@ -2312,7 -2313,7 +2312,7 @@@ menu "Power management options
  source "kernel/power/Kconfig"
  
  config ARCH_SUSPEND_POSSIBLE
-       depends on !ARCH_S5PC100 && !ARCH_TEGRA
+       depends on !ARCH_S5PC100
        depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
                CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK
        def_bool y
@@@ -11,7 -11,6 +11,7 @@@ config UX500_SOC_COMMO
        select CACHE_L2X0
        select PINCTRL
        select PINCTRL_NOMADIK
 +      select COMMON_CLK
  
  config UX500_SOC_DB8500
        bool
@@@ -29,6 -28,7 +29,7 @@@ config MACH_MOP50
        select I2C
        select I2C_NOMADIK
        select SOC_BUS
+       select REGULATOR_FIXED_VOLTAGE
        help
          Include support for the MOP500 development platform.
  
@@@ -23,6 -23,7 +23,7 @@@
  #include <linux/spi/spi.h>
  #include <linux/mfd/abx500/ab8500.h>
  #include <linux/regulator/ab8500.h>
+ #include <linux/regulator/fixed.h>
  #include <linux/mfd/tc3589x.h>
  #include <linux/mfd/tps6105x.h>
  #include <linux/mfd/abx500/ab8500-gpio.h>
@@@ -76,6 -77,23 +77,23 @@@ static struct platform_device snowball_
        },
  };
  
+ static struct fixed_voltage_config snowball_gpio_en_3v3_data = {
+        .supply_name            = "EN-3V3",
+        .gpio                   = SNOWBALL_EN_3V3_ETH_GPIO,
+        .microvolts             = 3300000,
+        .enable_high            = 1,
+        .init_data              = &gpio_en_3v3_regulator,
+        .startup_delay          = 5000, /* 1200us */
+ };
+ static struct platform_device snowball_gpio_en_3v3_regulator_dev = {
+        .name   = "reg-fixed-voltage",
+        .id     = 1,
+        .dev    = {
+                .platform_data  = &snowball_gpio_en_3v3_data,
+        },
+ };
  static struct ab8500_gpio_platform_data ab8500_gpio_pdata = {
        .gpio_base              = MOP500_AB8500_PIN_GPIO(1),
        .irq_base               = MOP500_AB8500_VIR_GPIO_IRQ_BASE,
@@@ -524,12 -542,33 +542,12 @@@ static struct stedma40_chan_cfg uart2_d
  };
  #endif
  
 -#define PRCC_K_SOFTRST_SET      0x18
 -#define PRCC_K_SOFTRST_CLEAR    0x1C
 -static void ux500_uart0_reset(void)
 -{
 -      void __iomem *prcc_rst_set, *prcc_rst_clr;
 -
 -      prcc_rst_set = (void __iomem *)IO_ADDRESS(U8500_CLKRST1_BASE +
 -                      PRCC_K_SOFTRST_SET);
 -      prcc_rst_clr = (void __iomem *)IO_ADDRESS(U8500_CLKRST1_BASE +
 -                      PRCC_K_SOFTRST_CLEAR);
 -
 -      /* Activate soft reset PRCC_K_SOFTRST_CLEAR */
 -      writel((readl(prcc_rst_clr) | 0x1), prcc_rst_clr);
 -      udelay(1);
 -
 -      /* Release soft reset PRCC_K_SOFTRST_SET */
 -      writel((readl(prcc_rst_set) | 0x1), prcc_rst_set);
 -      udelay(1);
 -}
 -
  static struct amba_pl011_data uart0_plat = {
  #ifdef CONFIG_STE_DMA40
        .dma_filter = stedma40_filter,
        .dma_rx_param = &uart0_dma_cfg_rx,
        .dma_tx_param = &uart0_dma_cfg_tx,
  #endif
 -      .reset = ux500_uart0_reset,
  };
  
  static struct amba_pl011_data uart1_plat = {
@@@ -565,6 -604,7 +583,7 @@@ static struct platform_device *snowball
        &snowball_led_dev,
        &snowball_key_dev,
        &snowball_sbnet_dev,
+       &snowball_gpio_en_3v3_regulator_dev,
  };
  
  static void __init mop500_init_machine(void)
@@@ -8,6 -8,7 +8,6 @@@
  
  #include <linux/platform_device.h>
  #include <linux/io.h>
 -#include <linux/clk.h>
  #include <linux/mfd/db8500-prcmu.h>
  #include <linux/clksrc-dbx500-prcmu.h>
  #include <linux/sys_soc.h>
@@@ -16,7 -17,6 +16,7 @@@
  #include <linux/stat.h>
  #include <linux/of.h>
  #include <linux/of_irq.h>
 +#include <linux/platform_data/clk-ux500.h>
  
  #include <asm/hardware/gic.h>
  #include <asm/mach/map.h>
@@@ -25,6 -25,8 +25,6 @@@
  #include <mach/setup.h>
  #include <mach/devices.h>
  
 -#include "clock.h"
 -
  void __iomem *_PRCMU_BASE;
  
  /*
@@@ -49,6 -51,8 +49,8 @@@ void __init ux500_init_irq(void
        void __iomem *dist_base;
        void __iomem *cpu_base;
  
+       gic_arch_extn.flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND;
        if (cpu_is_u8500_family()) {
                dist_base = __io_address(U8500_GIC_DIST_BASE);
                cpu_base = __io_address(U8500_GIC_CPU_BASE);
         */
        if (cpu_is_u8500_family())
                db8500_prcmu_early_init();
 -      clk_init();
 +
 +      if (cpu_is_u8500_family())
 +              u8500_clk_init();
 +      else if (cpu_is_u9540())
 +              u9540_clk_init();
 +      else if (cpu_is_u8540())
 +              u8540_clk_init();
  }
  
  void __init ux500_init_late(void)
  {
 -      clk_debugfs_init();
 -      clk_init_smp_twd_cpufreq();
  }
  
  static const char * __init ux500_get_machine(void)
@@@ -447,7 -447,7 +447,7 @@@ static void omap_hsmmc_stop_clock(struc
        OMAP_HSMMC_WRITE(host->base, SYSCTL,
                OMAP_HSMMC_READ(host->base, SYSCTL) & ~CEN);
        if ((OMAP_HSMMC_READ(host->base, SYSCTL) & CEN) != 0x0)
 -              dev_dbg(mmc_dev(host->mmc), "MMC Clock is not stoped\n");
 +              dev_dbg(mmc_dev(host->mmc), "MMC Clock is not stopped\n");
  }
  
  static void omap_hsmmc_enable_irq(struct omap_hsmmc_host *host,
@@@ -1782,7 -1782,7 +1782,7 @@@ static int __devinit omap_hsmmc_probe(s
        if (match) {
                pdata = of_get_hsmmc_pdata(&pdev->dev);
                if (match->data) {
-                       u16 *offsetp = match->data;
+                       const u16 *offsetp = match->data;
                        pdata->reg_offset = *offsetp;
                }
        }
@@@ -598,7 -598,7 +598,7 @@@ static struct psc_ops mpc512x_psc_ops 
  };
  #endif
  
- static struct psc_ops *psc_ops;
+ static const struct psc_ops *psc_ops;
  
  /* ======================================================================== */
  /* UART operations                                                          */
@@@ -775,15 -775,11 +775,15 @@@ mpc52xx_uart_set_termios(struct uart_po
        }
  
        if (new->c_cflag & PARENB) {
 +              if (new->c_cflag & CMSPAR)
 +                      mr1 |= MPC52xx_PSC_MODE_PARFORCE;
 +
 +              /* With CMSPAR, PARODD also means high parity (same as termios) */
                mr1 |= (new->c_cflag & PARODD) ?
                        MPC52xx_PSC_MODE_PARODD : MPC52xx_PSC_MODE_PAREVEN;
 -      } else
 +      } else {
                mr1 |= MPC52xx_PSC_MODE_PARNONE;
 -
 +      }
  
        mr2 = 0;
  
@@@ -232,7 -232,7 +232,7 @@@ struct of_device_i
        char    type[32];
        char    compatible[128];
  #ifdef __KERNEL__
-       void    *data;
+       const void *data;
  #else
        kernel_ulong_t data;
  #endif
@@@ -600,12 -600,4 +600,12 @@@ struct x86_cpu_id 
  #define X86_MODEL_ANY  0
  #define X86_FEATURE_ANY 0     /* Same as FPU, you can't test for that */
  
 +#define IPACK_ANY_FORMAT 0xff
 +#define IPACK_ANY_ID (~0)
 +struct ipack_device_id {
 +      __u8  format;                   /* Format version or IPACK_ANY_ID */
 +      __u32 vendor;                   /* Vendor ID or IPACK_ANY_ID */
 +      __u32 device;                   /* Device ID or IPACK_ANY_ID */
 +};
 +
  #endif /* LINUX_MOD_DEVICETABLE_H */