diff options
| author | Olof Johansson <olof@lixom.net> | 2012-10-04 20:17:25 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-10-04 20:17:25 -0700 | 
| commit | 54d69df5849ec2e660aa12ac75562618c10fb499 (patch) | |
| tree | adbfb8bcc7cc73b83bf2b784fa331911ba03573a /arch/arm/mach-msm/smd.c | |
| parent | ad932bb6b549722a561fb31ac2fa50dcbcb3e36b (diff) | |
| parent | 46f2007c1efadfa4071c17e75f140c47f09293de (diff) | |
| download | olio-linux-3.10-54d69df5849ec2e660aa12ac75562618c10fb499.tar.xz olio-linux-3.10-54d69df5849ec2e660aa12ac75562618c10fb499.zip  | |
Merge branch 'late/kirkwood' into late/soc
Merge in the late Kirkwood branch with the OMAP late branch for upstream
submission.
Final contents described in shared tag.
Fixup remove/change conflicts in arch/arm/mach-omap2/devices.c and
drivers/spi/spi-omap2-mcspi.c.
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/mach-msm/smd.c')
| -rw-r--r-- | arch/arm/mach-msm/smd.c | 26 | 
1 files changed, 10 insertions, 16 deletions
diff --git a/arch/arm/mach-msm/smd.c b/arch/arm/mach-msm/smd.c index 657be73297d..c5a2eddc6cd 100644 --- a/arch/arm/mach-msm/smd.c +++ b/arch/arm/mach-msm/smd.c @@ -30,7 +30,6 @@  #include <linux/delay.h>  #include <mach/msm_smd.h> -#include <mach/system.h>  #include "smd_private.h"  #include "proc_comm.h" @@ -39,8 +38,6 @@  #define CONFIG_QDSP6 1  #endif -void (*msm_hw_reset_hook)(void); -  #define MODULE_NAME "msm_smd"  enum { @@ -52,13 +49,14 @@ static int msm_smd_debug_mask;  struct shared_info {  	int ready; -	unsigned state; +	void __iomem *state;  };  static unsigned dummy_state[SMSM_STATE_COUNT];  static struct shared_info smd_info = { -	.state = (unsigned) &dummy_state, +	/* FIXME: not a real __iomem pointer */ +	.state = &dummy_state,  };  module_param_named(debug_mask, msm_smd_debug_mask, @@ -101,10 +99,6 @@ static void handle_modem_crash(void)  	pr_err("ARM9 has CRASHED\n");  	smd_diag(); -	/* hard reboot if possible */ -	if (msm_hw_reset_hook) -		msm_hw_reset_hook(); -  	/* in this case the modem or watchdog should reboot us */  	for (;;)  		; @@ -796,22 +790,22 @@ void *smem_alloc(unsigned id, unsigned size)  	return smem_find(id, size);  } -void *smem_item(unsigned id, unsigned *size) +void __iomem *smem_item(unsigned id, unsigned *size)  {  	struct smem_shared *shared = (void *) MSM_SHARED_RAM_BASE;  	struct smem_heap_entry *toc = shared->heap_toc;  	if (id >= SMEM_NUM_ITEMS) -		return 0; +		return NULL;  	if (toc[id].allocated) {  		*size = toc[id].size; -		return (void *) (MSM_SHARED_RAM_BASE + toc[id].offset); +		return (MSM_SHARED_RAM_BASE + toc[id].offset);  	} else {  		*size = 0;  	} -	return 0; +	return NULL;  }  void *smem_find(unsigned id, unsigned size_in) @@ -857,7 +851,7 @@ static irqreturn_t smsm_irq_handler(int irq, void *data)  int smsm_change_state(enum smsm_state_item item,  		      uint32_t clear_mask, uint32_t set_mask)  { -	unsigned long addr = smd_info.state + item * 4; +	void __iomem *addr = smd_info.state + item * 4;  	unsigned long flags;  	unsigned state; @@ -943,10 +937,10 @@ int smd_core_init(void)  	/* wait for essential items to be initialized */  	for (;;) {  		unsigned size; -		void *state; +		void __iomem *state;  		state = smem_item(SMEM_SMSM_SHARED_STATE, &size);  		if (size == SMSM_V1_SIZE || size == SMSM_V2_SIZE) { -			smd_info.state = (unsigned)state; +			smd_info.state = state;  			break;  		}  	}  |