mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
mtd: maps: gpio-addr-flash: fix warnings and make more portable
As reported on lkml, building this module for HIMEM systems spews warnings about mismatch in pointer types. Further, we need to use ioremap() in order to properly access the flash memory on most systems rather than just doing it directly. Reported-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
5954c47c21
commit
ebd71e3a48
@ -208,10 +208,14 @@ static int __devinit gpio_flash_probe(struct platform_device *pdev)
|
||||
if (!state)
|
||||
return -ENOMEM;
|
||||
|
||||
/*
|
||||
* We cast start/end to known types in the boards file, so cast
|
||||
* away their pointer types here to the known types (gpios->xxx).
|
||||
*/
|
||||
state->gpio_count = gpios->end;
|
||||
state->gpio_addrs = (void *)gpios->start;
|
||||
state->gpio_addrs = (void *)(unsigned long)gpios->start;
|
||||
state->gpio_values = (void *)(state + 1);
|
||||
state->win_size = memory->end - memory->start + 1;
|
||||
state->win_size = resource_size(memory);
|
||||
memset(state->gpio_values, 0xff, arr_size);
|
||||
|
||||
state->map.name = DRIVER_NAME;
|
||||
@ -221,7 +225,7 @@ static int __devinit gpio_flash_probe(struct platform_device *pdev)
|
||||
state->map.copy_to = gf_copy_to;
|
||||
state->map.bankwidth = pdata->width;
|
||||
state->map.size = state->win_size * (1 << state->gpio_count);
|
||||
state->map.virt = (void __iomem *)memory->start;
|
||||
state->map.virt = ioremap_nocache(memory->start, state->map.size);
|
||||
state->map.phys = NO_XIP;
|
||||
state->map.map_priv_1 = (unsigned long)state;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user