]> Pileus Git - ~andy/linux/commitdiff
Merge branch 'for-russell' of git://hansjkoch.de/git/linux-tcc into HEAD
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 5 Jan 2012 12:55:03 +0000 (12:55 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 5 Jan 2012 12:55:03 +0000 (12:55 +0000)
Conflicts:
arch/arm/plat-omap/include/plat/common.h

1  2 
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/devices.c
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/smartreflex.c
arch/arm/mach-s3c64xx/s3c6400.c
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/plat-omap/include/plat/common.h

index 1b374009b1a3efa2402bb4432d382de27ec5b22e,b0f15d234a12b4ad9dd1beb34da7df187e3f86b4..af7911963c0dc53429b33eb039aaec9d80152453
@@@ -35,7 -35,7 +35,7 @@@
  #include <plat/mux.h>
  #include <plat/usb.h>
  #include <plat/board.h>
 -#include <plat/common.h>
 +#include "common.h"
  #include <mach/camera.h>
  
  #include <mach/ams-delta-fiq.h>
@@@ -302,8 -302,6 +302,6 @@@ static void __init ams_delta_init(void
        omap_cfg_reg(J19_1610_CAM_D6);
        omap_cfg_reg(J18_1610_CAM_D7);
  
-       iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
        omap_board_config = ams_delta_config;
        omap_board_config_size = ARRAY_SIZE(ams_delta_config);
        omap_serial_init();
@@@ -373,10 -371,16 +371,16 @@@ static int __init ams_delta_modem_init(
  }
  arch_initcall(ams_delta_modem_init);
  
+ static void __init ams_delta_map_io(void)
+ {
+       omap15xx_map_io();
+       iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
+ }
  MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
        /* Maintainer: Jonathan McDowell <noodles@earth.li> */
        .atag_offset    = 0x100,
-       .map_io         = omap15xx_map_io,
+       .map_io         = ams_delta_map_io,
        .init_early     = omap1_init_early,
        .reserve        = omap_reserve,
        .init_irq       = omap1_init_irq,
index 9d47ca7f80fae989d098f3170f0ab77bbe9e0801,475cb2f50d872f326325991b76d0c5348aa5cfd2..1d76a63c098362742773ac89298c1a8cf0980e6f
@@@ -22,7 -22,7 +22,7 @@@
  #include <mach/hardware.h>
  #include <asm/mach/map.h>
  
 -#include <plat/common.h>
 +#include "common.h"
  #include <plat/tc.h>
  #include <plat/board.h>
  #include <plat/mux.h>
@@@ -30,6 -30,8 +30,8 @@@
  #include <plat/omap7xx.h>
  #include <plat/mcbsp.h>
  
+ #include "clock.h"
  /*-------------------------------------------------------------------------*/
  
  #if defined(CONFIG_RTC_DRV_OMAP) || defined(CONFIG_RTC_DRV_OMAP_MODULE)
@@@ -293,6 -295,7 +295,7 @@@ static int __init omap1_init_devices(vo
                return -ENODEV;
  
        omap_sram_init();
+       omap1_clk_late_init();
  
        /* please keep these calls, and their implementations above,
         * in alphabetical order so they're easier to sort through.
index bd18d691c6ad9e9558703feff60c02b82b237a73,c15c5c9c9085fa5e0a3eba9942ba57678b25db12..108fee6146fc45d4e615b342aa0f47a06ea213b9
@@@ -27,7 -27,7 +27,7 @@@
  
  #include <plat/mcspi.h>
  #include <plat/board.h>
 -#include <plat/common.h>
 +#include "common.h"
  #include <plat/dma.h>
  #include <plat/gpmc.h>
  #include <plat/onenand.h>
@@@ -193,7 -193,7 +193,7 @@@ static struct platform_device rx51_char
  static void __init rx51_charger_init(void)
  {
        WARN_ON(gpio_request_one(RX51_USB_TRANSCEIVER_RST_GPIO,
-               GPIOF_OUT_INIT_LOW, "isp1704_reset"));
+               GPIOF_OUT_INIT_HIGH, "isp1704_reset"));
  
        platform_device_register(&rx51_charger_device);
  }
index 00fcd2c311ea652e4117eae2ebb74eb462d9304f,207a2ff9a8c4e1473c6c497ab8c969f64e0ac0c7..529142aff76699a85082179eb3e455d13a97959b
  #include <linux/mutex.h>
  #include <linux/spinlock.h>
  
 -#include <plat/common.h>
 +#include "common.h"
  #include <plat/cpu.h>
  #include "clockdomain.h"
  #include "powerdomain.h"
@@@ -749,7 -749,7 +749,7 @@@ static int _count_mpu_irqs(struct omap_
                ohii = &oh->mpu_irqs[i++];
        } while (ohii->irq != -1);
  
-       return i;
+       return i-1;
  }
  
  /**
@@@ -772,7 -772,7 +772,7 @@@ static int _count_sdma_reqs(struct omap
                ohdi = &oh->sdma_reqs[i++];
        } while (ohdi->dma_req != -1);
  
-       return i;
+       return i-1;
  }
  
  /**
@@@ -795,7 -795,7 +795,7 @@@ static int _count_ocp_if_addr_spaces(st
                mem = &os->addr[i++];
        } while (mem->pa_start != mem->pa_end);
  
-       return i;
+       return i-1;
  }
  
  /**
diff --combined arch/arm/mach-omap2/pm.c
index e7bee5ca407ca94e3f163f0928e9212b43726bb5,00bff46ca48beb606557f8fba7a1974f571ebb91..1881fe9151495ba4fd542146fcee7c208565cb63
  
  #include <plat/omap-pm.h>
  #include <plat/omap_device.h>
 -#include <plat/common.h>
 +#include "common.h"
  
  #include "voltage.h"
  #include "powerdomain.h"
  #include "clockdomain.h"
  #include "pm.h"
+ #include "twl-common.h"
  
  static struct omap_device_pm_latency *pm_lats;
  
@@@ -226,11 -227,8 +227,8 @@@ postcore_initcall(omap2_common_pm_init)
  
  static int __init omap2_common_pm_late_init(void)
  {
-       /* Init the OMAP TWL parameters */
-       omap3_twl_init();
-       omap4_twl_init();
        /* Init the voltage layer */
+       omap_pmic_late_init();
        omap_voltage_late_init();
  
        /* Initialize the voltages */
index 919d827ed7079157a6399bd193c909f7a8583923,cf246b39bac745dc315576ecc161c35666643381..9dd93453e563eaa666b2640663d529dc9102c928
@@@ -26,7 -26,7 +26,7 @@@
  #include <linux/slab.h>
  #include <linux/pm_runtime.h>
  
 -#include <plat/common.h>
 +#include "common.h"
  
  #include "pm.h"
  #include "smartreflex.h"
@@@ -139,7 -139,7 +139,7 @@@ static irqreturn_t sr_interrupt(int irq
                sr_write_reg(sr_info, ERRCONFIG_V1, status);
        } else if (sr_info->ip_type == SR_TYPE_V2) {
                /* Read the status bits */
-               sr_read_reg(sr_info, IRQSTATUS);
+               status = sr_read_reg(sr_info, IRQSTATUS);
  
                /* Clear them by writing back */
                sr_write_reg(sr_info, IRQSTATUS, status);
index 33366581998f6b7e21df6fe1f15b2aeed7bd7246,51c00f2453c6c62ef9537143c0f31ad8ea416424..b1e1571f2f6b3405c49dc95867256f349a8372e7
@@@ -38,8 -38,7 +38,8 @@@
  #include <plat/sdhci.h>
  #include <plat/iic-core.h>
  #include <plat/onenand-core.h>
 -#include <plat/s3c6400.h>
 +
 +#include "common.h"
  
  void __init s3c6400_map_io(void)
  {
@@@ -61,7 -60,7 +61,7 @@@
  void __init s3c6400_init_clocks(int xtal)
  {
        s3c64xx_register_clocks(xtal, S3C6400_CLKDIV0_ARM_MASK);
 -      s3c6400_setup_clocks();
 +      s3c64xx_setup_clocks();
  }
  
  void __init s3c6400_init_irq(void)
@@@ -71,7 -70,7 +71,7 @@@
        s3c64xx_init_irq(~0 & ~(0xf << 5), ~0);
  }
  
- struct sysdev_class s3c6400_sysclass = {
+ static struct sysdev_class s3c6400_sysclass = {
        .name   = "s3c6400-core",
  };
  
index bc35e8261e5b9dd7590211b4905ddaf868cd6bbb,8662ef6e5681a40df5eaaf7eb4dce07127e1b594..194c3b0626b597fd26a853876d9ab8f344859fb6
@@@ -33,6 -33,7 +33,6 @@@
  #include <plat/regs-serial.h>
  #include <plat/regs-srom.h>
  #include <plat/gpio-cfg.h>
 -#include <plat/s5pv210.h>
  #include <plat/devs.h>
  #include <plat/cpu.h>
  #include <plat/adc.h>
@@@ -46,8 -47,6 +46,8 @@@
  #include <plat/backlight.h>
  #include <plat/regs-fb-v4.h>
  
 +#include "common.h"
 +
  /* Following are default values for UCON, ULCON and UFCON UART registers */
  #define SMDKV210_UCON_DEFAULT (S3C2410_UCON_TXILEVEL |        \
                                 S3C2410_UCON_RXILEVEL |        \
@@@ -274,11 -273,12 +274,12 @@@ static struct samsung_bl_gpio_info smdk
  
  static struct platform_pwm_backlight_data smdkv210_bl_data = {
        .pwm_id = 3,
+       .pwm_period_ns = 1000,
  };
  
  static void __init smdkv210_map_io(void)
  {
 -      s5p_init_io(NULL, 0, S5P_VA_CHIPID);
 +      s5pv210_init_io(NULL, 0);
        s3c24xx_init_clocks(24000000);
        s3c24xx_init_uarts(smdkv210_uartcfgs, ARRAY_SIZE(smdkv210_uartcfgs));
        s5p_set_timer_source(S5P_PWM2, S5P_PWM4);
index 346098fb92190320c2c21e21b276175362e6b1b2,3ff3e36580f267df6890712efef55e8ee22bdbc7..257f9770b2da2faa38d3de32550963f0124d611c
  #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
  #define __ARCH_ARM_MACH_OMAP_COMMON_H
  
 -#include <linux/delay.h>
 -
  #include <plat/i2c.h>
+ #include <plat/omap_hwmod.h>
  
 -struct sys_timer;
 -
 -extern void omap_map_common_io(void);
 -extern struct sys_timer omap1_timer;
 -extern struct sys_timer omap2_timer;
 -extern struct sys_timer omap3_timer;
 -extern struct sys_timer omap3_secure_timer;
 -extern struct sys_timer omap4_timer;
 -extern bool omap_32k_timer_init(void);
  extern int __init omap_init_clocksource_32k(void);
  extern unsigned long long notrace omap_32k_sched_clock(void);
  
  extern void omap_reserve(void);
 -
 -void omap2420_init_early(void);
 -void omap2430_init_early(void);
 -void omap3430_init_early(void);
 -void omap35xx_init_early(void);
 -void omap3630_init_early(void);
 -void omap3_init_early(void);  /* Do not use this one */
 -void am35xx_init_early(void);
 -void ti816x_init_early(void);
 -void omap4430_init_early(void);
 -
+ extern int omap_dss_reset(struct omap_hwmod *);
  void omap_sram_init(void);
  
 -/*
 - * IO bases for various OMAP processors
 - * Except the tap base, rest all the io bases
 - * listed are physical addresses.
 - */
 -struct omap_globals {
 -      u32             class;          /* OMAP class to detect */
 -      void __iomem    *tap;           /* Control module ID code */
 -      void __iomem    *sdrc;           /* SDRAM Controller */
 -      void __iomem    *sms;            /* SDRAM Memory Scheduler */
 -      void __iomem    *ctrl;           /* System Control Module */
 -      void __iomem    *ctrl_pad;      /* PAD Control Module */
 -      void __iomem    *prm;            /* Power and Reset Management */
 -      void __iomem    *cm;             /* Clock Management */
 -      void __iomem    *cm2;
 -};
 -
 -void omap2_set_globals_242x(void);
 -void omap2_set_globals_243x(void);
 -void omap2_set_globals_3xxx(void);
 -void omap2_set_globals_443x(void);
 -void omap2_set_globals_ti816x(void);
 -
 -/* These get called from omap2_set_globals_xxxx(), do not call these */
 -void omap2_set_globals_tap(struct omap_globals *);
 -void omap2_set_globals_sdrc(struct omap_globals *);
 -void omap2_set_globals_control(struct omap_globals *);
 -void omap2_set_globals_prcm(struct omap_globals *);
 -
 -void omap242x_map_io(void);
 -void omap243x_map_io(void);
 -void omap3_map_io(void);
 -void omap4_map_io(void);
 -
 -
 -/**
 - * omap_test_timeout - busy-loop, testing a condition
 - * @cond: condition to test until it evaluates to true
 - * @timeout: maximum number of microseconds in the timeout
 - * @index: loop index (integer)
 - *
 - * Loop waiting for @cond to become true or until at least @timeout
 - * microseconds have passed.  To use, define some integer @index in the
 - * calling code.  After running, if @index == @timeout, then the loop has
 - * timed out.
 - */
 -#define omap_test_timeout(cond, timeout, index)                       \
 -({                                                            \
 -      for (index = 0; index < timeout; index++) {             \
 -              if (cond)                                       \
 -                      break;                                  \
 -              udelay(1);                                      \
 -      }                                                       \
 -})
 -
 -extern struct device *omap2_get_mpuss_device(void);
 -extern struct device *omap2_get_iva_device(void);
 -extern struct device *omap2_get_l3_device(void);
 -extern struct device *omap4_get_dsp_device(void);
 -
  #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */