Skip to content

Commit

Permalink
ARM: msm: use __iomem pointers for MMIO
Browse files Browse the repository at this point in the history
ARM is moving to stricter checks on readl/write functions,
so we need to use the correct types everywhere.

Acked-by: David Brown <davidb@codeaurora.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Sep 19, 2012
1 parent df38b24 commit a1b478e
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions arch/arm/mach-msm/smd.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,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,
Expand Down Expand Up @@ -796,22 +797,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)
Expand Down Expand Up @@ -857,7 +858,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;

Expand Down Expand Up @@ -943,10 +944,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;
}
}
Expand Down

0 comments on commit a1b478e

Please sign in to comment.