diff options
author | Andy Green <andy.green@linaro.org> | 2012-06-07 10:52:41 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-06-20 10:27:39 +0800 |
commit | c71cd05f24882275307b199815612d9288d93932 (patch) | |
tree | b87793227cfaf18da190816dee85b2c43c62e23e | |
parent | 69dfd3ef396ca2bbc140b2ee1824bbb29f5bcdfc (diff) |
uplevel remove duplicated prcm common
Signed-off-by: Andy Green <andy.green@linaro.org>
-rw-r--r-- | arch/arm/mach-omap2/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-omap4panda.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/common.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/dvfs.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap-sar.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap-wakeupgen.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap2plus-cpufreq.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap4-sar-layout.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_palmas.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_pmic.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/opp4xxx_data.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm44xx.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prcm-common.h | 60 | ||||
-rw-r--r-- | arch/arm/mach-omap2/prm44xx.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-omap2/twl-common.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-omap/i2c.c | 5 | ||||
-rw-r--r-- | drivers/gpio/gpio-omap.c | 3 | ||||
-rw-r--r-- | drivers/mfd/omap4460plus_temp_sensor.c | 1 | ||||
-rw-r--r-- | drivers/misc/emif.c | 8 |
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); + |