[PATCH 01/31] arch/arm/mach-lpc32xx: use kmemdup rather than duplicating its implementation
Arnd Bergmann
arnd at arndb.de
Wed Sep 16 03:06:36 PDT 2015
On Wednesday 16 September 2015 11:52:37 Andrzej Hajda wrote:
> > @@ -87,7 +87,8 @@ static int lpc32xx_pm_enter(suspend_state_t state)
> > void *iram_swap_area;
> >
> > /* Allocate some space for temporary IRAM storage */
> > - iram_swap_area = kmalloc(lpc32xx_sys_suspend_sz, GFP_KERNEL);
> > + iram_swap_area = kmemdup((void *)TEMP_IRAM_AREA,
> > + lpc32xx_sys_suspend_sz, GFP_KERNEL);
> > if (!iram_swap_area) {
> > printk(KERN_ERR
> > "PM Suspend: cannot allocate memory to save portion "
> > @@ -95,10 +96,6 @@ static int lpc32xx_pm_enter(suspend_state_t state)
> > return -ENOMEM;
> > }
> >
> > - /* Backup a small area of IRAM used for the suspend code */
> > - memcpy(iram_swap_area, (void *) TEMP_IRAM_AREA,
> > - lpc32xx_sys_suspend_sz);
>
Hmm, the patch looks correct in principle, but I think I'd rather leave the
original version with the comment in place, because the source is not
just random memory but instead some SRAM.
We might want to use memcpy_fromio()/memcpy_toio here and remove the cast for
both copies instead.
Arnd
More information about the linux-arm-kernel
mailing list