summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2012-06-07 10:52:41 +0800
committerAndy Green <andy.green@linaro.org>2012-06-20 10:27:39 +0800
commitc71cd05f24882275307b199815612d9288d93932 (patch)
treeb87793227cfaf18da190816dee85b2c43c62e23e
parent69dfd3ef396ca2bbc140b2ee1824bbb29f5bcdfc (diff)
uplevel remove duplicated prcm common
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r--arch/arm/mach-omap2/Makefile3
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c3
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c18
-rw-r--r--arch/arm/mach-omap2/common.c6
-rw-r--r--arch/arm/mach-omap2/dvfs.c10
-rw-r--r--arch/arm/mach-omap2/omap-sar.c3
-rw-r--r--arch/arm/mach-omap2/omap-wakeupgen.c4
-rw-r--r--arch/arm/mach-omap2/omap2plus-cpufreq.c1
-rw-r--r--arch/arm/mach-omap2/omap4-sar-layout.h1
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c3
-rw-r--r--arch/arm/mach-omap2/omap_palmas.c3
-rw-r--r--arch/arm/mach-omap2/omap_pmic.c2
-rw-r--r--arch/arm/mach-omap2/opp4xxx_data.c1
-rw-r--r--arch/arm/mach-omap2/pm.c22
-rw-r--r--arch/arm/mach-omap2/pm.h1
-rw-r--r--arch/arm/mach-omap2/pm44xx.c3
-rw-r--r--arch/arm/mach-omap2/prcm-common.h60
-rw-r--r--arch/arm/mach-omap2/prm44xx.c18
-rw-r--r--arch/arm/mach-omap2/twl-common.c4
-rw-r--r--arch/arm/plat-omap/i2c.c5
-rw-r--r--drivers/gpio/gpio-omap.c3
-rw-r--r--drivers/mfd/omap4460plus_temp_sensor.c1
-rw-r--r--drivers/misc/emif.c8
23 files changed, 56 insertions, 127 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index c67c6cb4e3e..c5c40b1d168 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -109,7 +109,8 @@ obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \
cm44xx.o prcm_mpu44xx.o \
prminst44xx.o vc44xx_data.o \
vp44xx_data.o prm44xx.o dvfs.o \
- abb44xx_data.o scrm444xx.o
+ abb44xx_data.o scrm44xx.o \
+ omap-sar.o
obj-$(CONFIG_ARCH_OMAP5) += prcm.o cm2xxx_3xxx.o cminst44xx.o \
cm44xx.o prcm_mpu44xx.o \
prminst44xx.o vc54xx_data.o \
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 851b15ab489..aad48090231 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -74,6 +74,9 @@
#define TPS62361_GPIO 7
+static struct omap_board_config_kernel sdp4430_config[] __initdata = {
+};
+
static const int sdp4430_keymap[] = {
KEY(0, 0, KEY_E),
KEY(0, 1, KEY_R),
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index b1929d6cff4..079c6483c76 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -304,24 +304,6 @@ static struct twl6040_platform_data twl6040_data = {
/* Panda board uses the common PMIC configuration */
static struct twl4030_platform_data omap4_panda_twldata;
-static void __init omap_i2c_hwspinlock_init(int bus_id, int spinlock_id,
- struct omap_i2c_bus_board_data *pdata)
-{
- /* spinlock_id should be -1 for a generic lock request */
- if (spinlock_id < 0)
- pdata->handle = hwspin_lock_request();
- else
- pdata->handle = hwspin_lock_request_specific(spinlock_id);
-
- if (pdata->handle != NULL) {
- pdata->hwspin_lock_timeout = hwspin_lock_timeout;
- pdata->hwspin_unlock = hwspin_unlock;
- } else {
- pr_err("I2C hwspinlock request failed for bus %d\n", \
- bus_id);
- }
-}
-
static struct omap_i2c_bus_board_data __initdata panda_i2c_1_bus_pdata;
static struct omap_i2c_bus_board_data __initdata panda_i2c_2_bus_pdata;
static struct omap_i2c_bus_board_data __initdata panda_i2c_3_bus_pdata;
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c
index ce37ae58b61..8c5d39bc351 100644
--- a/arch/arm/mach-omap2/common.c
+++ b/arch/arm/mach-omap2/common.c
@@ -185,9 +185,9 @@ void __init omap4_map_io(void)
#if defined(CONFIG_ARCH_OMAP5)
static struct omap_globals omap5_globals = {
.class = OMAP543X_CLASS,
- .tap = OMAP2_L4_IO_ADDRESS(OMAP543x_SCM_BASE),
- .ctrl = OMAP2_L4_IO_ADDRESS(OMAP543x_SCM_BASE),
- .ctrl_pad = OMAP2_L4_IO_ADDRESS(OMAP543x_CTRL_BASE),
+ .tap = OMAP2_L4_IO_ADDRESS(OMAP543X_SCM_BASE),
+ .ctrl = OMAP2_L4_IO_ADDRESS(OMAP543X_SCM_BASE),
+ .ctrl_pad = OMAP2_L4_IO_ADDRESS(OMAP543X_CTRL_BASE),
.prm = OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE),
.cm = OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_AON_BASE),
.cm2 = OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE),
diff --git a/arch/arm/mach-omap2/dvfs.c b/arch/arm/mach-omap2/dvfs.c
index 68a89e8c0a2..6e60bc8d26a 100644
--- a/arch/arm/mach-omap2/dvfs.c
+++ b/arch/arm/mach-omap2/dvfs.c
@@ -11,6 +11,7 @@
* published by the Free Software Foundation.
*/
+#include <linux/module.h>
#include <linux/err.h>
#include <linux/spinlock.h>
#include <linux/plist.h>
@@ -691,17 +692,18 @@ int omap_device_scale(struct device *req_dev, struct device *target_dev,
struct opp *opp;
unsigned long volt, freq = rate;
struct omap_vdd_dvfs_info *tdvfs_info;
- struct platform_device *pdev;
+ struct platform_device *p_dev;
struct omap_device *od;
int ret = 0;
- pdev = container_of(target_dev, struct platform_device, dev);
- if (IS_ERR_OR_NULL(pdev)) {
+ p_dev = container_of(target_dev, struct platform_device, dev);
+ if (IS_ERR_OR_NULL(p_dev)) {
pr_err("%s: pdev is null!\n", __func__);
return -EINVAL;
}
- od = container_of(pdev, struct omap_device, pdev);
+ // !!! incompatible pointer type
+ od = container_of(p_dev, struct omap_device, pdev);
if (IS_ERR_OR_NULL(od)) {
pr_err("%s: od is null!\n", __func__);
return -EINVAL;
diff --git a/arch/arm/mach-omap2/omap-sar.c b/arch/arm/mach-omap2/omap-sar.c
index 98900deafd3..4f3d809a3ef 100644
--- a/arch/arm/mach-omap2/omap-sar.c
+++ b/arch/arm/mach-omap2/omap-sar.c
@@ -19,6 +19,9 @@
#include "iomap.h"
#include "pm.h"
+#include <mach/ctrl_module_wkup_44xx.h>
+
+#include "common.h"
#include "clockdomain.h"
#include "omap4-sar-layout.h"
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c
index 358488cf9e0..58a5ed4b65c 100644
--- a/arch/arm/mach-omap2/omap-wakeupgen.c
+++ b/arch/arm/mach-omap2/omap-wakeupgen.c
@@ -216,6 +216,9 @@ static void wakeupgen_irqmask_all(unsigned int cpu, unsigned int set)
}
#ifdef CONFIG_CPU_PM
+
+#if 0
+/* currently unused, avoid warnings */
/*
* Save GIC context in SAR RAM. Restore is done by ROM code
* GIC is lost only when MPU hits OSWR or OFF. It consists
@@ -294,6 +297,7 @@ static void gic_save_context(void)
val |= (SAR_BACKUP_STATUS_GIC_CPU0 | SAR_BACKUP_STATUS_GIC_CPU1);
__raw_writel(val, sar_base + SAR_BACKUP_STATUS_OFFSET);
}
+#endif
static inline void omap4_wakeupgen_save_context(void)
{
diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
index 3855110380d..af6ddd1e3da 100644
--- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
@@ -13,6 +13,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
+#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
diff --git a/arch/arm/mach-omap2/omap4-sar-layout.h b/arch/arm/mach-omap2/omap4-sar-layout.h
index cc7218271da..822773586ed 100644
--- a/arch/arm/mach-omap2/omap4-sar-layout.h
+++ b/arch/arm/mach-omap2/omap4-sar-layout.h
@@ -13,6 +13,7 @@
#include <mach/hardware.h>
#include <mach/ctrl_module_pad_core_44xx.h>
+#include "common.h"
#include "cm1_44xx.h"
#include "cm2_44xx.h"
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index cd54808c384..02e345408d9 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -127,6 +127,7 @@
*/
#undef DEBUG
+#include <linux/export.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/io.h>
@@ -2981,6 +2982,6 @@ struct device *omap_hwmod_name_get_dev(const char *oh_name)
return ERR_PTR(oh ? PTR_ERR(oh) : -ENODEV);
}
- return &oh->od->pdev.dev;
+ return &oh->od->pdev->dev;
}
EXPORT_SYMBOL(omap_hwmod_name_get_dev);
diff --git a/arch/arm/mach-omap2/omap_palmas.c b/arch/arm/mach-omap2/omap_palmas.c
index dac846476ef..565c7e38fc6 100644
--- a/arch/arm/mach-omap2/omap_palmas.c
+++ b/arch/arm/mach-omap2/omap_palmas.c
@@ -137,17 +137,14 @@ static struct omap_voltdm_pmic omap5_core_pmic = {
static __initdata struct omap_pmic_map omap_twl_map[] = {
{
.name = "mpu",
- .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP5430),
.pmic_data = &omap5_mpu_pmic,
},
{
.name = "core",
- .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP5430),
.pmic_data = &omap5_core_pmic,
},
{
.name = "mm",
- .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP5430),
.pmic_data = &omap5_mm_pmic,
},
diff --git a/arch/arm/mach-omap2/omap_pmic.c b/arch/arm/mach-omap2/omap_pmic.c
index 0d2b2ae9f8f..70b42fec7dd 100644
--- a/arch/arm/mach-omap2/omap_pmic.c
+++ b/arch/arm/mach-omap2/omap_pmic.c
@@ -44,8 +44,6 @@ int __init omap_pmic_register_data(struct omap_pmic_map *omap_pmic_maps)
map = omap_pmic_maps;
while(map->name) {
- if (!omap_chip_is(map->omap_chip))
- goto next;
voltdm = voltdm_lookup(map->name);
if (IS_ERR_OR_NULL(voltdm)) {
diff --git a/arch/arm/mach-omap2/opp4xxx_data.c b/arch/arm/mach-omap2/opp4xxx_data.c
index f8bc4224419..392059a7db4 100644
--- a/arch/arm/mach-omap2/opp4xxx_data.c
+++ b/arch/arm/mach-omap2/opp4xxx_data.c
@@ -372,4 +372,3 @@ int __init omap4_opp_init(void)
return r;
}
device_initcall(omap4_opp_init);
-#endif
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
index e303a91c5ab..2cc2c4d83c0 100644
--- a/arch/arm/mach-omap2/pm.c
+++ b/arch/arm/mach-omap2/pm.c
@@ -445,24 +445,25 @@ static int omap2_dev_pm_qos_handler(struct notifier_block *nb,
{
struct omap_device *od;
struct omap_hwmod *oh;
- struct platform_device *pdev;
+ struct platform_device *p_dev;
struct dev_pm_qos_request *dev_pm_qos_req = req;
pr_debug("OMAP PM CONSTRAINTS: req@0x%p, new_value=%lu\n",
req, new_value);
/* Look for the platform device for the constraint target device */
- pdev = to_platform_device(dev_pm_qos_req->dev);
+ p_dev = to_platform_device(dev_pm_qos_req->dev);
/* Try to catch non platform devices */
- if (pdev->name == NULL) {
+ if (p_dev->name == NULL) {
pr_err("%s: Error: platform device for device %s not valid\n",
__func__, dev_name(dev_pm_qos_req->dev));
return -EINVAL;
}
+ // !!! says incompatible pointer type?
/* Find the associated omap_device for dev */
- od = container_of(pdev, struct omap_device, pdev);
+ od = container_of(p_dev, struct omap_device, pdev);
/* Find the primary omap_hwmod for dev */
oh = od->hwmods[0];
@@ -552,10 +553,10 @@ static void __init omap5_init_voltages(void)
if (!cpu_is_omap54xx())
return;
- omap2_set_init_voltage("mpu", "virt_dpll_mpu_ck", mpu_dev);
- omap2_set_init_voltage("core", "virt_l3_ck", l3_dev);
+ omap2_set_init_voltage("mpu", "virt_dpll_mpu_ck", "mpu");
+ omap2_set_init_voltage("core", "virt_l3_ck", "l3_main_1");
#ifndef CONFIG_OMAP_PM_STANDALONE
- omap2_set_init_voltage("mm", "dpll_iva_h12x2_ck", iva_dev);
+ omap2_set_init_voltage("mm", "dpll_iva_h12x2_ck", "iva");
#endif
}
@@ -569,9 +570,14 @@ static int __init omap2_common_pm_init(void)
#endif
- if (!of_have_populated_dt())
+ if (!of_have_populated_dt())
omap2_init_processor_devices();
+ mpu_dev = omap_device_get_by_hwmod_name("mpu");
+ iva_dev = omap_device_get_by_hwmod_name("iva");
+ l3_dev = omap_device_get_by_hwmod_name("l3_main_1");
+ dsp_dev = omap_device_get_by_hwmod_name("dsp");
+
omap_pm_if_init();
if (cpu_is_omap34xx() && omap3_has_io_chain_ctrl())
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 59095b45596..11426a3fee8 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -192,7 +192,6 @@ static inline void omap_enable_smartreflex_on_init(void) {}
struct omap_pmic_map {
char *name;
struct omap_voltdm_pmic *pmic_data;
- struct omap_chip_id omap_chip;
int (*special_action)(struct voltagedomain *);
};
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index a564fc4afd2..6a5eca32c3c 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -614,9 +614,12 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id)
static void __init prcm_setup_regs(void)
{
+#if defined(CONFIG_MACH_OMAP_5430ZEBU) || defined(CONFIG_OMAP_ALLOW_OSWR)
struct omap_hwmod *oh;
+#endif
#ifdef CONFIG_MACH_OMAP_5430ZEBU
+ struct omap_hwmod *oh;
/* Idle gpmc */
oh = omap_hwmod_lookup("gpmc");
omap_hwmod_idle(oh);
diff --git a/arch/arm/mach-omap2/prcm-common.h b/arch/arm/mach-omap2/prcm-common.h
index 5efd018ed5a..d27805eea0f 100644
--- a/arch/arm/mach-omap2/prcm-common.h
+++ b/arch/arm/mach-omap2/prcm-common.h
@@ -487,64 +487,6 @@ extern void omap_prcm_irq_complete(void);
extern void __iomem *prcm_mpu_base;
-/**
- * struct omap_prcm_irq - describes a PRCM interrupt bit
- * @name: a short name describing the interrupt type, e.g. "wkup" or "io"
- * @offset: the bit shift of the interrupt inside the IRQ{ENABLE,STATUS} regs
- * @priority: should this interrupt be handled before @priority=false IRQs?
- *
- * Describes interrupt bits inside the PRM_IRQ{ENABLE,STATUS}_MPU* registers.
- * On systems with multiple PRM MPU IRQ registers, the bitfields read from
- * the registers are concatenated, so @offset could be > 31 on these systems -
- * see omap_prm_irq_handler() for more details. I/O ring interrupts should
- * have @priority set to true.
- */
-struct omap_prcm_irq {
- const char *name;
- unsigned int offset;
- bool priority;
-};
-
-/**
- * struct omap_prcm_irq_setup - PRCM interrupt controller details
- * @ack: PRM register offset for the first PRM_IRQSTATUS_MPU register
- * @mask: PRM register offset for the first PRM_IRQENABLE_MPU register
- * @nr_regs: number of PRM_IRQ{STATUS,ENABLE}_MPU* registers
- * @nr_irqs: number of entries in the @irqs array
- * @irqs: ptr to an array of PRCM interrupt bits (see @nr_irqs)
- * @irq: MPU IRQ asserted when a PRCM interrupt arrives
- * @read_pending_irqs: fn ptr to determine if any PRCM IRQs are pending
- * @ocp_barrier: fn ptr to force buffered PRM writes to complete
- * @save_and_clear_irqen: fn ptr to save and clear IRQENABLE regs
- * @restore_irqen: fn ptr to save and clear IRQENABLE regs
- * @saved_mask: IRQENABLE regs are saved here during suspend
- * @priority_mask: 1 bit per IRQ, set to 1 if omap_prcm_irq.priority = true
- * @base_irq: base dynamic IRQ number, returned from irq_alloc_descs() in init
- * @suspended: set to true after Linux suspend code has called our ->prepare()
- * @suspend_save_flag: set to true after IRQ masks have been saved and disabled
- *
- * @saved_mask, @priority_mask, @base_irq, @suspended, and
- * @suspend_save_flag are populated dynamically, and are not to be
- * specified in static initializers.
- */
-struct omap_prcm_irq_setup {
- u16 ack;
- u16 mask;
- u8 nr_regs;
- u8 nr_irqs;
- const struct omap_prcm_irq *irqs;
- int irq;
- void (*read_pending_irqs)(unsigned long *events);
- void (*ocp_barrier)(void);
- void (*save_and_clear_irqen)(u32 *saved_mask);
- void (*restore_irqen)(u32 *saved_mask);
- u32 *saved_mask;
- u32 *priority_mask;
- int base_irq;
- bool suspended;
- bool suspend_save_flag;
-};
-
/* OMAP_PRCM_IRQ: convenience macro for creating struct omap_prcm_irq records */
#define OMAP_PRCM_IRQ(_name, _offset, _priority) { \
.name = _name, \
@@ -553,8 +495,6 @@ struct omap_prcm_irq_setup {
}
extern void omap_prcm_irq_cleanup(void);
-extern int omap_prcm_register_chain_handler(
- struct omap_prcm_irq_setup *irq_setup);
extern int omap_prcm_event_to_irq(const char *event);
extern void omap_prcm_irq_prepare(void);
extern void omap_prcm_irq_complete(void);
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
index 8e92ac8f8a3..4b28dfabd57 100644
--- a/arch/arm/mach-omap2/prm44xx.c
+++ b/arch/arm/mach-omap2/prm44xx.c
@@ -48,24 +48,6 @@ static struct omap_prcm_irq_setup omap4_prcm_irq_setup = {
.restore_irqen = &omap44xx_prm_restore_irqen,
};
-static const struct omap_prcm_irq omap4_prcm_irqs[] = {
- OMAP_PRCM_IRQ("wkup", 0, 0),
- OMAP_PRCM_IRQ("io", 9, 1),
-};
-
-static struct omap_prcm_irq_setup omap4_prcm_irq_setup = {
- .ack = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- .mask = OMAP4_PRM_IRQENABLE_MPU_OFFSET,
- .nr_regs = 2,
- .irqs = omap4_prcm_irqs,
- .nr_irqs = ARRAY_SIZE(omap4_prcm_irqs),
- .irq = OMAP44XX_IRQ_PRCM,
- .read_pending_irqs = &omap44xx_prm_read_pending_irqs,
- .ocp_barrier = &omap44xx_prm_ocp_barrier,
- .save_and_clear_irqen = &omap44xx_prm_save_and_clear_irqen,
- .restore_irqen = &omap44xx_prm_restore_irqen,
-};
-
/* PRM low-level functions */
/* Read a register in a CM/PRM instance in the PRM module */
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 7a7b89304c4..10c6f8f6543 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -79,11 +79,13 @@ void __init omap4_pmic_init(const char *pmic_type,
void __init omap_pmic_late_init(void)
{
- /* Init the OMAP TWL parameters (if PMIC has been registerd) */
+#if 0
+ /* Init the OMAP TWL parameters (if PMIC has been registered) */
if (pmic_i2c_board_info.irq)
omap3_twl_init();
if (omap4_i2c1_board_info[0].irq)
omap4_twl_init();
+#endif
}
#if defined(CONFIG_ARCH_OMAP3)
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 3a084d74717..0928b41885f 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -138,7 +138,8 @@ static inline int omap1_i2c_add_bus(int bus_id)
*/
static void omap_pm_set_max_mpu_wakeup_lat_compat(struct device *dev, long t)
{
- omap_pm_set_max_mpu_wakeup_lat(dev, t);
+// !!! this has changed to pm qos but unsure how
+// omap_pm_set_max_mpu_wakeup_lat(dev, t);
}
static struct omap_device_pm_latency omap_i2c_latency[] = {
@@ -193,7 +194,7 @@ static inline int omap2_i2c_add_bus(int bus_id)
pdata->device_reset = omap_device_reset;
pdev = omap_device_build(name, bus_id, oh, pdata,
sizeof(struct omap_i2c_bus_platform_data),
- NULL, 0, 0);
+ omap_i2c_latency, ARRAY_SIZE(omap_i2c_latency), 0);
WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name);
return PTR_RET(pdev);
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index ca317394cac..3abcc6c87c4 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1090,7 +1090,8 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
bank->is_mpuio = pdata->is_mpuio;
bank->non_wakeup_gpios = pdata->non_wakeup_gpios;
bank->loses_context = pdata->loses_context;
- bank->get_context_loss_count = pdata->get_context_loss_count;
+ /* there's confusion about int or U32 return at the moment */
+ bank->get_context_loss_count = (void *)pdata->get_context_loss_count;
bank->regs = pdata->regs;
#ifdef CONFIG_OF_GPIO
bank->chip.of_node = of_node_get(node);
diff --git a/drivers/mfd/omap4460plus_temp_sensor.c b/drivers/mfd/omap4460plus_temp_sensor.c
index a780bcd9db0..dbda1ab5a65 100644
--- a/drivers/mfd/omap4460plus_temp_sensor.c
+++ b/drivers/mfd/omap4460plus_temp_sensor.c
@@ -21,6 +21,7 @@
*
*/
+#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/clk.h>
#include <linux/io.h>
diff --git a/drivers/misc/emif.c b/drivers/misc/emif.c
index 17c40b484c4..c3c6c79c477 100644
--- a/drivers/misc/emif.c
+++ b/drivers/misc/emif.c
@@ -27,7 +27,7 @@
#include <linux/notifier.h>
#include "emif_regs.h"
#include <plat/common.h>
-#include "common.h"
+#include "../../arch/arm/mach-omap2/common.h"
#include "../../arch/arm/mach-omap2/voltage.h"
/** struct emif_data - Per device static data for driver's use
@@ -982,7 +982,7 @@ static int __init setup_interrupts(struct emif_data *emif)
}
-static void __init emif_onetime_settings(struct emif_data *emif)
+static void __devinit emif_onetime_settings(struct emif_data *emif)
{
u32 pwr_mgmt_ctrl, zq, temp_alert_cfg;
void __iomem *base = emif->base;
@@ -1046,7 +1046,7 @@ static void __init emif_onetime_settings(struct emif_data *emif)
writel(EMIF_EXT_PHY_CTRL_24_VAL, base + EMIF_EXT_PHY_CTRL_24_SHDW);
}
-static void __devexit cleanup_emif(struct emif_data *emif)
+static void cleanup_emif(struct emif_data *emif)
{
if (emif) {
if (emif->plat_data) {
@@ -1816,3 +1816,5 @@ static int __init omap_emif_register(void)
{
return platform_driver_register(&omap_emif_driver);
}
+arch_initcall(omap_emif_register);
+